update pock to the latest version (#120)
This commit is contained in:
parent
9c6029fa0d
commit
bce2bfaf4c
@ -49,7 +49,7 @@
|
||||
"nyholm/psr7": "^1.3",
|
||||
"league/event": "^3.0",
|
||||
"league/container": "^3.3",
|
||||
"neur0toxine/pock": "^0.7"
|
||||
"neur0toxine/pock": "^0.10"
|
||||
},
|
||||
"suggest": {
|
||||
"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 Http\Discovery\Psr18ClientDiscovery;
|
||||
use League\Container\Container;
|
||||
use League\Event\EventDispatcher;
|
||||
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\StreamFactoryInterface;
|
||||
use Psr\Http\Message\UriFactoryInterface;
|
||||
@ -21,20 +25,15 @@ use RetailCrm\Api\Enum\CacheDirectories;
|
||||
use RetailCrm\Api\Factory\ClientFactory;
|
||||
use RetailCrm\Api\Handler\Request\CallbackRequestHandler;
|
||||
use RetailCrm\Api\Handler\Response\CallbackResponseHandler;
|
||||
use RetailCrm\Api\Interfaces\ClientFactoryInterface;
|
||||
use RetailCrm\Api\Model\RequestData;
|
||||
use RetailCrm\Api\Model\Response\Api\ApiVersionsResponse;
|
||||
use RetailCrm\Api\Model\ResponseData;
|
||||
use RetailCrm\TestUtils\ClientFactoryDependentService;
|
||||
use RetailCrm\TestUtils\ReflectionUtils;
|
||||
use RetailCrm\TestUtils\TestCase\ClientTestCase;
|
||||
use RetailCrm\TestUtils\TestConfig;
|
||||
use RetailCrm\TestUtils\ClientFactoryDependentService;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
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
|
||||
|
@ -10,7 +10,6 @@
|
||||
namespace RetailCrm\Tests\ResourceGroup;
|
||||
|
||||
use League\Event\EventDispatcher;
|
||||
use Psr\Http\Client\ClientInterface;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use RetailCrm\Api\Enum\RequestMethod;
|
||||
use RetailCrm\Api\Event\FailureRequestEvent;
|
||||
|
@ -10,7 +10,6 @@
|
||||
namespace RetailCrm\Tests\ResourceGroup;
|
||||
|
||||
use DateTime;
|
||||
use Pock\PockBuilder;
|
||||
use RetailCrm\Api\Enum\RequestMethod;
|
||||
use RetailCrm\Api\Model\Entity\Costs\Cost;
|
||||
use RetailCrm\Api\Model\Entity\Source;
|
||||
|
@ -11,7 +11,6 @@ namespace RetailCrm\Tests\ResourceGroup;
|
||||
|
||||
use DateInterval;
|
||||
use DateTime;
|
||||
use Pock\PockBuilder;
|
||||
use RetailCrm\Api\Component\Transformer\DateTimeTransformer;
|
||||
use RetailCrm\Api\Enum\RequestMethod;
|
||||
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 Liip\Serializer\SerializerInterface;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Pock\PockBuilder;
|
||||
use RetailCrm\TestUtils\PockBuilder;
|
||||
use Psr\Http\Message\ResponseFactoryInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamFactoryInterface;
|
||||
@ -51,7 +51,7 @@ abstract class AbstractApiResourceGroupTestCase extends TestCase
|
||||
/**
|
||||
* @param string $pathFragment
|
||||
*
|
||||
* @return \Pock\PockBuilder
|
||||
* @return \RetailCrm\TestUtils\PockBuilder
|
||||
*/
|
||||
protected static function createApiMockBuilder(string $pathFragment): PockBuilder
|
||||
{
|
||||
@ -103,7 +103,7 @@ abstract class AbstractApiResourceGroupTestCase extends TestCase
|
||||
* @param string $path
|
||||
* @param bool $header
|
||||
*
|
||||
* @return \Pock\PockBuilder
|
||||
* @return \RetailCrm\TestUtils\PockBuilder
|
||||
*/
|
||||
protected static function createUnversionedApiMockBuilder(string $path = '', bool $header = true): PockBuilder
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user