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 type { Page } from "@playwright/test";
|
||||||
import { expect } from "@playwright/test";
|
import { expect } from "@playwright/test";
|
||||||
|
import { formatDuration, intervalToDuration } from "date-fns";
|
||||||
import * as API from "api/api";
|
import * as API from "api/api";
|
||||||
import type { SerpentOption } from "api/typesGenerated";
|
import type { SerpentOption } from "api/typesGenerated";
|
||||||
import { coderPort } from "./constants";
|
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(
|
export function findConfigOption(
|
||||||
config: API.DeploymentConfig,
|
config: API.DeploymentConfig,
|
||||||
flag: string,
|
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