mock-schema-generator
v1.0.1
Published
A tool for generating mock data and implementations based on schema definitions. Ideal for testing and development.
Downloads
2
Maintainers
Readme
Mock Schema Generator
A tool for generating mock data based on schema definitions. Ideal for testing and development, it helps streamline your workflows by providing realistic mock data.
Installation
Install the mock-schema-generator
package using npm:
npm install mock-schema-generator
Usage
Generating JSON Mock Data
Create a file named mockJsonData.js
with the following content:
const fs = require("fs");
const { generateJsonMockData } = require("mock-schema-generator");
// Define the schema for mock data generation
const schema = {
type: "object",
properties: {
name: { type: "string" },
age: { type: "integer" },
isActive: { type: "boolean" },
createdAt: { type: "date" },
tags: {
type: "array",
items: {
type: "object",
properties: {
subName: { type: "string" },
subAge: { type: "integer" },
},
required: ["subName", "subAge"],
},
minItems: 3,
},
nested: {
type: "object",
properties: {
subName: { type: "string" },
subAge: { type: "integer" },
},
required: ["subName", "subAge"],
},
},
required: ["name", "age", "isActive", "createdAt", "tags", "nested"],
};
// Function to generate and save mock JSON data
async function generateAndSaveMockData() {
try {
const mockData = await generateJsonMockData(schema);
const jsonFilePath = "mockData.json";
fs.writeFileSync(jsonFilePath, JSON.stringify(mockData, null, 2), "utf-8");
console.log(`Mock Data (JSON) saved to ${jsonFilePath}`);
} catch (error) {
console.error("Error generating JSON mock data:", error);
}
}
generateAndSaveMockData();
Generating Excel Mock Data
Create a file named mockExcelData.js
with the following content:
const fs = require("fs");
const { generateExcelMockData } = require("mock-schema-generator");
// Define the schema for mock data generation
const schema = {
type: "array",
items: {
type: "object",
properties: {
name: { type: "string" },
age: { type: "integer" },
},
required: ["name", "age"],
},
minItems: 10,
};
// Function to generate and save mock Excel data
async function generateAndSaveMockData() {
try {
const mockExcelBuffer = await generateExcelMockData(schema);
const excelFilePath = "mockData.xlsx";
fs.writeFileSync(excelFilePath, mockExcelBuffer);
console.log(`Mock Data (Excel) saved to ${excelFilePath}`);
} catch (error) {
console.error("Error generating Excel mock data:", error);
}
}
generateAndSaveMockData();
Run the Server
To run the server and generate mock data, use the following commands:
Generate JSON Data:
node mockJsonData.js
Generate Excel Data:
node mockExcelData.js
Summary of Variables
type
: Specifies the data type of the property or structure. Key types include:object
: Represents a structure with key-value pairs.array
: Represents a list of items.string
: A textual value.integer
: A numerical value.boolean
: A true/false value.date
: A date value.
properties
: Defines the structure and data types for the properties within anobject
. Each property is defined by itstype
, which can bestring
,integer
,boolean
,date
,object
, orarray
.required
: Lists the mandatory properties within anobject
. These are the properties that must be included in the generated mock data.items
: Defines the schema for each item within anarray
. Theitems
schema must specify thetype
of the array elements, which can beobject
,string
,integer
,boolean
, ordate
.minItems
: Specifies the minimum number of items required in anarray
.