scenario-generator
Version:
From input recipes generate json file containing HTTP requests and responses
43 lines (29 loc) • 1.56 kB
JavaScript
import scenarios from './src/scenario-algorithm.js'
import utils from './src/utils.js'
import {Command} from 'commander'
const program = new Command()
program
.requiredOption('-c, --config <config>', 'Config file in json format')
.option('-w, --workingDirectory <workingDirectory>', 'Working directory')
.option('-o, --override <override>', 'Override global replace tags. Example: tag1=value,tag2=value . No space in string')
program.on('-h, --help', () => {
console.log('')
console.log('Example calls:')
console.log(' $ scenario-generate --config config.json')
console.log(' $ scenario-generate -c config.json')
console.log(' $ scenario-generate --config config.json --override url=http://localhost:8080/led/api/v1,valuDate=2022-10-01')
console.log(' $ scenario-generate -c config.json -o url=http://localhost:8080/led/api/v1,valuDate=2022-10-01')
console.log(' $ scenario-generate -c config.json -w ./test-data -o url=http://localhost:8080/led/api/v1,valuDate=2022-10-01')
})
program.parse(process.argv)
utils.setWorkingDirectory(program.opts().workingDirectory || '.')
const input = utils.openFile(program.opts().config)
input.replace = {
...input.replace,
...(utils.inputOverridesToJson(program.opts().override))
}
const requests = scenarios.createScenarios(input, input.numOfScenarios ? Number.parseInt(input.numOfScenarios) : 1)
const fileName = input.outputFile || 'scenario.json'
utils.saveToFile(fileName, requests)
console.log('Generated scenario to file ' + fileName)