Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

swagger-poser

lemonzinger5MIT0.0.2

Mock data generator based upon a swagger spec

poser, swagger, mocks, generator, json

readme

Swagger Poser

NPM version Build Status Coverage Status Dependency Status Dev Dependency Status

Use Swagger Poser to generate mock data that match a Swagger spec

Install

npm

Install swagger-poser with npm:

npm install swagger-poser --save

Example usage

Basic

var poser = require('swagger-poser');

var json = JSON.parse(fs.readFileSync('swagger.json').toString());

var generator = poser.from(json);

var sample = generator.generate('Pet')

console.log(sample);
// {
//   "name": "veniam quia aliquam molestiae laborum",
//   "photoUrls": [
//     "porro",
//     "tenetur",
//     "id esse tempore adipisci temporibus"
//   ]
// }

Using definition merging

Model specific config

var poser = require('swagger-poser');

var json = JSON.parse(fs.readFileSync('swagger.json').toString());

var petConfigJson = {
    properties: {
        name: {
            faker: 'name.firstName'
        }
    }
});

var generator = poser.from(json).withModelConfig('Pet', petConfigJson);

var sample = generator.generate('Pet')

console.log(sample);
// {
//   "name": "Peter",
//   "photoUrls": [
//     "porro",
//     "tenetur",
//     "id esse tempore adipisci temporibus"
//   ]
// }

General config

var poser = require('swagger-poser');

var json = JSON.parse(fs.readFileSync('swagger.json').toString());

var configJson = {
    {
        Pet: {
            properties: {
                id: {
                    faker: 'random.number'
                },
                name: {
                    faker: 'name.firstName'
                }
            }
        }
    }
});

var generator = poser.from(json).withConfig(configJson);

var sample = generator.generate('Pet')

console.log(sample);
// {
//   "name": "Peter",
//   "photoUrls": [
//     "porro",
//     "tenetur",
//     "id esse tempore adipisci temporibus"
//   ]
// }

Model specific Config applied to all model definitions

var poser = require('swagger-poser');

var json = JSON.parse(fs.readFileSync('swagger.json').toString());

var configJson = {
    properties: {
        name: {
            faker: 'name.firstName'
        }
    }
});

var generator = poser.from(json).withConfigForAllModels(configJson);

var sample = generator.generate('Pet')

console.log(sample);
// {
//   "name": "Peter",
//   "photoUrls": [
//     "porro",
//     "tenetur",
//     "id esse tempore adipisci temporibus"
//   ]
// }