Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dorante

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dorante

stub an API from a JSON schema

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

dorante Build Status

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');

// or...

dorante.unstubAll();

Factories

Dorante can build factories from your JSON schema:

dorante.factory('account');

// {
//   created_at: '2012-01-01T12:00:00Z',
//   name      : 'example-user'
// }

dorante.factory('account', { name: 'custom-app-name' });

// {
//   created_at: '2012-01-01T12:00:00Z',
//   name      : 'custom-user-name'
// }

It'll also extend nested properties:

dorante.factory('app');

// {
//   created_at: '2012-01-01T12:00:00Z',
//   name      : 'example-app',
//   owner     : {
//     created_at: '2012-01-01T12:00:00Z',
//     name      : 'example-user'
//   }
// }

dorante.factory('app', { name: 'custom-app', { user: name: 'custom-user' } });

// {
//   created_at: '2012-01-01T12:00:00Z',
//   name      : 'custom-app',
//   owner     : {
//     created_at: '2012-01-01T12:00:00Z',
//     name      : 'custom-user'
//   }
// }

Keywords

FAQs

Package last updated on 29 May 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc