From e7e2547a8838154c29f0db50c6dc7866b71a8ac2 Mon Sep 17 00:00:00 2001 From: John Wesley Walker III <81404201+jww3@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:22:08 +0000 Subject: [PATCH] added unit tests --- __tests__/actionUtils.test.ts | 36 ++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/__tests__/actionUtils.test.ts b/__tests__/actionUtils.test.ts index f98a76e..c2e6823 100644 --- a/__tests__/actionUtils.test.ts +++ b/__tests__/actionUtils.test.ts @@ -8,17 +8,26 @@ import * as testUtils from "../src/utils/testUtils"; jest.mock("@actions/core"); jest.mock("@actions/cache"); +let pristineEnv: NodeJS.ProcessEnv; + beforeAll(() => { + pristineEnv = process.env; jest.spyOn(core, "getInput").mockImplementation((name, options) => { return jest.requireActual("@actions/core").getInput(name, options); }); }); -afterEach(() => { +beforeEach(() => { + jest.resetModules(); + process.env = pristineEnv; delete process.env[Events.Key]; delete process.env[RefKey]; }); +afterAll(() => { + process.env = pristineEnv; +}); + test("isGhes returns true if server url is not github.com", () => { try { process.env["GITHUB_SERVER_URL"] = "http://example.com"; @@ -231,3 +240,28 @@ test("isCacheFeatureAvailable for ac disabled on dotcom", () => { delete process.env["GITHUB_SERVER_URL"]; } }); + +test("isGhes returns false when the GITHUB_SERVER_URL environment variable is not defined", async () => { + delete process.env["GITHUB_SERVER_URL"]; + expect(actionUtils.isGhes()).toBeFalsy(); +}); + +test("isGhes returns false when the GITHUB_SERVER_URL environment variable is set to github.com", async () => { + process.env["GITHUB_SERVER_URL"] = "https://github.com"; + expect(actionUtils.isGhes()).toBeFalsy(); +}); + +test("isGhes returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL", async () => { + process.env["GITHUB_SERVER_URL"] = "https://contoso.ghe.com"; + expect(actionUtils.isGhes()).toBeFalsy(); +}); + +test("isGhes returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix", async () => { + process.env["GITHUB_SERVER_URL"] = "https://mock-github.localhost"; + expect(actionUtils.isGhes()).toBeFalsy(); +}); + +test("isGhes returns true when the GITHUB_SERVER_URL environment variable is set to some other URL", async () => { + process.env["GITHUB_SERVER_URL"] = "https://src.onpremise.fabrikam.com"; + expect(actionUtils.isGhes()).toBeTruthy(); +});