0.0.0-alpha.3 • Published 7 years ago

mirage-openapi v0.0.0-alpha.3

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

mirage-openapi

npm version Build Status codecov

WARNING: This is a work in progress and is not yet meant for real-world use. Please feel free to file an issue or open a pull request if you come across any bugs.

mirage-openapi is a plugin for ember-cli-mirage that consumes openAPI/swagger documentation and mocks endpoints at runtime.

Install

$ npm install --dev mirage-openapi

You'll also need to install ember-browserify and ember-cli-mirage if not already present:

$ ember install ember-browserify ember-cli-mirage

Usage Examples

Consume swagger schema:

// ./mirage/config.js

import mirageOpenAPI from 'npm:mirage-openapi';

export default function() {
  mirageOpenAPI({
    server: this,
    configs: [{
      definition: "http://petstore.swagger.io/v2/swagger.json",
      namespace: "http://petstore.swagger.io/v2"
    }]
  });
}

Override routes defined in swagger schema:

// ./mirage/config.js

import mirageOpenAPI from 'npm:mirage-openapi';

export default function() {
  // Custom handler for /pet/:id route
  this.get("/pet/:id", function(schema, request) {
    return schema.pets.find(request.params.id);
  });

  mirageOpenAPI({
    server: this,
    configs: [{
      definition: "http://petstore.swagger.io/v2/swagger.yaml",
      namespace: "/"
    }]
  });
}