2022-07-07 21:45:38 +00:00
|
|
|
import axios from "axios";
|
|
|
|
import primary from "./primary.js";
|
|
|
|
import secondary from "./secondary.js";
|
|
|
|
import single from "./single.js";
|
|
|
|
import failing from "./failing.js";
|
|
|
|
|
|
|
|
// Constants
|
2022-07-12 22:06:33 +00:00
|
|
|
const endLiveCount = 5;
|
2022-07-07 21:45:38 +00:00
|
|
|
const reportingUrl = `${process.env.QUALITEER_URL}/api/dev/rabbit/TestResults`;
|
|
|
|
// Pull args
|
|
|
|
const args = process.argv.slice(2);
|
2022-07-12 22:07:44 +00:00
|
|
|
const test = (args.find((v) => v.includes("test=")) ?? "").replace("test=", "");
|
|
|
|
const pipelineData = (
|
|
|
|
args.find((v) => v.includes("pipelineData=")) ?? ""
|
|
|
|
).replace("pipelineData=", "");
|
|
|
|
const pipelineTriggers = (
|
|
|
|
args.find((v) => v.includes("pipelineTriggers=")) ?? ""
|
|
|
|
).replace("pipelineTriggers=", "");
|
|
|
|
const pipelineDashboardSocket =
|
|
|
|
(args.find((v) => v.includes("pipelineDashboardSocket=")) ?? "").replace(
|
|
|
|
"pipelineDashboardSocket=",
|
|
|
|
""
|
|
|
|
) || undefined;
|
2022-07-07 21:45:38 +00:00
|
|
|
|
|
|
|
const logNow = () => console.log(Date.now());
|
|
|
|
const liveIndicator = () => {
|
|
|
|
for (var i = 0; i < endLiveCount; i++) setTimeout(logNow, i * 1000);
|
2022-07-12 22:07:44 +00:00
|
|
|
};
|
2022-07-07 21:45:38 +00:00
|
|
|
|
|
|
|
const runTests = () => {
|
|
|
|
switch (test) {
|
|
|
|
case "primary":
|
|
|
|
return primary();
|
2022-07-12 22:07:44 +00:00
|
|
|
case "secondary":
|
2022-07-07 21:45:38 +00:00
|
|
|
return secondary(pipelineData);
|
|
|
|
case "single":
|
|
|
|
return single();
|
|
|
|
case "failing":
|
|
|
|
return failing();
|
|
|
|
default:
|
|
|
|
return single();
|
|
|
|
}
|
2022-07-12 22:07:44 +00:00
|
|
|
};
|
2022-07-07 21:45:38 +00:00
|
|
|
|
|
|
|
// Run
|
|
|
|
liveIndicator();
|
2022-07-12 22:07:44 +00:00
|
|
|
setTimeout(() => {
|
|
|
|
const status = runTests();
|
|
|
|
const testResult = {
|
|
|
|
...status,
|
|
|
|
name: test,
|
|
|
|
pipelineTriggers: pipelineTriggers ? pipelineTriggers : undefined,
|
|
|
|
pipelineDashboardSocket,
|
|
|
|
};
|
|
|
|
axios.post(reportingUrl, { testResult }).catch((e) => {
|
|
|
|
console.log(e.response.status);
|
|
|
|
});
|
|
|
|
}, endLiveCount * 1000);
|