Add unit tests for restore (#62)

* Move archive file size to utils

* Disable net connect with nock

* Add unit tests for restore

* Fix test names and test URL
This commit is contained in:
Josh Gross 2019-11-06 13:41:45 -05:00 committed by GitHub
parent ecf6eea708
commit 4b0709a0d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 469 additions and 26 deletions

View file

@ -1,5 +1,6 @@
import * as core from "@actions/core";
import * as io from "@actions/io";
import * as fs from "fs";
import * as os from "os";
import * as path from "path";
import * as uuidV4 from "uuid/v4";
@ -32,6 +33,10 @@ export async function createTempDirectory(): Promise<string> {
return dest;
}
export function getArchiveFileSize(path: string): number {
return fs.statSync(path).size;
}
export function isExactKeyMatch(
key: string,
cacheResult?: ArtifactCacheEntry

View file

@ -1,3 +1,6 @@
import { Inputs } from "../constants";
// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
function getInputName(name: string): string {
return `INPUT_${name.replace(/ /g, "_").toUpperCase()}`;
}
@ -5,3 +8,22 @@ function getInputName(name: string): string {
export function setInput(name: string, value: string) {
process.env[getInputName(name)] = value;
}
interface CacheInput {
path: string;
key: string;
restoreKeys?: string[];
}
export function setInputs(input: CacheInput) {
setInput(Inputs.Path, input.path);
setInput(Inputs.Key, input.key);
input.restoreKeys &&
setInput(Inputs.RestoreKeys, input.restoreKeys.join("\n"));
}
export function clearInputs() {
delete process.env[getInputName(Inputs.Path)];
delete process.env[getInputName(Inputs.Key)];
delete process.env[getInputName(Inputs.RestoreKeys)];
}