This package has been deprecated

Author message:

WARNING: This project has been renamed to openapi-examples-validator. Install using openapi-examples-validator instead.

swagger-examples-validator

1.1.0 • Public • Published

swagger-examples-validator

Validates embedded JSON-examples in Swagger-specs (only JSON supported, yet)

npm version Standard Version Build Status Coverage Status dependencies Status Maintainability Greenkeeper badge

Install

Install using npm:

npm install -g swagger-examples-validator

Usage

swagger-examples-validator [options] <filepath>

Validate embedded examples in Swagger-JSONs.
To validate external examples, use the `-s` and `-e` option.
To pass a mapping-file, to validate multiple external examples, use the `-m` option.

Options:

  -V, --version                              output the version number
  -s, --schema-jsonpath <schema-jsonpath>    JSON-path to schema, to validate the example file against
  -e, --example-filepath <example-filepath>  file path to example file, to be validated
  -m, --mapping-filepath <mapping-filepath>  file path to map, containing schema-paths as key and the file-path(s) to
                                             examples as value. If wildcards are used, the parameter has to be put in
                                             quotes.
  -c, --cwd-to-mapping-file                  changes to the directory of the mapping-file, before resolving the
                                             example's paths. Use this option, if your mapping-files use relative paths
                                             for the examples
  -h, --help                                 output usage information

The validator will search the Swagger-JSON for response-examples and validate them against its schema.

If an external example has to be verified, the -s and -e option has to be used.

For example:

$ swagger-examples-validator -s $.paths./.get.responses.200.schema -e example.json swagger.json

To validate multiple external examples, pass a mapping file with a similar structure along with the -m option:

{
  "$.paths./.get.responses.200.schema": [
    "test/data/external-examples-valid-example1.json",
    "test/data/external-examples-valid-example2.json",
    "test/data/external-examples-invalid-type.json"
  ],
  "$.paths./.get.responses.300.schema": "test/data/external-examples-invalid-missing-link.json"
}

Errors will be written to stderr.

Sample output of validation errors:

[
    {
        "keyword": "type",
        "dataPath": ".versions[0].id",
        "schemaPath": "#/properties/versions/items/properties/id/type",
        "params": {
            "type": "string"
        },
        "message": "should be string",
        "examplePath": "/~1/get/responses/200/examples/application~1json"
    }
]

Test

To run the tests, execute

npm test

or to check the coverage

npm run coverage

Future features

  • YAML support

Package Sidebar

Install

npm i swagger-examples-validator

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

225 kB

Total Files

51

Last publish

Collaborators

  • codekie