const crypto = require("crypto"); const scenario = require("./scenario"); const config = require("./config"); const request = require("./request").request; function builder(scenarioName, scenarioConfig) { const scenes = []; const builtScenario = scenario[scenarioName](scenarioConfig); const sessionId = crypto.randomBytes(16).toString("hex"); for (const scene of builtScenario) { scene.sessionId = sessionId; Object.assign(scene, config); scenes.push(scene); } return scenes; } function parseScenario(scenarioString) { const parsedScenario = scenarioString.split(" "); return builder(parsedScenario[0], parseScenarioConfig(parsedScenario[1])); } function parseScenarioConfig(scenarioConfigString) { const configs = scenarioConfigString.split(","); const configObject = {}; for (const conf of configs) { [key, value] = conf.split("="); configObject[key] = value; } return configObject; } module.exports = { parseScenario };