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) }) })