Unit test getCacheVersion

This commit is contained in:
Ethan Dennis 2020-03-16 09:19:53 -07:00
parent 820f06f7d0
commit bd756c16ae
No known key found for this signature in database
GPG key ID: 32E74B75DB4065DD
4 changed files with 49 additions and 10 deletions

View file

@ -0,0 +1,37 @@
import * as testUtils from "../src/utils/testUtils";
import { getCacheVersion } from "../src/cacheHttpClient";
afterEach(() => {
testUtils.clearInputs();
});
test("getCacheVersion with no restore keys returns version", async () => {
testUtils.setInputs({
path: "node-test",
key: "node_modules"
});
const result = getCacheVersion();
expect(result).toEqual(
"ee9d5dc2e8e2df8e32f62c367796abefc134790584015d8e1207523c9085e87e"
);
});
test("getCacheVersion with restore keys returns version", async () => {
testUtils.setInputs({
path: "node-test",
key: "node_modules",
restoreKeys: ["node-", "node"]
});
const result = getCacheVersion();
expect(result).toEqual(
"b8596b1e42c34a25be7b43c7b91892ed3ba81cba1e075365f408b35dbfabb61b"
);
});
test("getCacheVersion with no input throws", async () => {
expect(() => getCacheVersion()).toThrow();
});

View file

@ -2237,9 +2237,9 @@ function createHttpClient() {
function getCacheVersion() {
// Add salt to cache version to support breaking changes in cache entry
const components = [
core.getInput(constants_1.Inputs.Key),
core.getInput(constants_1.Inputs.RestoreKeys),
core.getInput(constants_1.Inputs.Path),
core.getInput(constants_1.Inputs.Key, { required: true }),
core.getInput(constants_1.Inputs.RestoreKeys, { required: false }),
core.getInput(constants_1.Inputs.Path, { required: true }),
versionSalt
];
return crypto
@ -2247,6 +2247,7 @@ function getCacheVersion() {
.update(components.join("|"))
.digest("hex");
}
exports.getCacheVersion = getCacheVersion;
function getCacheEntry() {
var _a;
return __awaiter(this, void 0, void 0, function* () {

7
dist/save/index.js vendored
View file

@ -2237,9 +2237,9 @@ function createHttpClient() {
function getCacheVersion() {
// Add salt to cache version to support breaking changes in cache entry
const components = [
core.getInput(constants_1.Inputs.Key),
core.getInput(constants_1.Inputs.RestoreKeys),
core.getInput(constants_1.Inputs.Path),
core.getInput(constants_1.Inputs.Key, { required: true }),
core.getInput(constants_1.Inputs.RestoreKeys, { required: false }),
core.getInput(constants_1.Inputs.Path, { required: true }),
versionSalt
];
return crypto
@ -2247,6 +2247,7 @@ function getCacheVersion() {
.update(components.join("|"))
.digest("hex");
}
exports.getCacheVersion = getCacheVersion;
function getCacheEntry() {
var _a;
return __awaiter(this, void 0, void 0, function* () {

View file

@ -81,12 +81,12 @@ function createHttpClient(): HttpClient {
);
}
function getCacheVersion(): string {
export function getCacheVersion(): string {
// Add salt to cache version to support breaking changes in cache entry
const components = [
core.getInput(Inputs.Key),
core.getInput(Inputs.RestoreKeys),
core.getInput(Inputs.Path),
core.getInput(Inputs.Key, { required: true }),
core.getInput(Inputs.RestoreKeys, { required: false }),
core.getInput(Inputs.Path, { required: true }),
versionSalt
];