8377bd23df
* chore: upgrade Code to 1.74.1
* chore: remove require in integration.diff
I don't know what the impact of this is but in 192c67db71
they removed the usage of `require` in `server.main.ts`.
More details in PR: https://github.com/microsoft/vscode/pull/165831
* chore: update marketplace.diff
* chore: update sha hash in webview.diff
* chore: update disable-builtin-ext-update.diff
If my logic is right, then this patch is now simplified thanks to this:
https://github.com/microsoft/vscode/blob/1.74.1/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts#L1238
* chore: refresh proxy-uri patch
* chore: refresh local-storage.diff
* chore: refresh sourcemaps.diff
* chore: refresh disable-downloads.diff
* chore: refresh display-language.diff
* chore: refresh getting-started.diff
* docs: update testing notes for cli-window-open
* docs: update telemetry testing instructions
* fix: add GITHUB_TOKEN to build code-server job
Downloading @vscode/ripgrep is failing only in CI so adding this
environment variable to see if it increases the rate limit.
Ref: https://github.com/microsoft/vscode-ripgrep#github-api-limit-note
* refactor: use own cache key build code-server job
* temp: disable vscode test
* refactor: delete wrapper test
* Revert "refactor: delete wrapper test"
This reverts commit 3999279b73c3519c7dbb03dfc7076bf26f717e13.
* refactor: move vscode tests to e2e (#5911)
* wip: migrate vscode tests to e2e
* feat: add codeWorkspace to global setup
* refactor: only use dir in spawn when we should
* wip: migrate more tests
* refactor: move all vscode tests to e2e
* refactor(ci): move unit to own job
* fixup: add codecov to unit test step
* Update test/e2e/models/CodeServer.ts
* Update test/e2e/models/CodeServer.ts
* docs: add note about intercept requests
* refactor: rm unused clean() calls
* refactor: delete duplicate test
* refactor: update 'should not redirect' test
* refactor: rm unused imports
* refactor: rm unnecessary navigate call in test
* fixup: formatting
* wip: update test
* refactor: modify assertion for proxy
* fixup: use REVERSE_PROXY_BASE_PATH
* refactor: add helper fn getMaybeProxiedPathname
* fixup: formatting
* fixup: rm unused import
* chore: increase playwright timeout
* Revert "chore: increase playwright timeout"
This reverts commit a059129252216c5f5cba83e9bca3d90cf658b7be.
* chore: rm timeout
79 lines
2.5 KiB
TypeScript
79 lines
2.5 KiB
TypeScript
import { promises as fs } from "fs"
|
|
import { clean, getAvailablePort, getMaybeProxiedPathname, tmpdir, useEnv } from "../../test/utils/helpers"
|
|
import { REVERSE_PROXY_BASE_PATH } from "../utils/constants"
|
|
|
|
/**
|
|
* This file is for testing test helpers (not core code).
|
|
*/
|
|
describe("test helpers", () => {
|
|
const testName = "temp-dir"
|
|
beforeAll(async () => {
|
|
await clean(testName)
|
|
})
|
|
|
|
it("should return a temp directory", async () => {
|
|
const pathToTempDir = await tmpdir(testName)
|
|
expect(pathToTempDir).toContain(testName)
|
|
expect(fs.access(pathToTempDir)).resolves.toStrictEqual(undefined)
|
|
})
|
|
})
|
|
|
|
describe("useEnv", () => {
|
|
beforeAll(() => {
|
|
jest.resetModules()
|
|
process.env.TEST_USE_ENV = "test environment variable"
|
|
})
|
|
afterAll(() => {
|
|
delete process.env.TEST_USE_ENV
|
|
})
|
|
it("should set and reset the env var", () => {
|
|
const envKey = "TEST_ENV_VAR"
|
|
const [setValue, resetValue] = useEnv(envKey)
|
|
setValue("hello-world")
|
|
expect(process.env[envKey]).toEqual("hello-world")
|
|
resetValue()
|
|
expect(process.env[envKey]).toEqual(undefined)
|
|
})
|
|
it("should set and reset the env var where a value was already set", () => {
|
|
const envKey = "TEST_USE_ENV"
|
|
expect(process.env[envKey]).toEqual("test environment variable")
|
|
const [setValue, resetValue] = useEnv(envKey)
|
|
setValue("hello there")
|
|
expect(process.env[envKey]).toEqual("hello there")
|
|
resetValue()
|
|
expect(process.env[envKey]).toEqual("test environment variable")
|
|
})
|
|
})
|
|
|
|
describe("getAvailablePort", () => {
|
|
it("should return a valid port", async () => {
|
|
const port = await getAvailablePort()
|
|
expect(port).toBeGreaterThan(0)
|
|
expect(port).toBeLessThanOrEqual(65535)
|
|
})
|
|
it("should return different ports for different calls", async () => {
|
|
const portOne = await getAvailablePort()
|
|
const portTwo = await getAvailablePort()
|
|
expect(portOne).not.toEqual(portTwo)
|
|
})
|
|
})
|
|
|
|
describe("getMaybeProxiedPathname", () => {
|
|
it("should return the route", () => {
|
|
const route = "/vscode"
|
|
const url = new URL(`http://localhost:3000${route}`)
|
|
const actual = getMaybeProxiedPathname(url)
|
|
expect(actual).toBe(route)
|
|
})
|
|
it("should strip proxy if env var set", () => {
|
|
const envKey = "USE_PROXY"
|
|
const [setValue, resetValue] = useEnv(envKey)
|
|
setValue("1")
|
|
const route = "/vscode"
|
|
const url = new URL(`http://localhost:3000/8000/${REVERSE_PROXY_BASE_PATH}${route}`)
|
|
const actual = getMaybeProxiedPathname(url)
|
|
expect(actual).toBe(route)
|
|
resetValue()
|
|
})
|
|
})
|