c4c480a068
* Implement last opened functionality Fixes https://github.com/cdr/code-server/issues/4619 * Fix test temp dirs not being cleaned up * Mock logger everywhere This suppresses all the error and debug output we generate which makes it hard to actually find which test has failed. It also gives us a standard way to test logging for the few places we do that. * Use separate data directories for unit test instances Exactly as we do for the e2e tests. * Add integration tests for vscode route * Make settings use --user-data-dir Without this test instances step on each other feet and they also clobber your own non-test settings. * Make redirects consistent They will preserve the trailing slash if there is one. * Remove compilation check If you do a regular non-watch build there are no compilation stats so this bricks VS Code in CI when running the unit tests. I am not sure how best to fix this for the case where you have a build that has not been packaged yet so I just removed it for now and added a message to check if VS Code is compiling when in dev mode. * Update code-server update endpoint name
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { shouldEnableProxy } from "../../../src/node/proxy_agent"
|
|
import { mockLogger, useEnv } from "../../utils/helpers"
|
|
|
|
describe("shouldEnableProxy", () => {
|
|
const [setHTTPProxy, resetHTTPProxy] = useEnv("HTTP_PROXY")
|
|
const [setHTTPSProxy, resetHTTPSProxy] = useEnv("HTTPS_PROXY")
|
|
const [setNoProxy, resetNoProxy] = useEnv("NO_PROXY")
|
|
|
|
beforeAll(() => {
|
|
mockLogger()
|
|
})
|
|
|
|
beforeEach(() => {
|
|
jest.resetModules() // Most important - it clears the cache
|
|
resetHTTPProxy()
|
|
resetNoProxy()
|
|
resetHTTPSProxy()
|
|
})
|
|
|
|
it("returns true when HTTP_PROXY is set", () => {
|
|
setHTTPProxy("http://proxy.example.com")
|
|
expect(shouldEnableProxy()).toBe(true)
|
|
})
|
|
it("returns true when HTTPS_PROXY is set", () => {
|
|
setHTTPSProxy("https://proxy.example.com")
|
|
expect(shouldEnableProxy()).toBe(true)
|
|
})
|
|
it("returns false when NO_PROXY is set", () => {
|
|
setNoProxy("*")
|
|
expect(shouldEnableProxy()).toBe(false)
|
|
})
|
|
it("should return false when neither HTTP_PROXY nor HTTPS_PROXY is set", () => {
|
|
expect(shouldEnableProxy()).toBe(false)
|
|
})
|
|
it("should return false when NO_PROXY is set to https://example.com", () => {
|
|
setNoProxy("https://example.com")
|
|
expect(shouldEnableProxy()).toBe(false)
|
|
})
|
|
it("should return false when NO_PROXY is set to http://example.com", () => {
|
|
setNoProxy("http://example.com")
|
|
expect(shouldEnableProxy()).toBe(false)
|
|
})
|
|
})
|