feat: Adding "always-save" flag that allows to save the new cache over the old cache.

This commit is contained in:
Martin Heidegger 2022-07-03 10:14:51 +09:00
parent baed3516c3
commit 5ab49b24e0
No known key found for this signature in database
GPG key ID: 5933F4B5CC304AFC
8 changed files with 63 additions and 5 deletions

View file

@ -293,6 +293,41 @@ test("restore with restore keys and no cache found", async () => {
);
});
test("restore with always-save", async () => {
const path = "node_modules";
const key = "node-test";
testUtils.setInputs({
path: path,
key,
alwaysSave: true
});
const infoMock = jest.spyOn(core, "info");
const failedMock = jest.spyOn(core, "setFailed");
const stateMock = jest.spyOn(core, "saveState");
const restoreCacheMock = jest
.spyOn(cache, "restoreCache")
.mockImplementationOnce(() => {
return Promise.resolve(undefined);
});
process.env['GITHUB_RUN_ID'] = '1234'
await run();
process.env['GITHUB_RUN_ID'] = ''
expect(restoreCacheMock).toHaveBeenCalledTimes(1);
expect(restoreCacheMock).toHaveBeenCalledWith([path], `${key}-1234`, [`${key}-`]);
expect(stateMock).toHaveBeenCalledWith("CACHE_KEY", `${key}-1234`);
expect(failedMock).toHaveBeenCalledTimes(0);
expect(infoMock).toHaveBeenCalledWith(
`Cache not found for input keys: ${key}-1234, ${key}-`
);
});
test("restore with cache found for key", async () => {
const path = "node_modules";
const key = "node-test";