diff --git a/src/builder.js b/src/builder.js index dd0d52b..d242eb4 100644 --- a/src/builder.js +++ b/src/builder.js @@ -2,7 +2,6 @@ const crypto = require("crypto"); const scenario = require("./scenario"); const config = require("./config"); -const request = require("./request").request; function builder(scenarioName, scenarioConfig) { const scenes = []; @@ -21,9 +20,9 @@ function builder(scenarioName, scenarioConfig) { } function parseScenario(scenarioString) { - const parsedScenario = scenarioString.split(" "); + const [scenarioName, scrnarioConfig] = scenarioString.split(" "); - return builder(parsedScenario[0], parseScenarioConfig(parsedScenario[1])); + return builder(scenarioName, parseScenarioConfig(scrnarioConfig)); } function parseScenarioConfig(scenarioConfigString) { diff --git a/src/executor.js b/src/parser.js similarity index 62% rename from src/executor.js rename to src/parser.js index 5885e51..53c6f2e 100644 --- a/src/executor.js +++ b/src/parser.js @@ -1,13 +1,19 @@ const setTimeout = require("timers/promises").setTimeout; +const readFile = require("fs").readFile; const parseScenario = require("./builder").parseScenario; const request = require("./request").request; -let scenarioFile = `reset_pin current_pin=2222,new_pin=3333\nreset_pin current_pin=3333,new_pin=4444`; +readFile(process.argv[2], "utf8", (err, data) => { + if (err) { + return console.log(err); + } + execute(data); +}); -const parsedScenarioFile = scenarioFile.split("\n"); +async function execute(input) { + const parsedScenarioFile = input.split("\n"); -async function execute() { for (const work of parsedScenarioFile) { const parsedWork = parseScenario(work); @@ -17,5 +23,3 @@ async function execute() { } } } - -execute(); diff --git a/src/request.js b/src/request.js index a31a045..a9531a6 100644 --- a/src/request.js +++ b/src/request.js @@ -16,10 +16,10 @@ async function request(builtObject) { }; try { + console.log(rangi.yellow(`${builtObject.input}\n-------------`)); const { body } = await phin(requestOptions); if (body.length > 1) { - console.log(rangi.yellow(`${builtObject.input}\n-------------`)); console.log(rangi.cyan(`${body.slice(4)}\n-------------`)); return; diff --git a/src/sample_scenrios b/src/sample_scenrios new file mode 100644 index 0000000..2c8d97e --- /dev/null +++ b/src/sample_scenrios @@ -0,0 +1,4 @@ +reset_pin current_pin=2222,new_pin=3333 +reset_pin current_pin=3333,new_pin=2222 +send_tx to=0727806655,amount=1,pin=2222 +send_tx to=0706533739,amount=1,pin=2222 \ No newline at end of file diff --git a/src/scenario.js b/src/scenario.js index 937b791..2eccac6 100644 --- a/src/scenario.js +++ b/src/scenario.js @@ -13,4 +13,14 @@ module.exports = { }, ]; }, + send_tx: function (input) { + return [ + { input: `` }, + { input: `1` }, + { input: `1*${input.to}` }, + { input: `1*${input.to}*${input.amount}` }, + { input: `1*${input.to}*${input.amount}*${input.pin}` }, + { input: `1*${input.to}*${input.amount}*${input.pin}*99` }, + ]; + }, };