, (*1)
, (*2)
Assert PSR Response
This composer package aims to provide an easy way to assert
PSR-7 responses., (*3)
Motivation
I created this package because my constant need of asserting only certain values
of PSR responses during acceptance tests., (*4)
Installation
Install it using Composer:, (*5)
$ 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:, (*6)
- 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