bauhaus / assert-psr-response
PHP package with class to assert PSR responses
v1.0.0
2020-06-16 16:59 UTC
Requires
- php: >=7.4
- fefas/jsoncoder: ^v0.2
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.2
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-11-09 10:40:20 UTC
README
Assert PSR Response
This composer package aims to provide an easy way to assert PSR-7 responses.
Motivation
I created this package because my constant need of asserting only certain values of PSR responses during acceptance tests.
Installation
Install it using Composer:
$ composer require bauhaus/assert-psr-response
Usage
<?php use Bauhaus\PsrResponseAssertion\PsrResponseAssertion; use Bauhaus\PsrResponseAssertion\Matchers\HeaderLine; use Bauhaus\PsrResponseAssertion\Matchers\StatusCode; $assertion = PsrResponseAssertion::with( StatusCode::equalTo(200), HeaderLine::equalTo('Content-Type', 'application/json') ); $psrResponse = // retrieve it from somewhere ... $psrResponse = $psrResponse ->withStatus(404) ->withHeader('Content-Type', 'text/html'); $assertion->assert($psrResponse); // throw PsrResponseAssertionException with message: // Actual response status code '404' is not equal to the expected '200' // Actual response header line 'Content-Type' 'text/html' is not equal to the expected 'application/json'
Available Matchers
StatusCode::equalTo(200)
HeaderLine::equalTo('Header-Name', 'Header-Value')
JsonBody::equalTo('{"field":"value"}')
Contribution
There is two ways to contribute with this project. The first one is by opening an issue here. The second one is by coding:
- Fork this project and clone it on your local dev environment
- Install dependencies throught the command:
composer install
- Run the locally tests before ubmiting a pull request:
- To test code standards:
composer run test:cs
- To run unit tests:
composer run test:unit
- To run all tests in a roll:
composer run tests