Another CLI for json-schema-faker. With Stdin support.
Based on
- https://github.com/oprogramador/json-schema-faker-cli
- https://github.com/json-schema-faker/website-jsf
npm install -g fake-schema-cli
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
-d, --use-default-value Use default values
-y, --yaml YAML input
-h, --help output usage information
- 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
- 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
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