mirror of https://github.com/coder/coder.git
test(site): add e2e tests for network (#12987)
This commit is contained in:
parent
ee7dda8111
commit
cb8c576c93
|
@ -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,
|
||||
|
|
|
@ -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");
|
||||
});
|
Loading…
Reference in New Issue