Files
pikasTech-HWLAB/web/hwlab-cloud-web/tests/workbench-e2e/specs/project-boundary.spec.ts
T

22 lines
1.1 KiB
TypeScript

import { expect, gotoWorkbench, saveScreenshot, test } from "../fixtures/test";
import { selectors, sessionTab } from "../fixtures/selectors";
test.describe("session authority boundary", () => {
test.use({ scenarioId: "cross-project-detail-boundary" });
test("does not expose a cross-project session through Workbench session routes", async ({ page }, testInfo) => {
const session = await page.request.get("/v1/workbench/sessions/ses_cross_project");
expect(session.status()).toBe(404);
await expect((await session.json()).error.code).toBe("session_not_found");
const messages = await page.request.get("/v1/workbench/sessions/ses_cross_project/messages");
expect(messages.status()).toBe(404);
await expect((await messages.json()).error.code).toBe("session_not_found");
await gotoWorkbench(page, "/workbench/sessions/ses_cross_project");
await expect(page.locator(sessionTab("ses_cross_project"))).toHaveCount(0);
await expect(page.locator(selectors.messageCard)).toHaveCount(0);
await saveScreenshot(page, testInfo, "project-boundary-cross-detail");
});
});