f178f0400b
* docs: update maintaining * chore(e2e): add maxFailures to playwright * fix(ci): skip submodule in e2e job We don't need the submodules for the e2e job. This will speed up the checkout step. * feat(ci): add test-e2e-proxy job This adds a new job to CI to run our tests behind Caddy and simulate code-server running against a reverse-proxy. * refactor: make e2e work with reverse proxy This refactors the e2e test in a couple ways: - remove setting cookie in localStorage (instead we pass --auth none) - refactor address() method to account for reverse proxy logic * Update test/e2e/models/CodeServer.ts * Update test/playwright.config.ts * Update test/utils/constants.ts Co-authored-by: Asher <ash@coder.com> * Update test/utils/helpers.ts Co-authored-by: Asher <ash@coder.com> Co-authored-by: Asher <ash@coder.com>
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import * as path from "path"
|
|
import { test as base } from "@playwright/test"
|
|
import { describe, test, expect } from "./baseFixture"
|
|
import { getMaybeProxiedCodeServer } from "../utils/helpers"
|
|
|
|
function runTestExtensionTests() {
|
|
// This will only work if the test extension is loaded into code-server.
|
|
test("should have access to VSCODE_PROXY_URI", async ({ codeServerPage }) => {
|
|
const address = await getMaybeProxiedCodeServer(codeServerPage)
|
|
|
|
await codeServerPage.executeCommandViaMenus("code-server: Get proxy URI")
|
|
|
|
const text = await codeServerPage.page.locator(".notification-list-item-message").textContent()
|
|
// Remove end slash in address
|
|
const normalizedAddress = address.replace(/\/+$/, "")
|
|
expect(text).toBe(`${normalizedAddress}/proxy/{{port}}`)
|
|
})
|
|
}
|
|
|
|
const flags = ["--extensions-dir", path.join(__dirname, "./extensions")]
|
|
|
|
describe("Extensions", flags, {}, () => {
|
|
runTestExtensionTests()
|
|
})
|
|
|
|
if (process.env.USE_PROXY !== "1") {
|
|
describe("Extensions with --cert", [...flags, "--cert"], {}, () => {
|
|
runTestExtensionTests()
|
|
})
|
|
} else {
|
|
base.describe("Extensions with --cert", () => {
|
|
base.skip("skipped because USE_PROXY is set", () => {
|
|
// Playwright will not show this without a function.
|
|
})
|
|
})
|
|
}
|