diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 4bcbdf37..548fa370 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -30,6 +30,7 @@ build: environment: variables: + XDEBUG_MODE: 'coverage' CI: 'true' TEST_OUTPUT_STYLE: 'pretty' COMPOSER_OPTIONS: '--optimize-autoloader' @@ -37,7 +38,7 @@ build: COVERAGE_CLOVER_FILE_PATH: 'build/coverage/clover.xml' PHPCS_DISABLE_WARNING: "true" php: - version: "7.1" + version: "8.2" timezone: UTC postgresql: false redis: false diff --git a/composer.json b/composer.json index 7a7a438c..bb4edc6f 100644 --- a/composer.json +++ b/composer.json @@ -32,14 +32,21 @@ "yoanm/symfony-jsonrpc-http-server": "JSON-RPC HTTP Symfony server Bundle" }, "require": { - "php": ">=7.1", + "php": "^8.0", "ext-json": "*" }, "require-dev": { "behat/behat": "~3.0", "squizlabs/php_codesniffer": "3.*", - "phpunit/phpunit": "^7.0 || ^8.0", + "phpunit/phpunit": "^9.6", "yoanm/php-unit-extended": "^1.0", - "yoanm/jsonrpc-server-doc-sdk": "^0.2" + "yoanm/jsonrpc-server-doc-sdk": "^0.2", + "phpspec/prophecy": "^1.17", + "phpspec/prophecy-phpunit": "^2.0" + }, + "config": { + "allow-plugins": { + "phpstan/extension-installer": true + } } } diff --git a/tests/Functional/App/Creator/ResponseCreator/BaseTestCase.php b/tests/Functional/App/Creator/ResponseCreator/BaseTestCase.php index 6b20f3dc..37cd2c52 100644 --- a/tests/Functional/App/Creator/ResponseCreator/BaseTestCase.php +++ b/tests/Functional/App/Creator/ResponseCreator/BaseTestCase.php @@ -2,12 +2,15 @@ namespace Tests\Functional\App\Creator\ResponseCreator; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\App\Creator\ResponseCreator; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcRequest; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcResponse; class BaseTestCase extends TestCase { + use ProphecyTrait; + const DEFAULT_JSONRPC = '2.0'; const DEFAULT_ID = '1234567890'; const DEFAULT_METHOD = 'defaultMethod'; diff --git a/tests/Functional/App/Creator/ResponseCreator/CreateEmptyResponseTest.php b/tests/Functional/App/Creator/ResponseCreator/CreateEmptyResponseTest.php index 7461043f..5414f84d 100644 --- a/tests/Functional/App/Creator/ResponseCreator/CreateEmptyResponseTest.php +++ b/tests/Functional/App/Creator/ResponseCreator/CreateEmptyResponseTest.php @@ -1,6 +1,8 @@ assertTrue((new JsonRpcCallResponse(true))->isBatch()); diff --git a/tests/Functional/Domain/Model/JsonRpcCallTest.php b/tests/Functional/Domain/Model/JsonRpcCallTest.php index b3f5e6ee..09067e60 100644 --- a/tests/Functional/Domain/Model/JsonRpcCallTest.php +++ b/tests/Functional/Domain/Model/JsonRpcCallTest.php @@ -2,6 +2,7 @@ namespace Tests\Functional\Domain\Model; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcCall; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcRequest; @@ -12,6 +13,8 @@ */ class JsonRpcCallTest extends TestCase { + use ProphecyTrait; + public function testShouldManageBatchProperty() { $this->assertTrue((new JsonRpcCall(true))->isBatch()); diff --git a/tests/Functional/Domain/Model/JsonRpcRequestTest.php b/tests/Functional/Domain/Model/JsonRpcRequestTest.php index ef654bfe..85716b2b 100644 --- a/tests/Functional/Domain/Model/JsonRpcRequestTest.php +++ b/tests/Functional/Domain/Model/JsonRpcRequestTest.php @@ -2,6 +2,7 @@ namespace Tests\Functional\Domain\Model; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcRequest; /** @@ -11,6 +12,8 @@ */ class JsonRpcRequestTest extends TestCase { + + use ProphecyTrait; use IdProviderTrait; public function testShouldHaveMethodAndJsonRpcVersion() diff --git a/tests/Functional/Domain/Model/JsonRpcResponseTest.php b/tests/Functional/Domain/Model/JsonRpcResponseTest.php index 748899c5..924d51bb 100644 --- a/tests/Functional/Domain/Model/JsonRpcResponseTest.php +++ b/tests/Functional/Domain/Model/JsonRpcResponseTest.php @@ -2,6 +2,7 @@ namespace Tests\Functional\Domain\Model; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\Domain\Exception\JsonRpcExceptionInterface; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcResponse; @@ -12,6 +13,8 @@ */ class JsonRpcResponseTest extends TestCase { + + use ProphecyTrait; use IdProviderTrait; public function testShouldHaveAJsonRpcVersion() diff --git a/tests/Functional/Infra/Endpoint/JsonRpcEndpointTest.php b/tests/Functional/Infra/Endpoint/JsonRpcEndpointTest.php index 611c7f88..2f666f3d 100644 --- a/tests/Functional/Infra/Endpoint/JsonRpcEndpointTest.php +++ b/tests/Functional/Infra/Endpoint/JsonRpcEndpointTest.php @@ -3,6 +3,7 @@ use PHPUnit\Framework\TestCase; use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Prophecy\Prophecy\ObjectProphecy; use Yoanm\JsonRpcServer\App\Handler\ExceptionHandler; use Yoanm\JsonRpcServer\App\Handler\JsonRpcRequestHandler; @@ -20,6 +21,8 @@ */ class JsonRpcEndpointTest extends TestCase { + use ProphecyTrait; + /** @var JsonRpcEndpoint */ private $endpoint; /** @var JsonRpcCallSerializer|ObjectProphecy */ diff --git a/tests/Functional/Infra/Endpoint/JsonRpcEndpointWithDispatcherTest.php b/tests/Functional/Infra/Endpoint/JsonRpcEndpointWithDispatcherTest.php index 14fc876e..cb9b53ef 100644 --- a/tests/Functional/Infra/Endpoint/JsonRpcEndpointWithDispatcherTest.php +++ b/tests/Functional/Infra/Endpoint/JsonRpcEndpointWithDispatcherTest.php @@ -3,6 +3,7 @@ use PHPUnit\Framework\TestCase; use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Prophecy\Prophecy\ObjectProphecy; use Yoanm\JsonRpcServer\App\Handler\ExceptionHandler; use Yoanm\JsonRpcServer\App\Handler\JsonRpcRequestHandler; @@ -24,6 +25,8 @@ */ class JsonRpcEndpointWithDispatcherTest extends TestCase { + use ProphecyTrait; + /** @var JsonRpcEndpoint */ private $endpoint; /** @var JsonRpcCallSerializer|ObjectProphecy */ diff --git a/tests/Technical/App/Creator/ResponseCreatorTest.php b/tests/Technical/App/Creator/ResponseCreatorTest.php index e42b4d59..efdb1a5e 100644 --- a/tests/Technical/App/Creator/ResponseCreatorTest.php +++ b/tests/Technical/App/Creator/ResponseCreatorTest.php @@ -2,6 +2,7 @@ namespace Tests\Technical\App\Creator; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\App\Creator\ResponseCreator; use Yoanm\JsonRpcServer\Domain\Exception\JsonRpcInternalErrorException; @@ -10,6 +11,8 @@ */ class ResponseCreatorTest extends TestCase { + use ProphecyTrait; + const DEFAULT_JSONRPC = '2.0'; const DEFAULT_ID = '1234567890'; const DEFAULT_METHOD = 'defaultMethod'; diff --git a/tests/Technical/App/Serialization/JsonRpcRequestDenormalizerTest.php b/tests/Technical/App/Serialization/JsonRpcRequestDenormalizerTest.php index 52a92706..71adcaab 100644 --- a/tests/Technical/App/Serialization/JsonRpcRequestDenormalizerTest.php +++ b/tests/Technical/App/Serialization/JsonRpcRequestDenormalizerTest.php @@ -2,6 +2,7 @@ namespace Tests\Technical\App\Serialization; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\App\Serialization\JsonRpcRequestDenormalizer; use Yoanm\JsonRpcServer\Domain\Exception\JsonRpcInvalidRequestException; @@ -13,6 +14,8 @@ */ class JsonRpcRequestDenormalizerTest extends TestCase { + use ProphecyTrait; + /** @var JsonRpcRequestDenormalizer */ private $requestDenormalizer; diff --git a/tests/Technical/Domain/Model/JsonRpcRequestTest.php b/tests/Technical/Domain/Model/JsonRpcRequestTest.php index e1afeaa4..88b72033 100644 --- a/tests/Technical/Domain/Model/JsonRpcRequestTest.php +++ b/tests/Technical/Domain/Model/JsonRpcRequestTest.php @@ -2,6 +2,7 @@ namespace Tests\Technical\Domain\Model; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcRequest; /** @@ -11,6 +12,8 @@ */ class JsonRpcRequestTest extends TestCase { + + use ProphecyTrait; use IdProviderTrait; /** diff --git a/tests/Technical/Domain/Model/JsonRpcResponseTest.php b/tests/Technical/Domain/Model/JsonRpcResponseTest.php index e85d7f9b..f9f2aff0 100644 --- a/tests/Technical/Domain/Model/JsonRpcResponseTest.php +++ b/tests/Technical/Domain/Model/JsonRpcResponseTest.php @@ -2,6 +2,7 @@ namespace Tests\Technical\Domain\Model; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Yoanm\JsonRpcServer\Domain\Model\JsonRpcResponse; /** @@ -11,6 +12,8 @@ */ class JsonRpcResponseTest extends TestCase { + + use ProphecyTrait; use IdProviderTrait; /** diff --git a/tests/Technical/Infra/Endpoint/JsonRpcEndpointTest.php b/tests/Technical/Infra/Endpoint/JsonRpcEndpointTest.php index b7502e29..e77a5b30 100644 --- a/tests/Technical/Infra/Endpoint/JsonRpcEndpointTest.php +++ b/tests/Technical/Infra/Endpoint/JsonRpcEndpointTest.php @@ -3,6 +3,7 @@ use PHPUnit\Framework\TestCase; use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Prophecy\Prophecy\ObjectProphecy; use Yoanm\JsonRpcServer\App\Handler\ExceptionHandler; use Yoanm\JsonRpcServer\App\Handler\JsonRpcRequestHandler; @@ -21,6 +22,8 @@ */ class JsonRpcEndpointTest extends TestCase { + use ProphecyTrait; + /** @var JsonRpcEndpoint */ private $endpoint; /** @var JsonRpcCallSerializer|ObjectProphecy */