mirror of
				https://github.com/actions/cache.git
				synced 2025-10-23 08:56:26 +08:00 
			
		
		
		
	review comments and updated test cases
This commit is contained in:
		| @@ -1,10 +1,12 @@ | ||||
| import * as core from "@actions/core"; | ||||
| import * as cache from "@actions/cache"; | ||||
|  | ||||
| import { Events, Outputs, RefKey, State } from "../src/constants"; | ||||
| import * as actionUtils from "../src/utils/actionUtils"; | ||||
| import * as testUtils from "../src/utils/testUtils"; | ||||
|  | ||||
| jest.mock("@actions/core"); | ||||
| jest.mock("@actions/cache"); | ||||
|  | ||||
| beforeAll(() => { | ||||
|     jest.spyOn(core, "getInput").mockImplementation((name, options) => { | ||||
| @@ -232,3 +234,41 @@ test("getInputAsInt throws if required and value missing", () => { | ||||
|         actionUtils.getInputAsInt("undefined", { required: true }) | ||||
|     ).toThrowError(); | ||||
| }); | ||||
|  | ||||
| test("isCacheFeatureAvailable for ac enabled", () => { | ||||
|     jest.spyOn(cache, "isFeatureAvailable").mockImplementation(() => true); | ||||
|  | ||||
|     expect(actionUtils.isCacheFeatureAvailable()).toBe(true); | ||||
| }); | ||||
|  | ||||
| test("isCacheFeatureAvailable for ac disabled on GHES", () => { | ||||
|     jest.spyOn(cache, "isFeatureAvailable").mockImplementation(() => false); | ||||
|  | ||||
|     const message = "Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if ArtifactCache service is enabled or not."; | ||||
|     const infoMock = jest.spyOn(core, "info"); | ||||
|  | ||||
|     try { | ||||
|         process.env["GITHUB_SERVER_URL"] = "http://example.com"; | ||||
|         expect(actionUtils.isCacheFeatureAvailable()).toBe(false); | ||||
|         expect(infoMock).toHaveBeenCalledWith(`[warning]${message}`); | ||||
|     } finally { | ||||
|         delete  process.env["GITHUB_SERVER_URL"]; | ||||
|     } | ||||
|  | ||||
| }); | ||||
|  | ||||
| test("isCacheFeatureAvailable for ac disabled on dotcom", () => { | ||||
|     jest.spyOn(cache, "isFeatureAvailable").mockImplementation(() => false); | ||||
|  | ||||
|     const message = "An internal error has occurred in cache backend. Please check https://www.githubstatus.com/ for any ongoing issue in actions."; | ||||
|     const infoMock = jest.spyOn(core, "info"); | ||||
|  | ||||
|     try { | ||||
|         process.env["GITHUB_SERVER_URL"] = "http://github.com"; | ||||
|         expect(actionUtils.isCacheFeatureAvailable()).toBe(false); | ||||
|         expect(infoMock).toHaveBeenCalledWith(`[warning]${message}`); | ||||
|     } finally { | ||||
|         delete  process.env["GITHUB_SERVER_URL"]; | ||||
|     } | ||||
|  | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user