diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bde662..ce744b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,9 @@ jobs: php-version: [ '7.4', '8.0', - '8.1' + '8.1', + '8.2', + '8.3', ] steps: @@ -56,7 +58,7 @@ jobs: run: vendor/bin/parallel-lint src/ - name: Run CodeStyle checks - run: PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix src --allow-risky=yes --diff --dry-run + run: PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer check --allow-risky=yes --diff - name: Run PHPStan run: vendor/bin/phpstan analyze -clear-result-cache -c phpstan.neon src/ --no-progress diff --git a/composer.json b/composer.json index f59c8f9..013cde9 100644 --- a/composer.json +++ b/composer.json @@ -38,10 +38,10 @@ "require-dev": { "phpunit/phpunit": "^9.6.13", "phpstan/phpstan": "^1.10.41", - "friendsofphp/php-cs-fixer": "^v3.38.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "enlightn/security-checker": "^1.10.0", - "symfony/routing": "^4.4.44 || ^5.0.0" + "friendsofphp/php-cs-fixer": "*", + "php-parallel-lint/php-parallel-lint": "*", + "enlightn/security-checker": "*", + "symfony/routing": "^4.4.44 || ^5.0.0 || ^6.0.0" }, "autoload": { "psr-4": { @@ -55,7 +55,8 @@ }, "scripts": { "test": "vendor/bin/phpunit --testdox tests", - "sniff-fix": "vendor/bin/php-cs-fixer fix", + "sniff": "PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer check --allow-risky=yes --diff", + "sniff-fix": "PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix --allow-risky=yes --diff", "phpstan": "vendor/bin/phpstan analyze" } } diff --git a/src/CXml/Endpoint.php b/src/CXml/Endpoint.php index 5029978..ab70d4e 100644 --- a/src/CXml/Endpoint.php +++ b/src/CXml/Endpoint.php @@ -29,9 +29,6 @@ public function __construct( $this->logger = $logger ?? new NullLogger(); } - /** - * @throws Exception\CXmlException - */ public function parseAndProcessStringAsCXml(string $xml, Context $context = null): ?CXml { $this->logger->info('Processing incoming CXml message', ['xml' => $xml]); diff --git a/src/CXml/Exception/CXmlConflictException.php b/src/CXml/Exception/CXmlConflictException.php index 8bfd174..3bad6cd 100644 --- a/src/CXml/Exception/CXmlConflictException.php +++ b/src/CXml/Exception/CXmlConflictException.php @@ -2,4 +2,6 @@ namespace CXml\Exception; -class CXmlConflictException extends CXmlException {} +class CXmlConflictException extends CXmlException +{ +} diff --git a/src/CXml/Exception/CXmlExpectationFailedException.php b/src/CXml/Exception/CXmlExpectationFailedException.php index 4988e43..2815c86 100644 --- a/src/CXml/Exception/CXmlExpectationFailedException.php +++ b/src/CXml/Exception/CXmlExpectationFailedException.php @@ -2,4 +2,6 @@ namespace CXml\Exception; -class CXmlExpectationFailedException extends CXmlException {} +class CXmlExpectationFailedException extends CXmlException +{ +} diff --git a/src/CXml/Exception/CXmlNotAcceptableException.php b/src/CXml/Exception/CXmlNotAcceptableException.php index 2383d94..b9f0346 100644 --- a/src/CXml/Exception/CXmlNotAcceptableException.php +++ b/src/CXml/Exception/CXmlNotAcceptableException.php @@ -2,4 +2,6 @@ namespace CXml\Exception; -class CXmlNotAcceptableException extends CXmlException {} +class CXmlNotAcceptableException extends CXmlException +{ +} diff --git a/src/CXml/Exception/CXmlNotImplementedException.php b/src/CXml/Exception/CXmlNotImplementedException.php index 3b02b66..d4b25e0 100644 --- a/src/CXml/Exception/CXmlNotImplementedException.php +++ b/src/CXml/Exception/CXmlNotImplementedException.php @@ -2,4 +2,6 @@ namespace CXml\Exception; -class CXmlNotImplementedException extends CXmlException {} +class CXmlNotImplementedException extends CXmlException +{ +} diff --git a/src/CXml/Exception/CXmlPreconditionFailedException.php b/src/CXml/Exception/CXmlPreconditionFailedException.php index ecf9676..9a2b106 100644 --- a/src/CXml/Exception/CXmlPreconditionFailedException.php +++ b/src/CXml/Exception/CXmlPreconditionFailedException.php @@ -2,4 +2,6 @@ namespace CXml\Exception; -class CXmlPreconditionFailedException extends CXmlException {} +class CXmlPreconditionFailedException extends CXmlException +{ +} diff --git a/src/CXml/Model/Message/MessagePayloadInterface.php b/src/CXml/Model/Message/MessagePayloadInterface.php index ae4bca7..1164f80 100644 --- a/src/CXml/Model/Message/MessagePayloadInterface.php +++ b/src/CXml/Model/Message/MessagePayloadInterface.php @@ -4,4 +4,6 @@ use CXml\Model\PayloadInterface; -interface MessagePayloadInterface extends PayloadInterface {} +interface MessagePayloadInterface extends PayloadInterface +{ +} diff --git a/src/CXml/Model/PayloadInterface.php b/src/CXml/Model/PayloadInterface.php index bbdaeda..b9b8999 100644 --- a/src/CXml/Model/PayloadInterface.php +++ b/src/CXml/Model/PayloadInterface.php @@ -2,4 +2,6 @@ namespace CXml\Model; -interface PayloadInterface {} +interface PayloadInterface +{ +} diff --git a/src/CXml/Model/Request/ProfileRequest.php b/src/CXml/Model/Request/ProfileRequest.php index 1c61347..5a4acc4 100644 --- a/src/CXml/Model/Request/ProfileRequest.php +++ b/src/CXml/Model/Request/ProfileRequest.php @@ -2,4 +2,6 @@ namespace CXml\Model\Request; -class ProfileRequest implements RequestPayloadInterface {} +class ProfileRequest implements RequestPayloadInterface +{ +} diff --git a/src/CXml/Model/Request/RequestPayloadInterface.php b/src/CXml/Model/Request/RequestPayloadInterface.php index 8c6a3db..7709983 100644 --- a/src/CXml/Model/Request/RequestPayloadInterface.php +++ b/src/CXml/Model/Request/RequestPayloadInterface.php @@ -4,4 +4,6 @@ use CXml\Model\PayloadInterface; -interface RequestPayloadInterface extends PayloadInterface {} +interface RequestPayloadInterface extends PayloadInterface +{ +} diff --git a/src/CXml/Model/Response/ResponsePayloadInterface.php b/src/CXml/Model/Response/ResponsePayloadInterface.php index 2c74592..3dfa25c 100644 --- a/src/CXml/Model/Response/ResponsePayloadInterface.php +++ b/src/CXml/Model/Response/ResponsePayloadInterface.php @@ -4,4 +4,6 @@ use CXml\Model\PayloadInterface; -interface ResponsePayloadInterface extends PayloadInterface {} +interface ResponsePayloadInterface extends PayloadInterface +{ +} diff --git a/src/CXml/Model/Response/StatusResponse.php b/src/CXml/Model/Response/StatusResponse.php index 297022f..eab11c8 100644 --- a/src/CXml/Model/Response/StatusResponse.php +++ b/src/CXml/Model/Response/StatusResponse.php @@ -2,4 +2,6 @@ namespace CXml\Model\Response; -class StatusResponse implements ResponsePayloadInterface {} +class StatusResponse implements ResponsePayloadInterface +{ +} diff --git a/tests/CXmlTest/Model/OrderRequestTest.php b/tests/CXmlTest/Model/OrderRequestTest.php index cb197cb..e87b6e7 100644 --- a/tests/CXmlTest/Model/OrderRequestTest.php +++ b/tests/CXmlTest/Model/OrderRequestTest.php @@ -32,13 +32,12 @@ */ class OrderRequestTest extends TestCase implements PayloadIdentityFactoryInterface { + private DtdValidator $dtdValidator; - private DtdValidator $dtdValidator; - - protected function setUp(): void - { - $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); - } + protected function setUp(): void + { + $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); + } public function testMinimumExample(): void { @@ -101,8 +100,7 @@ public function testMinimumExample(): void 8500 ) ); - $orderRequestHeader->addComment(new Comment(null, null, null, 'delivery-note.pdf')); - + $orderRequestHeader->addComment(new Comment(null, null, null, 'delivery-note.pdf')); $orderRequest = OrderRequest::create( $orderRequestHeader @@ -159,7 +157,7 @@ public function testMinimumExample(): void $xml = Serializer::create()->serialize($cxml); $this->assertXmlStringEqualsXmlFile('tests/metadata/cxml/samples/OrderRequest.xml', $xml); - $this->dtdValidator->validateAgainstDtd($xml); + $this->dtdValidator->validateAgainstDtd($xml); } public function newPayloadIdentity(): PayloadIdentity diff --git a/tests/CXmlTest/Model/ProductActivityMessageTest.php b/tests/CXmlTest/Model/ProductActivityMessageTest.php index 2634b0d..5c77a7d 100644 --- a/tests/CXmlTest/Model/ProductActivityMessageTest.php +++ b/tests/CXmlTest/Model/ProductActivityMessageTest.php @@ -23,13 +23,12 @@ */ class ProductActivityMessageTest extends TestCase implements PayloadIdentityFactoryInterface { + private DtdValidator $dtdValidator; - private DtdValidator $dtdValidator; - - protected function setUp(): void - { - $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); - } + protected function setUp(): void + { + $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); + } public function testMinimumExample(): void { @@ -73,8 +72,8 @@ public function testMinimumExample(): void $xml = Serializer::create()->serialize($cxml); $this->assertXmlStringEqualsXmlFile('tests/metadata/cxml/samples/ProductActivityMessage.xml', $xml); - $this->dtdValidator->validateAgainstDtd($xml); - } + $this->dtdValidator->validateAgainstDtd($xml); + } public function newPayloadIdentity(): PayloadIdentity { diff --git a/tests/CXmlTest/Model/PunchOutSetupRequestTest.php b/tests/CXmlTest/Model/PunchOutSetupRequestTest.php index 6ef9206..17bd209 100644 --- a/tests/CXmlTest/Model/PunchOutSetupRequestTest.php +++ b/tests/CXmlTest/Model/PunchOutSetupRequestTest.php @@ -132,7 +132,7 @@ public function testMinimumExample(): void $this->dtdValidator->validateAgainstDtd($xml); $this->assertXmlStringEqualsXmlFile(__DIR__.'/../../metadata/cxml/samples/PunchOutSetupRequest.xml', $xml); - } + } public function newPayloadIdentity(): PayloadIdentity { diff --git a/tests/CXmlTest/Model/QuoteMessageTest.php b/tests/CXmlTest/Model/QuoteMessageTest.php index 5f74ab6..7a4ade6 100644 --- a/tests/CXmlTest/Model/QuoteMessageTest.php +++ b/tests/CXmlTest/Model/QuoteMessageTest.php @@ -7,11 +7,6 @@ use CXml\Model\Contact; use CXml\Model\Country; use CXml\Model\Credential; -use CXml\Model\Inventory; -use CXml\Model\InventoryQuantity; -use CXml\Model\ItemId; -use CXml\Model\Message\ProductActivityDetail; -use CXml\Model\Message\ProductActivityMessage; use CXml\Model\Message\QuoteMessage; use CXml\Model\Message\QuoteMessageHeader; use CXml\Model\MoneyWrapper; @@ -23,7 +18,6 @@ use CXml\Payload\PayloadIdentityFactoryInterface; use CXml\Serializer; use CXml\Validation\DtdValidator; -use PhpParser\Node\Expr\AssignOp\Mul; use PHPUnit\Framework\TestCase; /** @@ -32,13 +26,12 @@ */ class QuoteMessageTest extends TestCase implements PayloadIdentityFactoryInterface { + private DtdValidator $dtdValidator; - private DtdValidator $dtdValidator; - - protected function setUp(): void - { - $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); - } + protected function setUp(): void + { + $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); + } public function testMinimumExample(): void { @@ -56,48 +49,50 @@ public function testMinimumExample(): void 'abracadabra' ); - $organizationId = new OrganizationId( - new Credential( - 'domain', - 'identity' - ) - ); + $organizationId = new OrganizationId( + new Credential( + 'domain', + 'identity' + ) + ); - $total = new MoneyWrapper('USD', 10000); + $total = new MoneyWrapper('USD', 10000); $quoteMessage = QuoteMessage::create( - $organizationId, - $total, - QuoteMessageHeader::TYPE_ACCEPT, - 'quoteId', - new \DateTime('2021-01-08T23:00:06-08:00'), - 'de' + $organizationId, + $total, + QuoteMessageHeader::TYPE_ACCEPT, + 'quoteId', + new \DateTime('2021-01-08T23:00:06-08:00'), + 'de' ); - $contact = Contact::create(new MultilanguageString('Joe Smith')) - ->addEmail('joe.smith@siemens.com') - ->addIdReference('GUID', '123456'); - - $shipTo = new ShipTo( - new Address( - new MultilanguageString('Acme Inc.'), - new PostalAddress( - ['Acme Inc.', 'Joe Smith'], - ['123 Anystreet'], - 'Sunnyvale', - new Country('US', 'United States'), - null, - 'CA', - '90489' - ) - ) - ); - - $quoteMessage->getQuoteMessageHeader() - ->setContact($contact) - ->setShipTo($shipTo) - ->addExtrinsicAsKeyValue('expiry_date', '2023-01-08T23:00:06-08:00') - ->addCommentAsString('This is a comment'); + $contact = Contact::create(new MultilanguageString('Joe Smith')) + ->addEmail('joe.smith@siemens.com') + ->addIdReference('GUID', '123456') + ; + + $shipTo = new ShipTo( + new Address( + new MultilanguageString('Acme Inc.'), + new PostalAddress( + ['Acme Inc.', 'Joe Smith'], + ['123 Anystreet'], + 'Sunnyvale', + new Country('US', 'United States'), + null, + 'CA', + '90489' + ) + ) + ); + + $quoteMessage->getQuoteMessageHeader() + ->setContact($contact) + ->setShipTo($shipTo) + ->addExtrinsicAsKeyValue('expiry_date', '2023-01-08T23:00:06-08:00') + ->addCommentAsString('This is a comment') + ; $cxml = Builder::create('Supplier’s Super Order Processor', 'en-US', $this) ->from($from) @@ -112,7 +107,7 @@ public function testMinimumExample(): void $xml = Serializer::create()->serialize($cxml); $this->assertXmlStringEqualsXmlFile('tests/metadata/cxml/samples/QuoteMessage.xml', $xml); - $this->dtdValidator->validateAgainstDtd($xml); + $this->dtdValidator->validateAgainstDtd($xml); } public function newPayloadIdentity(): PayloadIdentity diff --git a/tests/CXmlTest/Model/SerializerTest.php b/tests/CXmlTest/Model/SerializerTest.php index d7a7837..ea3e77d 100644 --- a/tests/CXmlTest/Model/SerializerTest.php +++ b/tests/CXmlTest/Model/SerializerTest.php @@ -377,8 +377,8 @@ public function testSerializeDateOnly(): void '; - $this->assertXmlStringEqualsXmlString($expectedXml, $actualXml); - } + $this->assertXmlStringEqualsXmlString($expectedXml, $actualXml); + } public function testDeserializeOneRowXml(): void { diff --git a/tests/CXmlTest/Model/ShipNoticeRequestTest.php b/tests/CXmlTest/Model/ShipNoticeRequestTest.php index 930e2fd..f739361 100644 --- a/tests/CXmlTest/Model/ShipNoticeRequestTest.php +++ b/tests/CXmlTest/Model/ShipNoticeRequestTest.php @@ -22,13 +22,12 @@ */ class ShipNoticeRequestTest extends TestCase implements PayloadIdentityFactoryInterface { + private DtdValidator $dtdValidator; - private DtdValidator $dtdValidator; - - protected function setUp(): void - { - $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); - } + protected function setUp(): void + { + $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); + } public function testMinimumExample(): void { @@ -77,7 +76,7 @@ public function testMinimumExample(): void $xml = Serializer::create()->serialize($cxml); $this->assertXmlStringEqualsXmlFile('tests/metadata/cxml/samples/ShipNoticeRequest.xml', $xml); - $this->dtdValidator->validateAgainstDtd($xml); + $this->dtdValidator->validateAgainstDtd($xml); } public function newPayloadIdentity(): PayloadIdentity diff --git a/tests/CXmlTest/Model/StatusUpdateRequestTest.php b/tests/CXmlTest/Model/StatusUpdateRequestTest.php index 359f13d..d50aa51 100644 --- a/tests/CXmlTest/Model/StatusUpdateRequestTest.php +++ b/tests/CXmlTest/Model/StatusUpdateRequestTest.php @@ -18,13 +18,12 @@ */ class StatusUpdateRequestTest extends TestCase implements PayloadIdentityFactoryInterface { + private DtdValidator $dtdValidator; - private DtdValidator $dtdValidator; - - protected function setUp(): void - { - $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); - } + protected function setUp(): void + { + $this->dtdValidator = new DtdValidator(__DIR__.'/../../metadata/cxml/dtd/1.2.050/'); + } public function testMinimumExample(): void { @@ -60,7 +59,7 @@ public function testMinimumExample(): void $xml = Serializer::create()->serialize($cxml); $this->assertXmlStringEqualsXmlFile('tests/metadata/cxml/samples/StatusUpdateRequest.xml', $xml); - $this->dtdValidator->validateAgainstDtd($xml); + $this->dtdValidator->validateAgainstDtd($xml); } public function newPayloadIdentity(): PayloadIdentity