/home/techb158/balavpn.abdallabala.com/tests
NameSizeModeActions
idempotency.test.js17130644editdlrm
integration-service.test.js23340644editdlrm
live-pm-clients.test.js38860644editdlrm
local-server.test.js56850644editdlrm
metrics.test.js16910644editdlrm
oidc.test.js23670644editdlrm
rate-limit.test.js14140644editdlrm
saas-domain.test.js31370644editdlrm
tenant-security.test.js11840644editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/tests/local-server.test.js (5685B)
const assert = require("assert"); const { server } = require("../local-server"); const port = 8890 + Math.floor(Math.random() * 100); const baseUrl = `http://127.0.0.1:${port}`; function listen() { return new Promise(resolve => server.listen(port, resolve)); } function close() { return new Promise(resolve => server.close(resolve)); } async function request(pathname, options = {}) { const response = await fetch(`${baseUrl}${pathname}`, { method: options.method || "GET", headers: Object.assign({ "Content-Type": "application/json" }, options.headers || {}), body: options.body ? JSON.stringify(options.body) : undefined }); const contentType = response.headers.get("content-type") || ""; const body = contentType.includes("application/json") ? await response.json() : await response.text(); return { response, body }; } (async () => { await listen(); try { const page = await request("/dashboard"); assert.ok(String(page.body).includes("COSMIC AI-Risk Dashboard")); const health = await request("/api/health"); assert.strictEqual(health.body.status, "ok"); const ready = await request("/api/ready"); assert.strictEqual(ready.body.ok, true); const me = await request("/api/auth/me"); assert.strictEqual(me.body.actor.email, "super-owner@cosmic.local"); const users = await request("/api/users"); assert.ok(users.body.users.length >= 2); const roles = await request("/api/roles"); assert.ok(roles.body.roles.find(role => role.code === "owner")); const invite = await request("/api/auth/invite", { method: "POST", body: { organizationId: "org-demo", email: "pilot@cosmic.local", roleCode: "viewer" } }); assert.strictEqual(invite.response.status, 201); const accepted = await request("/api/auth/accept-invite", { method: "POST", body: { token: invite.body.invitation.token, displayName: "Pilot Viewer" } }); assert.strictEqual(accepted.body.user.email, "pilot@cosmic.local"); const workspaces = await request("/api/workspaces"); const workspaceId = workspaces.body.workspaces[0].id; const projects = await request(`/api/workspaces/${workspaceId}/projects`); const projectId = projects.body.projects[0].id; const dashboard = await request(`/api/projects/${projectId}/dashboard`); assert.ok(dashboard.body.dashboard.summary.totalRisks >= 35); const createdRisk = await request(`/api/projects/${projectId}/risks`, { method: "POST", body: { title: "Full SaaS local test risk", probability: 4, impact: 4, detectability: 3, dimension: "Technical" } }); const riskId = createdRisk.body.risk.id; assert.strictEqual(createdRisk.response.status, 201); const updatedRisk = await request(`/api/risks/${riskId}`, { method: "PATCH", body: { status: "In mitigation" } }); assert.strictEqual(updatedRisk.body.risk.status, "IN_MITIGATION"); const mitigation = await request(`/api/risks/${riskId}/mitigations`, { method: "POST", body: { title: "Full local mitigation", progressPercent: 80, effectivenessPercent: 70, evidenceTitle: "Local evidence" } }); assert.strictEqual(mitigation.response.status, 201); const mitigationId = mitigation.body.mitigation.id; const patchedMitigation = await request(`/api/mitigations/${mitigationId}`, { method: "PATCH", body: { status: "Done", progressPercent: 100 } }); assert.strictEqual(patchedMitigation.body.mitigation.status, "DONE"); const evidence = await request(`/api/mitigations/${mitigationId}/evidence`, { method: "POST", body: { title: "Final evidence", uri: "internal://evidence" } }); assert.strictEqual(evidence.response.status, 201); const gate = await request(`/api/projects/${projectId}/gate/evaluate`, { method: "POST" }); assert.strictEqual(gate.response.status, 201); const history = await request(`/api/projects/${projectId}/gate/history`); assert.ok(history.body.gates.length >= 1); const decision = await request(`/api/gates/${gate.body.gate.id}/decisions`, { method: "POST", body: { decision: "NEEDS_CHANGES", reason: "Local test review" } }); assert.strictEqual(decision.response.status, 201); const providers = await request("/api/integration-providers"); assert.strictEqual(providers.body.providers.length, 4); const integrations = await request(`/api/workspaces/${workspaceId}/integrations`); const integrationId = integrations.body.integrations[0].id; const sync = await request(`/api/integrations/${integrationId}/sync`, { method: "POST" }); assert.strictEqual(sync.body.syncRun.status, "Completed"); const billing = await request("/api/billing/subscription", { method: "PATCH", body: { status: "ACTIVE", planCode: "team" } }); assert.strictEqual(billing.body.subscription.status, "ACTIVE"); const report = await request(`/api/projects/${projectId}/reports/full`); assert.ok(report.body.dashboard.summary.totalRisks >= 36); const csv = await request(`/api/projects/${projectId}/reports/risk-register.csv`); assert.ok(String(csv.body).includes("normalizedScore")); const html = await request(`/api/projects/${projectId}/reports/executive.html`); assert.ok(String(html.body).includes("Overall score")); const audit = await request(`/api/projects/${projectId}/audit`); assert.ok(audit.body.auditEvents.length >= 1); const deleted = await request(`/api/risks/${riskId}`, { method: "DELETE" }); assert.strictEqual(deleted.body.deleted, true); console.log("All COSMIC SaaS local platform tests passed."); } finally { await close(); } })().catch(async error => { console.error(error); try { await close(); } catch (_error) {} process.exit(1); });