This composer package aims to provide an easy way to assert PSR-7 responses.
I created this package because my constant need of asserting only certain values of PSR responses during acceptance tests.
Install it using Composer:
$ composer require bauhaus/assert-psr-response
<?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'
StatusCode::equalTo(200)
HeaderLine::equalTo('Header-Name', 'Header-Value')
JsonBody::equalTo('{"field":"value"}')
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