ltsecurityinc安防产品在线商城代码

This commit is contained in:
2026-09-14 17:47:10 +08:00
parent 57d8444c15
commit 6a3c9c5bd8
14539 changed files with 1775310 additions and 0 deletions
@@ -0,0 +1,123 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\TestFramework\HTTP;
use Magento\Framework\HTTP\AsyncClient\GuzzleAsyncClient;
use Magento\Framework\HTTP\AsyncClient\HttpResponseDeferredInterface;
use Magento\Framework\HTTP\AsyncClient\Request;
use Magento\Framework\HTTP\AsyncClient\Response;
use Magento\Framework\HTTP\AsyncClientInterface;
/**
* Mock for the asynchronous client.
*/
class AsyncClientInterfaceMock implements AsyncClientInterface
{
/**
* @var GuzzleAsyncClient
*/
private $client;
/**
* @var Response[]
*/
private $mockResponses = [];
/**
* @var Request|null
*/
private $lastRequest;
/**
* @var Request[]
*/
private $requests = [];
/**
* @var HttpResponseDeferredInterface
*/
private $mockDeferredResponse;
/**
* AsyncClientInterfaceMock constructor.
* @param GuzzleAsyncClient $client
*/
public function __construct(GuzzleAsyncClient $client)
{
$this->client = $client;
}
/**
* Next responses will be as given.
*
* @param Response[] $responses
* @return void
*/
public function nextResponses(array $responses): void
{
$this->mockResponses = $responses;
}
/**
* Last request made.
*
* @return Request|null
*/
public function getLastRequest(): ?Request
{
return $this->lastRequest;
}
/**
* Returns all requests made.
*
* @return Request[]|null
*/
public function getRequests(): array
{
return $this->requests;
}
/**
* Clear requests.
*
* @return void
*/
public function clearRequests()
{
$this->requests = [];
$this->lastRequest = null;
}
/**
* Next responses will be as given.
*
* @param HttpResponseDeferredInterface|null $mockDeferredResponse
* @return self
*/
public function setDeferredResponseMock(?HttpResponseDeferredInterface $mockDeferredResponse): self
{
$this->mockDeferredResponse = $mockDeferredResponse;
return $this;
}
/**
* @inheritDoc
*/
public function request(Request $request): HttpResponseDeferredInterface
{
$this->lastRequest = $request;
$this->requests[] = $request;
if ($mockResponse = $this->mockDeferredResponse ?? array_shift($this->mockResponses)) {
return $this->mockDeferredResponse ?? new MockDeferredResponse($mockResponse);
}
return $this->client->request($request);
}
}
@@ -0,0 +1,64 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\TestFramework\HTTP;
use Magento\Framework\Async\CancelingDeferredException;
use Magento\Framework\HTTP\AsyncClient\HttpResponseDeferredInterface;
use Magento\Framework\HTTP\AsyncClient\Response;
/**
* Mock for HTTP responses.
*/
class MockDeferredResponse implements HttpResponseDeferredInterface
{
/**
* @var Response
*/
private $response;
/**
* MockDeferredResponse constructor.
* @param Response $response
*/
public function __construct(Response $response)
{
$this->response = $response;
}
/**
* @inheritDoc
*/
public function cancel(bool $force = false): void
{
throw new CancelingDeferredException('Cannot be canceled');
}
/**
* @inheritDoc
*/
public function isCancelled(): bool
{
return false;
}
/**
* @inheritDoc
*/
public function isDone(): bool
{
return true;
}
/**
* @inheritDoc
*/
public function get(): Response
{
return $this->response;
}
}