mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
refactor(site): verify deployment config flags in e2e tests (#12986)
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
import { test } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { expect, test } from "@playwright/test";
|
||||
import type * as API from "api/api";
|
||||
import { getDeploymentConfig } from "api/api";
|
||||
import { setupApiCalls, verifyConfigFlag } from "../../api";
|
||||
import {
|
||||
findConfigOption,
|
||||
setupApiCalls,
|
||||
verifyConfigFlagBoolean,
|
||||
verifyConfigFlagNumber,
|
||||
verifyConfigFlagString,
|
||||
} from "../../api";
|
||||
|
||||
test("enabled security settings", async ({ page }) => {
|
||||
await setupApiCalls(page);
|
||||
@@ -8,21 +16,32 @@ test("enabled security settings", async ({ page }) => {
|
||||
|
||||
await page.goto("/deployment/security", { waitUntil: "domcontentloaded" });
|
||||
|
||||
const flags = [
|
||||
"ssh-keygen-algorithm",
|
||||
"secure-auth-cookie",
|
||||
"disable-owner-workspace-access",
|
||||
await verifyConfigFlagString(page, config, "ssh-keygen-algorithm");
|
||||
await verifyConfigFlagBoolean(page, config, "secure-auth-cookie");
|
||||
await verifyConfigFlagBoolean(page, config, "disable-owner-workspace-access");
|
||||
|
||||
"tls-redirect-http-to-https",
|
||||
"strict-transport-security",
|
||||
"tls-address",
|
||||
"tls-allow-insecure-ciphers",
|
||||
"tls-client-auth",
|
||||
"tls-enable",
|
||||
"tls-min-version",
|
||||
];
|
||||
|
||||
for (const flag of flags) {
|
||||
await verifyConfigFlag(page, config, flag);
|
||||
}
|
||||
await verifyConfigFlagBoolean(page, config, "tls-redirect-http-to-https");
|
||||
await verifyStrictTransportSecurity(page, config);
|
||||
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");
|
||||
});
|
||||
|
||||
async function verifyStrictTransportSecurity(
|
||||
page: Page,
|
||||
config: API.DeploymentConfig,
|
||||
) {
|
||||
const flag = "strict-transport-security";
|
||||
const opt = findConfigOption(config, flag);
|
||||
if (opt.value !== 0) {
|
||||
await verifyConfigFlagNumber(page, config, flag);
|
||||
return;
|
||||
}
|
||||
|
||||
const configOption = page.locator(
|
||||
`div.options-table .option-${flag} .option-value-string`,
|
||||
);
|
||||
await expect(configOption).toHaveText("Disabled");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user