Skip to content

Commit cb8c576

Browse files
authored
test(site): add e2e tests for network (#12987)
1 parent ee7dda8 commit cb8c576

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

site/e2e/api.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { Page } from "@playwright/test";
22
import { expect } from "@playwright/test";
3+
import { formatDuration, intervalToDuration } from "date-fns";
34
import * as API from "api/api";
45
import type { SerpentOption } from "api/typesGenerated";
56
import { coderPort } from "./constants";
@@ -128,6 +129,26 @@ export async function verifyConfigFlagEntries(
128129
});
129130
}
130131

132+
export async function verifyConfigFlagDuration(
133+
page: Page,
134+
config: API.DeploymentConfig,
135+
flag: string,
136+
) {
137+
const opt = findConfigOption(config, flag);
138+
const configOption = page.locator(
139+
`div.options-table .option-${flag} .option-value-string`,
140+
);
141+
await expect(configOption).toHaveText(
142+
formatDuration(
143+
// intervalToDuration takes ms, so convert nanoseconds to ms
144+
intervalToDuration({
145+
start: 0,
146+
end: (opt.value as number) / 1e6,
147+
}),
148+
),
149+
);
150+
}
151+
131152
export function findConfigOption(
132153
config: API.DeploymentConfig,
133154
flag: string,
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { test } from "@playwright/test";
2+
import { getDeploymentConfig } from "api/api";
3+
import {
4+
setupApiCalls,
5+
verifyConfigFlagArray,
6+
verifyConfigFlagBoolean,
7+
verifyConfigFlagDuration,
8+
verifyConfigFlagNumber,
9+
verifyConfigFlagString,
10+
} from "../../api";
11+
12+
test("login with OIDC", async ({ page }) => {
13+
await setupApiCalls(page);
14+
const config = await getDeploymentConfig();
15+
16+
await page.goto("/deployment/network", { waitUntil: "domcontentloaded" });
17+
18+
await verifyConfigFlagString(page, config, "access-url");
19+
await verifyConfigFlagBoolean(page, config, "block-direct-connections");
20+
await verifyConfigFlagBoolean(page, config, "browser-only");
21+
await verifyConfigFlagBoolean(page, config, "derp-force-websockets");
22+
await verifyConfigFlagBoolean(page, config, "derp-server-enable");
23+
await verifyConfigFlagString(page, config, "derp-server-region-code");
24+
await verifyConfigFlagString(page, config, "derp-server-region-code");
25+
await verifyConfigFlagNumber(page, config, "derp-server-region-id");
26+
await verifyConfigFlagString(page, config, "derp-server-region-name");
27+
await verifyConfigFlagArray(page, config, "derp-server-stun-addresses");
28+
await verifyConfigFlagBoolean(page, config, "disable-password-auth");
29+
await verifyConfigFlagBoolean(page, config, "disable-session-expiry-refresh");
30+
await verifyConfigFlagDuration(page, config, "max-token-lifetime");
31+
await verifyConfigFlagDuration(page, config, "proxy-health-interval");
32+
await verifyConfigFlagBoolean(page, config, "redirect-to-access-url");
33+
await verifyConfigFlagBoolean(page, config, "secure-auth-cookie");
34+
await verifyConfigFlagDuration(page, config, "session-duration");
35+
await verifyConfigFlagString(page, config, "tls-address");
36+
await verifyConfigFlagBoolean(page, config, "tls-allow-insecure-ciphers");
37+
await verifyConfigFlagString(page, config, "tls-client-auth");
38+
await verifyConfigFlagBoolean(page, config, "tls-enable");
39+
await verifyConfigFlagString(page, config, "tls-min-version");
40+
});

0 commit comments

Comments
 (0)