religisaci / codeception-api-validator
Validate API Requests and Responses against Swagger / OpenAPI definitions. This package is modified awuttig/codeception-api-validator package for PHP 7.4
This package is auto-updated.
Last update: 2025-02-28 21:22:43 UTC
README
Validate API Requests and Responses against Swagger / OpenAPI definitions
Note: this is based on awuttig/codeception-api-validator and modified for PHP 7.4
Installation
You need to add the repository into your composer.json file
composer require --dev religisaci/codeception-api-validator
Usage
You can use this module as any other Codeception module, by adding 'ApiValidator' to the enabled modules in your Codeception suite configurations.
Enable module and setup the configuration variables
- The
schema
could be set in config file directly and via$I->haveOpenApiSchema
or$I->haveSwaggerSchema
modules: enabled: - \Religisaci\ApiValidator: depends: [REST, PhpBrowser] schema: '/tests/_data/swagger.yaml'
Update Codeception build
codecept build
Implement the cept / cest
$I->wantToTest('Validate request and response against OpenAPI Specification.'); $I->sendGET('api/foo/bar'); $I->seeRequestIsValid(); $I->seeResponseIsValid();
Methods
seeRequestIsValid()
Validates the current request against the current schema definiton.
$I->seeRequestIsValid();
seeResponseIsValid()
Validates the current response against the current schema definiton.
$I->seeRequestIsValid();
seeRequestAndResponseAreValid()
Validates the current request and response against the current schema definiton.
$I->seeRequestAndResponseAreValid();
haveOpenAPISchema()
Set the path to the OpenAPI Schema Specification
$schema = 'file://' . codecept_root_dir('../../web/api/documentation/swagger.yaml'); $I->haveOpenAPISchema($schema);
haveSwaggerSchema()
Set the path to the Swagger Schema Specification
$schema = 'file://' . codecept_root_dir('../../web/api/documentation/swagger.yaml'); $I->haveSwaggerSchema($schema);
Authors
- André Wuttig - Concept, Initial work - aWuttig
- Tomáš Hojgr - Modification for PHP 7.4 - Religisaci
See also the list of contributors who participated in this project.