aWuttig / codeception-api-validator

Validate API Requests and Responses against Swagger / OpenAPI definitions
18 stars 5 forks source link

codeception-api-validator

Validate API Requests and Responses against Swagger / OpenAPI definitions

Installation

You need to add the repository into your composer.json file

    composer require --dev awuttig/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

modules:
    enabled:
        - ApiValidator:
            depends: REST
            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

See also the list of contributors who participated in this project.