rpki/ui/rpki-explorer/tests/e2e/projection-cert-crl.spec.ts

38 lines
2.0 KiB
TypeScript

import { expect, test } from "@playwright/test";
import { installMockApi } from "./mockApi";
test.beforeEach(async ({ page }) => {
await installMockApi(page);
});
test("certificate object renders the resourceCertificate projection", async ({ page }) => {
await page.goto("/objects/obj-cer-0001");
await expect(page.getByText("Serial number")).toBeVisible();
await expect(page.getByText("02C6C7")).toBeVisible();
await expect(page.getByText("CN=A90DC5BE, serialNumber=0E65A4F5")).toBeVisible();
await expect(page.getByText("CN=A9114E750000, serialNumber=5A179648")).toBeVisible();
await expect(page.getByText("5a179648b3ef2369dce7bdb58140ff7dc7060abf").first()).toBeVisible();
await expect(page.getByText("rsync://repo-a.example/ca1/main.crl")).toBeVisible();
// IP resources rendered from the real serde shape (prefix + range, v4 + v6)
await expect(page.getByText("103.152.34.0/23")).toBeVisible();
await expect(page.getByText("192.0.2.0 - 192.0.2.255")).toBeVisible();
await expect(page.getByText("2606:6800::/32")).toBeVisible();
// AS resources rendered as AS chips (Id + Range)
await expect(page.getByText("AS38008", { exact: true })).toBeVisible();
await expect(page.getByText("AS65536-AS65551")).toBeVisible();
await expect(page.getByText("1.2.840.113549.1.1.11")).toBeVisible();
});
test("crl object renders header fields from the top-level payload", async ({ page }) => {
await page.goto("/objects/obj-crl-0001");
await expect(page.getByText("CN=A9114E750000, serialNumber=5A179648")).toBeVisible();
await expect(page.getByText("CRL number")).toBeVisible();
await expect(page.getByText("0D42")).toBeVisible();
await expect(page.getByText("5a179648b3ef2369dce7bdb58140ff7dc7060abf")).toBeVisible();
// Revoked certificates table from the sub-endpoint
await expect(page.getByRole("cell", { name: "1B0B0AD86D78E77D1491B5069E6287D08EEA7C17" })).toBeVisible();
await expect(page.getByRole("cell", { name: "6A106263F88133615B7E8D3466C192CEC0904F2D" })).toBeVisible();
});