-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathaction.test.js
32 lines (28 loc) · 1.07 KB
/
action.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const assert = require("node:assert");
const { readFileSync } = require("node:fs");
const { join } = require("node:path");
const { RunOptions, RunTarget } = require("github-action-ts-run-api");
const { tests } = require("./src/providers");
(async () => {
for (const [name, { giveInputs, wantLines }] of Object.entries(tests)) {
console.log(`\n---\nTesting provider: ${name}`);
const target = RunTarget.mainJs("action.yml");
const options = RunOptions.create()
.setFakeFsOptions({ rmFakedTempDirAfterRun: false })
.setInputs(giveInputs);
const res = await target.run(options);
try {
assert.strictEqual(res.exitCode, 0);
const b = readFileSync(join(res.tempDirPath, "s3cmd.conf"));
const data = b.toString();
for (const line of wantLines) {
assert.ok(
data.includes(line),
`${name}: missing line: ${line}`,
);
}
} finally {
res.cleanUpFakedDirs();
}
}
})();