test(site): add e2e tests for network (#12987)

This commit is contained in:
Marcin Tojek 2024-04-17 16:06:49 +02:00 committed by GitHub
parent ee7dda8111
commit cb8c576c93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 61 additions and 0 deletions

View File

@ -1,5 +1,6 @@
import type { Page } from "@playwright/test";
import { expect } from "@playwright/test";
import { formatDuration, intervalToDuration } from "date-fns";
import * as API from "api/api";
import type { SerpentOption } from "api/typesGenerated";
import { coderPort } from "./constants";
@ -128,6 +129,26 @@ export async function verifyConfigFlagEntries(
});
}
export async function verifyConfigFlagDuration(
page: Page,
config: API.DeploymentConfig,
flag: string,
) {
const opt = findConfigOption(config, flag);
const configOption = page.locator(
`div.options-table .option-${flag} .option-value-string`,
);
await expect(configOption).toHaveText(
formatDuration(
// intervalToDuration takes ms, so convert nanoseconds to ms
intervalToDuration({
start: 0,
end: (opt.value as number) / 1e6,
}),
),
);
}
export function findConfigOption(
config: API.DeploymentConfig,
flag: string,

View File

@ -0,0 +1,40 @@
import { test } from "@playwright/test";
import { getDeploymentConfig } from "api/api";
import {
setupApiCalls,
verifyConfigFlagArray,
verifyConfigFlagBoolean,
verifyConfigFlagDuration,
verifyConfigFlagNumber,
verifyConfigFlagString,
} from "../../api";
test("login with OIDC", async ({ page }) => {
await setupApiCalls(page);
const config = await getDeploymentConfig();
await page.goto("/deployment/network", { waitUntil: "domcontentloaded" });
await verifyConfigFlagString(page, config, "access-url");
await verifyConfigFlagBoolean(page, config, "block-direct-connections");
await verifyConfigFlagBoolean(page, config, "browser-only");
await verifyConfigFlagBoolean(page, config, "derp-force-websockets");
await verifyConfigFlagBoolean(page, config, "derp-server-enable");
await verifyConfigFlagString(page, config, "derp-server-region-code");
await verifyConfigFlagString(page, config, "derp-server-region-code");
await verifyConfigFlagNumber(page, config, "derp-server-region-id");
await verifyConfigFlagString(page, config, "derp-server-region-name");
await verifyConfigFlagArray(page, config, "derp-server-stun-addresses");
await verifyConfigFlagBoolean(page, config, "disable-password-auth");
await verifyConfigFlagBoolean(page, config, "disable-session-expiry-refresh");
await verifyConfigFlagDuration(page, config, "max-token-lifetime");
await verifyConfigFlagDuration(page, config, "proxy-health-interval");
await verifyConfigFlagBoolean(page, config, "redirect-to-access-url");
await verifyConfigFlagBoolean(page, config, "secure-auth-cookie");
await verifyConfigFlagDuration(page, config, "session-duration");
await verifyConfigFlagString(page, config, "tls-address");
await verifyConfigFlagBoolean(page, config, "tls-allow-insecure-ciphers");
await verifyConfigFlagString(page, config, "tls-client-auth");
await verifyConfigFlagBoolean(page, config, "tls-enable");
await verifyConfigFlagString(page, config, "tls-min-version");
});