Files
coder/site/e2e/constants.ts
T
ケイラ 5f4ff58f84 fix: use pre-built binary instead of go run in e2e tests (#16236)
Using `go run` inside of a test is fragile, because it means we have to
wait for `go` to compile the binary while also constrained on resources
by the fact that Playwright and coderd are already running. We should
instead compile a coder binary for the current platform before the tests
and use it directly.
2025-01-23 09:45:50 -07:00

83 lines
2.4 KiB
TypeScript

import * as path from "node:path";
export const coderBinary = path.join(__dirname, "./bin/coder");
// Default port from the server
export const coderPort = process.env.CODER_E2E_PORT
? Number(process.env.CODER_E2E_PORT)
: 3111;
export const prometheusPort = 2114;
export const workspaceProxyPort = 3112;
// Use alternate ports in case we're running in a Coder Workspace.
export const agentPProfPort = 6061;
export const coderdPProfPort = 6062;
// The name of the organization that should be used by default when needed.
export const defaultOrganizationName = "coder";
export const defaultPassword = "SomeSecurePassword!";
// Credentials for users
export const users = {
admin: {
username: "admin",
password: defaultPassword,
email: "admin@coder.com",
},
auditor: {
username: "auditor",
password: defaultPassword,
email: "auditor@coder.com",
roles: ["Template Admin", "Auditor"],
},
user: {
username: "user",
password: defaultPassword,
email: "user@coder.com",
},
} satisfies Record<
string,
{ username: string; password: string; email: string; roles?: string[] }
>;
export const gitAuth = {
deviceProvider: "device",
webProvider: "web",
// These ports need to be hardcoded so that they can be
// used in `playwright.config.ts` to set the environment
// variables for the server.
devicePort: 50515,
webPort: 50516,
authPath: "/auth",
tokenPath: "/token",
codePath: "/code",
validatePath: "/validate",
installationsPath: "/installations",
};
/**
* Will make the tests fail if set to `true` and a license was not provided.
*/
export const premiumTestsRequired = Boolean(
process.env.CODER_E2E_REQUIRE_PREMIUM_TESTS,
);
export const license = process.env.CODER_E2E_LICENSE ?? "";
/**
* Certain parts of the UI change when organizations are enabled. Organizations
* are enabled by a license entitlement, and license configuration is guaranteed
* to run before any other tests, so having this as a bit of "global state" is
* fine.
*/
export const organizationsEnabled = Boolean(license);
// Disabling terraform tests is optional for environments without Docker + Terraform.
// By default, we opt into these tests.
export const requireTerraformTests = !process.env.CODER_E2E_DISABLE_TERRAFORM;
// Fake experiments to verify that site presents them as enabled.
export const e2eFakeExperiment1 = "e2e-fake-experiment-1";
export const e2eFakeExperiment2 = "e2e-fake-experiment-2";