0.0.2 • Published 8 years ago

swagger-poser v0.0.2

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

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"
//   ]
// }