mirror of
https://gitea.com/actions/cache.git
synced 2024-11-23 04:42:28 +08:00
Add save-always inpute/output test
This commit is contained in:
parent
727a4d2137
commit
2d00cd51fd
|
@ -473,3 +473,40 @@ test("restore with lookup-only set", async () => {
|
||||||
);
|
);
|
||||||
expect(failedMock).toHaveBeenCalledTimes(0);
|
expect(failedMock).toHaveBeenCalledTimes(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("restore with save-always set", async () => {
|
||||||
|
jest.spyOn(actionUtils, "isGhes").mockImplementation(() => true);
|
||||||
|
const path = "node_modules";
|
||||||
|
const key = "node-test";
|
||||||
|
testUtils.setInputs({
|
||||||
|
path: path,
|
||||||
|
key,
|
||||||
|
saveAlways: true
|
||||||
|
});
|
||||||
|
|
||||||
|
const setCacheHitOutputMock = jest.spyOn(core, "setOutput");
|
||||||
|
const restoreCacheMock = jest
|
||||||
|
.spyOn(cache, "restoreCache")
|
||||||
|
.mockImplementationOnce(() => {
|
||||||
|
return Promise.resolve(undefined);
|
||||||
|
});
|
||||||
|
|
||||||
|
await restoreImpl(new StateProvider());
|
||||||
|
|
||||||
|
expect(restoreCacheMock).toHaveBeenCalledTimes(1);
|
||||||
|
expect(restoreCacheMock).toHaveBeenCalledWith(
|
||||||
|
[path],
|
||||||
|
key,
|
||||||
|
[],
|
||||||
|
{
|
||||||
|
lookupOnly: false
|
||||||
|
},
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(setCacheHitOutputMock).toHaveBeenCalledTimes(1);
|
||||||
|
expect(setCacheHitOutputMock).toHaveBeenCalledWith(
|
||||||
|
"save-always-d18d746b9",
|
||||||
|
"true"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
|
@ -16,6 +16,7 @@ interface CacheInput {
|
||||||
enableCrossOsArchive?: boolean;
|
enableCrossOsArchive?: boolean;
|
||||||
failOnCacheMiss?: boolean;
|
failOnCacheMiss?: boolean;
|
||||||
lookupOnly?: boolean;
|
lookupOnly?: boolean;
|
||||||
|
saveAlways?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setInputs(input: CacheInput): void {
|
export function setInputs(input: CacheInput): void {
|
||||||
|
@ -32,6 +33,8 @@ export function setInputs(input: CacheInput): void {
|
||||||
setInput(Inputs.FailOnCacheMiss, input.failOnCacheMiss.toString());
|
setInput(Inputs.FailOnCacheMiss, input.failOnCacheMiss.toString());
|
||||||
input.lookupOnly !== undefined &&
|
input.lookupOnly !== undefined &&
|
||||||
setInput(Inputs.LookupOnly, input.lookupOnly.toString());
|
setInput(Inputs.LookupOnly, input.lookupOnly.toString());
|
||||||
|
input.saveAlways !== undefined &&
|
||||||
|
setInput(Inputs.SaveAlways, input.saveAlways.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
export function clearInputs(): void {
|
export function clearInputs(): void {
|
||||||
|
@ -42,4 +45,5 @@ export function clearInputs(): void {
|
||||||
delete process.env[getInputName(Inputs.EnableCrossOsArchive)];
|
delete process.env[getInputName(Inputs.EnableCrossOsArchive)];
|
||||||
delete process.env[getInputName(Inputs.FailOnCacheMiss)];
|
delete process.env[getInputName(Inputs.FailOnCacheMiss)];
|
||||||
delete process.env[getInputName(Inputs.LookupOnly)];
|
delete process.env[getInputName(Inputs.LookupOnly)];
|
||||||
|
delete process.env[getInputName(Inputs.SaveAlways)];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user