update pock to the latest version (#120)
This commit is contained in:
parent
9c6029fa0d
commit
bce2bfaf4c
@ -49,7 +49,7 @@
|
|||||||
"nyholm/psr7": "^1.3",
|
"nyholm/psr7": "^1.3",
|
||||||
"league/event": "^3.0",
|
"league/event": "^3.0",
|
||||||
"league/container": "^3.3",
|
"league/container": "^3.3",
|
||||||
"neur0toxine/pock": "^0.7"
|
"neur0toxine/pock": "^0.10"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-curl": "Most HTTP clients need ext-curl to work properly.",
|
"ext-curl": "Most HTTP clients need ext-curl to work properly.",
|
||||||
|
@ -11,8 +11,12 @@ namespace RetailCrm\Tests\Factory;
|
|||||||
|
|
||||||
use Doctrine\Common\Annotations\PsrCachedReader;
|
use Doctrine\Common\Annotations\PsrCachedReader;
|
||||||
use Http\Discovery\Psr18ClientDiscovery;
|
use Http\Discovery\Psr18ClientDiscovery;
|
||||||
|
use League\Container\Container;
|
||||||
|
use League\Event\EventDispatcher;
|
||||||
use Nyholm\Psr7\Factory\Psr17Factory;
|
use Nyholm\Psr7\Factory\Psr17Factory;
|
||||||
use Pock\PockBuilder;
|
use RetailCrm\TestUtils\PockBuilder;
|
||||||
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
|
use Psr\EventDispatcher\EventDispatcherInterface;
|
||||||
use Psr\Http\Message\RequestFactoryInterface;
|
use Psr\Http\Message\RequestFactoryInterface;
|
||||||
use Psr\Http\Message\StreamFactoryInterface;
|
use Psr\Http\Message\StreamFactoryInterface;
|
||||||
use Psr\Http\Message\UriFactoryInterface;
|
use Psr\Http\Message\UriFactoryInterface;
|
||||||
@ -21,20 +25,15 @@ use RetailCrm\Api\Enum\CacheDirectories;
|
|||||||
use RetailCrm\Api\Factory\ClientFactory;
|
use RetailCrm\Api\Factory\ClientFactory;
|
||||||
use RetailCrm\Api\Handler\Request\CallbackRequestHandler;
|
use RetailCrm\Api\Handler\Request\CallbackRequestHandler;
|
||||||
use RetailCrm\Api\Handler\Response\CallbackResponseHandler;
|
use RetailCrm\Api\Handler\Response\CallbackResponseHandler;
|
||||||
|
use RetailCrm\Api\Interfaces\ClientFactoryInterface;
|
||||||
use RetailCrm\Api\Model\RequestData;
|
use RetailCrm\Api\Model\RequestData;
|
||||||
use RetailCrm\Api\Model\Response\Api\ApiVersionsResponse;
|
|
||||||
use RetailCrm\Api\Model\ResponseData;
|
use RetailCrm\Api\Model\ResponseData;
|
||||||
|
use RetailCrm\TestUtils\ClientFactoryDependentService;
|
||||||
use RetailCrm\TestUtils\ReflectionUtils;
|
use RetailCrm\TestUtils\ReflectionUtils;
|
||||||
use RetailCrm\TestUtils\TestCase\ClientTestCase;
|
use RetailCrm\TestUtils\TestCase\ClientTestCase;
|
||||||
use RetailCrm\TestUtils\TestConfig;
|
use RetailCrm\TestUtils\TestConfig;
|
||||||
use RetailCrm\TestUtils\ClientFactoryDependentService;
|
|
||||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||||
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
|
||||||
use RetailCrm\Api\Interfaces\ClientFactoryInterface;
|
|
||||||
use League\Container\Container;
|
|
||||||
use League\Event\EventDispatcher;
|
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
|
||||||
use Psr\EventDispatcher\EventDispatcherInterface;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class ClientFactoryTest
|
* Class ClientFactoryTest
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
namespace RetailCrm\Tests\ResourceGroup;
|
namespace RetailCrm\Tests\ResourceGroup;
|
||||||
|
|
||||||
use League\Event\EventDispatcher;
|
use League\Event\EventDispatcher;
|
||||||
use Psr\Http\Client\ClientInterface;
|
|
||||||
use Psr\Http\Message\RequestInterface;
|
use Psr\Http\Message\RequestInterface;
|
||||||
use RetailCrm\Api\Enum\RequestMethod;
|
use RetailCrm\Api\Enum\RequestMethod;
|
||||||
use RetailCrm\Api\Event\FailureRequestEvent;
|
use RetailCrm\Api\Event\FailureRequestEvent;
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
namespace RetailCrm\Tests\ResourceGroup;
|
namespace RetailCrm\Tests\ResourceGroup;
|
||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use Pock\PockBuilder;
|
|
||||||
use RetailCrm\Api\Enum\RequestMethod;
|
use RetailCrm\Api\Enum\RequestMethod;
|
||||||
use RetailCrm\Api\Model\Entity\Costs\Cost;
|
use RetailCrm\Api\Model\Entity\Costs\Cost;
|
||||||
use RetailCrm\Api\Model\Entity\Source;
|
use RetailCrm\Api\Model\Entity\Source;
|
||||||
|
@ -11,7 +11,6 @@ namespace RetailCrm\Tests\ResourceGroup;
|
|||||||
|
|
||||||
use DateInterval;
|
use DateInterval;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use Pock\PockBuilder;
|
|
||||||
use RetailCrm\Api\Component\Transformer\DateTimeTransformer;
|
use RetailCrm\Api\Component\Transformer\DateTimeTransformer;
|
||||||
use RetailCrm\Api\Enum\RequestMethod;
|
use RetailCrm\Api\Enum\RequestMethod;
|
||||||
use RetailCrm\Api\Model\Entity\Packs\OrderProductPack;
|
use RetailCrm\Api\Model\Entity\Packs\OrderProductPack;
|
||||||
|
74
tests/utils/JsonFormFieldMatcher.php
Normal file
74
tests/utils/JsonFormFieldMatcher.php
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category JsonFormFieldMatcher
|
||||||
|
* @package RetailCrm\TestUtils
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\TestUtils;
|
||||||
|
|
||||||
|
use Pock\Comparator\ComparatorLocator;
|
||||||
|
use Pock\Comparator\RecursiveArrayComparator;
|
||||||
|
use Pock\Exception\JsonException;
|
||||||
|
use Pock\Matchers\QueryMatcher;
|
||||||
|
use Pock\Traits\JsonDecoderTrait;
|
||||||
|
use Pock\Traits\SeekableStreamDataExtractor;
|
||||||
|
use Psr\Http\Message\RequestInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class JsonFormFieldMatcher
|
||||||
|
*
|
||||||
|
* @category JsonFormFieldMatcher
|
||||||
|
* @package RetailCrm\TestUtils
|
||||||
|
*/
|
||||||
|
class JsonFormFieldMatcher extends QueryMatcher
|
||||||
|
{
|
||||||
|
use JsonDecoderTrait;
|
||||||
|
use SeekableStreamDataExtractor;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
private $key;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $key
|
||||||
|
* @param string|array<string, mixed> $value
|
||||||
|
*
|
||||||
|
* @throws \Pock\Exception\JsonException
|
||||||
|
*/
|
||||||
|
public function __construct(string $key, $value)
|
||||||
|
{
|
||||||
|
$this->key = $key;
|
||||||
|
|
||||||
|
if (is_string($value)) {
|
||||||
|
parent::__construct(self::jsonDecode($value, true));
|
||||||
|
} else {
|
||||||
|
parent::__construct($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
public function matches(RequestInterface $request): bool
|
||||||
|
{
|
||||||
|
$query = static::parseQuery(static::getStreamData($request->getBody()));
|
||||||
|
|
||||||
|
if (empty($query) || !array_key_exists($this->key, $query)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$actual = self::jsonDecode($query[$this->key], true);
|
||||||
|
} catch (JsonException $exception) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null === $actual) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ComparatorLocator::get(RecursiveArrayComparator::class)->compare($actual, $this->query);
|
||||||
|
}
|
||||||
|
}
|
37
tests/utils/PockBuilder.php
Normal file
37
tests/utils/PockBuilder.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHP version 7.3
|
||||||
|
*
|
||||||
|
* @category PockBuilder
|
||||||
|
* @package RetailCrm\TestUtils
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace RetailCrm\TestUtils;
|
||||||
|
|
||||||
|
use Pock\PockBuilder as Base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class PockBuilder
|
||||||
|
*
|
||||||
|
* @category PockBuilder
|
||||||
|
* @package RetailCrm\TestUtils
|
||||||
|
*/
|
||||||
|
class PockBuilder extends Base
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Match JSON form field using provided JSON string or array.
|
||||||
|
*
|
||||||
|
* @param string $name
|
||||||
|
* @param string|array<string, mixed> $value
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
* @throws \Pock\Exception\JsonException
|
||||||
|
*/
|
||||||
|
public function matchJsonFormField(string $name, $value): self
|
||||||
|
{
|
||||||
|
$this->addMatcher(new JsonFormFieldMatcher($name, $value));
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
@ -15,7 +15,7 @@ use Http\Discovery\Psr17FactoryDiscovery;
|
|||||||
use InvalidArgumentException;
|
use InvalidArgumentException;
|
||||||
use Liip\Serializer\SerializerInterface;
|
use Liip\Serializer\SerializerInterface;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Pock\PockBuilder;
|
use RetailCrm\TestUtils\PockBuilder;
|
||||||
use Psr\Http\Message\ResponseFactoryInterface;
|
use Psr\Http\Message\ResponseFactoryInterface;
|
||||||
use Psr\Http\Message\ResponseInterface;
|
use Psr\Http\Message\ResponseInterface;
|
||||||
use Psr\Http\Message\StreamFactoryInterface;
|
use Psr\Http\Message\StreamFactoryInterface;
|
||||||
@ -51,7 +51,7 @@ abstract class AbstractApiResourceGroupTestCase extends TestCase
|
|||||||
/**
|
/**
|
||||||
* @param string $pathFragment
|
* @param string $pathFragment
|
||||||
*
|
*
|
||||||
* @return \Pock\PockBuilder
|
* @return \RetailCrm\TestUtils\PockBuilder
|
||||||
*/
|
*/
|
||||||
protected static function createApiMockBuilder(string $pathFragment): PockBuilder
|
protected static function createApiMockBuilder(string $pathFragment): PockBuilder
|
||||||
{
|
{
|
||||||
@ -103,7 +103,7 @@ abstract class AbstractApiResourceGroupTestCase extends TestCase
|
|||||||
* @param string $path
|
* @param string $path
|
||||||
* @param bool $header
|
* @param bool $header
|
||||||
*
|
*
|
||||||
* @return \Pock\PockBuilder
|
* @return \RetailCrm\TestUtils\PockBuilder
|
||||||
*/
|
*/
|
||||||
protected static function createUnversionedApiMockBuilder(string $path = '', bool $header = true): PockBuilder
|
protected static function createUnversionedApiMockBuilder(string $path = '', bool $header = true): PockBuilder
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user