Skip to content
Generate an API mock service from a RAML definition using Osprey
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
example
test
.editorconfig
.gitignore
.travis.yml
LICENSE
README.md
osprey-mock-service.js
package-lock.json
package.json

README.md

Osprey Mock Service

Greenkeeper badge

NPM version NPM downloads Build status Test coverage

Generate an API mock service from a RAML definition using Osprey.

Usage

Global (CLI)

npm install -g osprey-mock-service

Start the service from the CLI. This will automatically use the baseUri as the path to the mock service. For example, http://example.com/api will result in http://localhost:{PORT}/api.

osprey-mock-service -f api.raml -p 3000 --cors

Options

  • -f Path to the root RAML definition (E.g. /path/to/api.raml)
  • -p Port number to bind the server locally
  • --cors Enable CORS with the API

Locally (JavaScript)

npm install osprey-mock-service --save

The mocking service simply accepts a RAML definition and returns a router that can be mounted into any Connect-style middleware layer or even used with http. Best used with osprey to support incoming validation automatically.

var mockService = require('../osprey-mock-service')
var express = require('express')
var parser = require('raml-1-parser')
var path = require('path')
var osprey = require('osprey')

var app = express()

parser.loadRAML(path.join(__dirname, 'api.raml'), { rejectOnErrors: true })
  .then(function (ramlApi) {
    var raml = ramlApi.expand(true).toJSON({ serializeMetadata: false })
    app.use(osprey.server(raml))
    app.use(mockService(raml))
    app.listen(3000)
  })

Additional methods

  • createServer Creates a mock service instance with Osprey
  • createServerFromBaseUri Creates a mock service with Osprey and uses the base URI path
  • loadFile Creates a mock service with Osprey and the base URI path from a RAML file

License

Apache License 2.0

You can’t perform that action at this time.