swagmock v1.0.0
swagmock
Mock data generator for swagger api
Install
npm install swagmockUsage
var apiPath = 'http://petstore.swagger.io/v2/swagger.json';
var Swagmock = require('swagmock');
var mockgen = Swagmock(apiPath);
var assert = require('assert');
mockgen.responses({
path: '/pet/findByStatus',
operation: 'get',
response: 200
}, function (error, mock) {
assert.ifError(error);
console.log(mock);
//This would print:
// {
// "responses": [{
// "id": 2530624032210944,
// "category": {
// "id": 8200505595527168,
// "name": "r($vA&"
// },
// "name": "doggie",
// "photoUrls": ["p0x1", "6O)3*kO"],
// "tags": [{
// "id": 4590764340281344,
// "name": "WCTA6f!"
// }, {
// "id": -4614156653166592,
// "name": "e"
// }],
// "status": "pending"
// }]
// }
});
mockgen.parameters({
path: '/pet/findByStatus',
operation: 'get'
}, function (error, mock) {
assert.ifError(error);
console.log(mock);
//This would print:
// {
// "parameters": {
// "query": [{
// "name": "status",
// "value": [ 'available', 'pending' ],
// "separator": "multi"
// }]
// }
// }
});Check Examples for more details on mock generators.
API
Swagmock(apiPath)
apiPath- (String) - (required) - The url or local path of the Swagger api.
responses
mockgen.responses(options, callback)
This generates the mock response objects based on the options
options- (Object) - (required) - Options to control the mock generation.callback- (Function) - (required) -function (error, mock).
options
path- (String) - (optional) - The path for which the response mock need to be generated. For example/pet/findByStatus,/petetc. If apathis not specified, mock response will be generated for all the paths defined by the swagger api.operation- (String) - (optional) - The operation for which the response mock need to be generated. For exampleget,postetc. Ifoperationis not specified, mock response will be generated for all the operations defined by the swagger api.response- (String) - (optional) - The response for which the response mock need to be generated. For example200,400,defaultetc. Ifresponseis not specified, mock response will be generated for all the responses defined by the swagger api.
parameters
mockgen.parameters(options, callback)
This generates the mock parameters objects based on the options
options- (Object) - (required) - Options to control the mock generation.callback- (Function) - (required) -function (error, mock).
options
path- (String) - (optional) - The path for which the parameters mock need to be generated. For example/pet/findByStatus,/petetc. If apathis not specified, mock parameters will be generated for all the paths defined by the swagger api.operation- (String) - (optional) - The operation for which the parameters mock need to be generated. For exampleget,postetc. Ifoperationis not specified, mock parameters will be generated for all the operations defined by the swagger api.
requests
mockgen.requests(options, callback)
This generates the mock request object based on the options. requests API resolves the parameters mock data to generate the request mock object useful for unit tests.
options- (Object) - (required) - Options to control the mock generation.callback- (Function) - (required) -function (error, mock).
options
path- (String) - (optional) - The path for which the parameters mock need to be generated. For example/pet/findByStatus,/petetc. If apathis not specified, mock parameters will be generated for all the paths defined by the swagger api.operation- (String) - (optional) - The operation for which the parameters mock need to be generated. For exampleget,postetc. Ifoperationis not specified, mock parameters will be generated for all the operations defined by the swagger api.
data
request Object will have following possible properties query, header, pathname, path, formData or body based on the parameters defined for the path and operation.
Mock request Path templates are resolved using path parameters.
mockgen.requests({
path: '/pet/findByStatus',
operation: 'get'
}, function (error, mock) {
assert.ifError(error);
console.log(mock);
//This would print:
// {
// "request": {
// "query": "status=available&status=pending"
// }
// }
});Examples
API
Unit test request mocks
Mock response data providers
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago