How to use openapi-schema-validator - 3 common examples

To help you get started, we’ve selected a few openapi-schema-validator examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github wikimedia / restbase / test / features / schema_tests.js View on Github external
'use strict';

// mocha defines to avoid JSHint breakage
/* global it, before */

const parallel = require('mocha.parallel');
const assert = require('../utils/assert.js');
const Server = require('../utils/server.js');
const preq   = require('preq');
const Ajv = require('ajv');
const OpenAPISchemaValidator = require('openapi-schema-validator').default;
const validator = new OpenAPISchemaValidator({ version: 3 });

parallel('Responses should conform to the provided JSON schema of the response', () => {
    const ajv = new Ajv({});
    const server = new Server();
    function getToday() {
        function zeroPad(num) {
            if (num < 10) {
                return `0${num}`;
            }
            return `${num}`;
        }
        const now = new Date();
        return `${now.getUTCFullYear()}/${zeroPad(now.getUTCMonth() + 1)}/${zeroPad(now.getUTCDate())}`;
    }

    before(() => server.start()
github marblejs / marble / packages / testing / src / spec / testing.spec.ts View on Github external
).collect(peopleCollection);
    (
      await testApi.post('/notes')
        .withBody({
          author: 'Cathy',
          date: '2019-06-11T09:30:00.000Z',
          note: 'This is a sample note.'
        })
        .send()
    ).collect(notesCollection);

    testApi.finish();

    const openApiDoc = doc.generate();

    const validator = new OpenAPIValidator({
      version: '3.0',
    });
    expect(validator.validate(openApiDoc).errors).toEqual([]);
  });
});
github kogosoftwarellc / open-api / packages / openapi-framework / index.ts View on Github external
this.loggingPrefix
        }args.paths and args.operations must not both be empty`
      );
    }

    this.enableObjectCoercion = !!args.enableObjectCoercion;
    this.originalApiDoc = handleYaml(handleFilePath(args.apiDoc));
    this.apiDoc = copy(this.originalApiDoc);
    this.basePaths = this.apiDoc.openapi
      ? getBasePathsFromServers(this.apiDoc.servers)
      : [
          new BasePath({ url: (this.apiDoc.basePath || '').replace(/\/$/, '') })
        ];
    this.validateApiDoc =
      'validateApiDoc' in args ? !!args.validateApiDoc : true;
    this.validator = new OpenAPISchemaValidator({
      version:
        (this.apiDoc as OpenAPIV3.Document).openapi ||
        (this.apiDoc as OpenAPIV2.Document).swagger,
      extensions: this.apiDoc[`x-${this.name}-schema-extension`]
    });
    this.customFormats = args.customFormats;
    this.dependencies = args.dependencies;
    this.errorTransformer = args.errorTransformer;
    this.externalSchemas = args.externalSchemas;
    this.operations = args.operations;
    this.paths = args.paths;
    this.pathsIgnore = args.pathsIgnore;
    this.pathSecurity = Array.isArray(args.pathSecurity)
      ? args.pathSecurity
      : [];
    this.routesGlob = args.routesGlob;

openapi-schema-validator

A validator for OpenAPI documents.

MIT
Latest version published 10 months ago

Package Health Score

75 / 100
Full package analysis

Popular openapi-schema-validator functions