1.0.0 • Published 10 years ago
mocha-swagger-tests v1.0.0
mocha Swagger tests
Automatic validation of Swagger paths schemas and responses. Using mocha for pretty error outputting.
Supports swagger 1.2 only. Should support any REST api
Usage
var SwaggerTest = require('mocha-swagger-tests');
var app = require('../path/to/something/that/exposes/an/http/server');
var swaggerTest = new SwaggerTest({swaggerPath: '/docs.json'});
// - Optional
swaggerTest.customTest({
requestUrl: '/resource?test-with-query-parameter=1337',
path: '/resource',
method: 'get',
status: 200,
customTest: function (result) {
it('should be leet', function () {
expect(result).to.be('1337');
});
}
});
// - Optional
swaggerTest.before = function(done) {
// Do something to start the server, does not matter if sync or not
swaggerTest.setApp(app);
done();
};
// - Optional
swaggerTest.validParams = {
resourceId: '1337'
};
// - NOT Optional
swaggerTest.run();
API
new SwaggerTest(config)
swaggerPath
, the path to the swagger.json file. Default is /swagger.json
SwaggerTest#customTest = function(request)
request
requestUrl
, the path (plus any query strings) to testpath
, the name of the specs for the path in the swagger.json filemethod
, which method to use (e.g. "get" or "post")status
, which status to expect. Can be used to test error responses toocustomTest
, additional testing of the result, other than the automatic schema validation (e.g. the number of items etc)
SwaggerTest#validParams = {}
validParams
, a key-value map of valid values for path parameters. When encountering a path like /resource/{id}, a property with the same name is expected to be found invalidParams
. This implementation is admittedly a bit fragile.
SwaggerTest#run(callback)
Prepare the tests.
SwaggerTest.run(callback)
Run mocha.
Todo
- Tests
1.0.0
10 years ago