Skip to content

religisaci/codeception-api-validator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

codeception-api-validator

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.

About

Validate API Requests and Responses against Swagger / OpenAPI definitions for PPH 7.4

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%