Skip to content
This repository has been archived by the owner on Dec 5, 2023. It is now read-only.

Uplight-Inc/fake-schema-cli

 
 

Repository files navigation

fake-schema-cli

Build Status npm version

Another CLI for json-schema-faker. With Stdin support.

Based on

Install

npm install -g fake-schema-cli

Usage

 Usage: fake-schema address.schema.json

  Options:

    -r, --rootSchema <value>         Set root schema from definitions, useful when faking Swagger specs.
    -l, --locale [value]             Faker locale. Review Faker.js for more details.
    -i, --max-items <n>              Configure a maximum amount of items to generate in an array. This will override the maximum items found inside a JSON Schema
    -m, --max-length <n>             Configure a maximum length to allow generating strings for. This will override the maximum length found inside a JSON Schema
    -p, --optionals-probability <n>  When 0.0, only required properties will be generated; when 1.0, all properties are generated
    -y, --yaml                       YAML input
    -h, --help                       output usage information

Examples

  • Faking local Yaml Schemes

fake-schema <file> -y

  • Faking local JSON Schemes

cat InnerReferences.yaml | fake-schema -y -l es_MX

  • Faking local JSON Schemes with color

cat InnerReferences.yaml | fake-schema -y -l es_MX | jq .

  • Faking remotes JSON Schemes using httpie
http https://json-schema.org/learn/examples/address.schema.json | fake-schema
  • Faking remotes JSON Schemes using curl
curl --silent https://json-schema.org/learn/examples/address.schema.json | fake-schema

Pipe

  • Update result

http https://json-schema.org/learn/examples/address.schema.json | node lib/index.js | jq '.locality|="atoms"'

  • Pipe web services
http https://json-schema.org/learn/examples/address.schema.json | fake-schema | http POST http://bin.org/post
  • Save to file via redirect output

cat InnerReferences.yaml | fake-schema -y -l es_MX > file

Motivation

The website-jsf is awesome but I just want to write bash script to populate environments,.

#!/usr/bin/env bash

USER_ID=$(http :8080/swagger.yaml | fake-schema -y -r user | http POST :8080/api/user | jq .id)
http :8080/swagger.yaml | fake-schema -y -r purchase | jq  "'.user.id|=\"$USER_ID\"'" | http post :8080/api/purchase

Tools used on examples

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%