0.0.2 • Published 10 years ago

swagger-poser v0.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
10 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"
//   ]
// }