59 lines
1.5 KiB
JavaScript
59 lines
1.5 KiB
JavaScript
import { spawn } from "node:child_process";
|
|
|
|
const scripts = [
|
|
"smoke:tenant",
|
|
"smoke:mfa",
|
|
"smoke:security-events",
|
|
"smoke:device-risk",
|
|
"smoke:audit",
|
|
"smoke:identity",
|
|
"smoke:system-users",
|
|
"smoke:commercial-governance",
|
|
"smoke:invitations",
|
|
"smoke:commercial-ops",
|
|
"smoke:billing-ledger",
|
|
"smoke:release-workflow",
|
|
"smoke:delivery-portal",
|
|
"smoke:oidc",
|
|
"smoke:creator-suite",
|
|
"smoke:model-connectors",
|
|
"smoke:api-clients",
|
|
"smoke:api-rate-limit",
|
|
"smoke:ops",
|
|
"smoke:production-catalog",
|
|
"smoke:production-controls",
|
|
"smoke:worker",
|
|
"smoke:readiness",
|
|
"smoke:media-evidence",
|
|
"smoke:api-media",
|
|
"smoke:compose-evidence",
|
|
"smoke:work-items",
|
|
"smoke:tasks",
|
|
"smoke:notifications",
|
|
"smoke:search",
|
|
"smoke:project-isolation",
|
|
"smoke:project-lifecycle"
|
|
];
|
|
|
|
function run(script) {
|
|
return new Promise((resolve, reject) => {
|
|
const child = spawn(process.platform === "win32" ? "npm.cmd" : "npm", ["run", script], {
|
|
cwd: process.cwd(),
|
|
env: process.env,
|
|
stdio: "inherit"
|
|
});
|
|
child.once("error", reject);
|
|
child.once("exit", (code, signal) => {
|
|
if (code === 0) resolve();
|
|
else reject(new Error(`${script} failed${signal ? ` with ${signal}` : ` with exit code ${code}`}`));
|
|
});
|
|
});
|
|
}
|
|
|
|
for (const script of scripts) {
|
|
console.log(`\n[smoke ${scripts.indexOf(script) + 1}/${scripts.length}] ${script}`);
|
|
await run(script);
|
|
}
|
|
|
|
console.log(`\nall smoke tests passed: ${scripts.length}`);
|