1
0
mirror of https://github.com/coder/code-server.git synced 2024-12-04 15:00:38 +08:00
code-server/test/unit/node/proxy_agent.test.ts

44 lines
1.4 KiB
TypeScript
Raw Normal View History

2021-07-24 05:38:25 +08:00
import { shouldEnableProxy } from "../../../src/node/proxy_agent"
import { mockLogger, useEnv } from "../../utils/helpers"
2021-07-24 05:38:25 +08:00
describe("shouldEnableProxy", () => {
const [setHTTPProxy, resetHTTPProxy] = useEnv("HTTP_PROXY")
const [setHTTPSProxy, resetHTTPSProxy] = useEnv("HTTPS_PROXY")
const [setNoProxy, resetNoProxy] = useEnv("NO_PROXY")
2021-07-24 05:38:25 +08:00
beforeAll(() => {
mockLogger()
})
2021-07-24 05:38:25 +08:00
beforeEach(() => {
jest.resetModules() // Most important - it clears the cache
resetHTTPProxy()
resetNoProxy()
resetHTTPSProxy()
2021-07-24 05:38:25 +08:00
})
it("returns true when HTTP_PROXY is set", () => {
setHTTPProxy("http://proxy.example.com")
2021-07-24 05:38:25 +08:00
expect(shouldEnableProxy()).toBe(true)
})
it("returns true when HTTPS_PROXY is set", () => {
setHTTPSProxy("https://proxy.example.com")
2021-07-24 05:38:25 +08:00
expect(shouldEnableProxy()).toBe(true)
})
it("returns false when NO_PROXY is set", () => {
setNoProxy("*")
2021-07-24 05:38:25 +08:00
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")
2021-07-24 05:38:25 +08:00
expect(shouldEnableProxy()).toBe(false)
})
it("should return false when NO_PROXY is set to http://example.com", () => {
setNoProxy("http://example.com")
2021-07-24 05:38:25 +08:00
expect(shouldEnableProxy()).toBe(false)
})
})