Dorante accepts a JSON schema and provides a stub API server based on it.
Install
npm install dorante --save
Usage
Server
Dorante will start a stub API server when you give it a JSON schema. You can
then make requests to that server, and Dorante will do its best to act like a
real version of the API that the schema represents.
var Dorante = require('dorante');
var get = require('request').get;
var dorante;
get('https://api.example.com/schema', function(err, response, body) {
var schema = JSON.parse(body);
dorante = new Dorante(schema);
dorante.startServer(3000).then(function() {
var port = dorante.server.address().port;
console.log('dorante is listening on port ' + port);
});
});
Certain endpoints for the API can also be stubbed:
var appResponse = dorante.factory('app', { name: 'foo-bar'});
dorante.stub('GET', '/apps', [appResponse], 200);
And unstubbed:
dorante.unstub('GET', '/apps');
dorante.unstubAll();
Factories
Dorante can build factories from your JSON schema:
dorante.factory('account');
dorante.factory('account', { name: 'custom-app-name' });
It'll also extend nested properties:
dorante.factory('app');
dorante.factory('app', { name: 'custom-app', { user: name: 'custom-user' } });