0.5.2 • Published 6 years ago

raml-10-mockup v0.5.2

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

RAML Mock-ups!

Fork of the https://github.com/gextech/raml-mockup repo.

Original repo mostly relies on RAML 0.8 schema definitions, not on 1.0 types. The goal of this project is to implement better support for 1.0 features, types in particular. It uses type examples as mocking data.

Features

  • Uses json-schema-faker for accurate mocked responses (for 0.8 schemas).
  • Uses refaker for resolving remote/local $refs (for 0.8 schemas).
  • It's fully tested and coveraged.
  • Has watch mode built-in.

Improvements in comparison to the original fork

  • Supports all content types, not only application/json
  • Uses Type examples for mocking (if resource-level example is not defined)
  • Readme tweaks

How to setup & use

Install raml-1-mockup globally:

$ npm install -g raml-1-mockup

Then starts a mock-server from your RAML:

$ raml-1-mockup src/api.raml -p 5000 -w

Now you can make requests through the mocked-API:

$ http http://localhost:5000/path/to/resource

The better if you're using httpie.

Options

General

  • --timeout Timeout requests from remote dereferencing.
  • --silent Turns off the reporting through the STDOUT.
  • --watch Enables the watch mode for mock-server.
  • --port Custom port for mock-server.
  • --statuses Use custom statusCode(s) for all matched resources.

Mocking for 0.8 schema definitions

  • --directory Used with --fakeroot to resolve faked references through this directory.
  • --fakeroot BaseURI for references that will fake (i.e. http://json-schema.org).
  • --formats CommonJS module-id or path for custom formats.

Run raml-1-mockup -h to display all usage info.

queryParams

Use the following options for custom responses:

  • _statusCode=200 Force a specific statusCode if its available.
  • _forceExample=true Force defined resource-example if its available.

Issues?

Please open a ticket or feel free for contributing.

Development

Install jasmine-node:

$ npm install -g jasmine-node