Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
This repository has been archived by the owner. It is now read-only.
Mock OpenAPI responses in ember-cli-mirage
JavaScript
Branch: develop
Clone or download
Cannot retrieve the latest commit at this time.
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.babelrc
.eslintignore
.eslintrc.js
.gitignore
.npmignore
.travis.yml
README.md
package.json
yarn.lock

README.md

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.

This package pairs well with ember-cli-openapi-generate.

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: "/"
    }]
  });
}
You can’t perform that action at this time.