feat: add test framework (#48)

* Add test framework

* Add aws-region tests

* Add azure-region tests

* Update CONTRIBUTING.md

* Add formatting

* Improve fmt

* Format Terraform
This commit is contained in:
Kyle Carberry
2023-09-25 23:17:04 -05:00
committed by GitHub
parent 84bad159a3
commit cb72a16221
24 changed files with 900 additions and 510 deletions

39
git-clone/main.test.ts Normal file
View File

@@ -0,0 +1,39 @@
import { describe, expect, it } from "bun:test";
import {
executeScriptInContainer,
runTerraformApply,
runTerraformInit,
testRequiredVariables,
} from "../test";
describe("git-clone", async () => {
await runTerraformInit(import.meta.dir);
testRequiredVariables(import.meta.dir, {
agent_id: "foo",
url: "foo",
});
it("fails without git", async () => {
const state = await runTerraformApply(import.meta.dir, {
agent_id: "foo",
url: "some-url",
});
const output = await executeScriptInContainer(state, "alpine");
expect(output.exitCode).toBe(1);
expect(output.stdout).toEqual(["Git is not installed!"]);
});
it("runs with git", async () => {
const state = await runTerraformApply(import.meta.dir, {
agent_id: "foo",
url: "fake-url",
});
const output = await executeScriptInContainer(state, "alpine/git");
expect(output.exitCode).toBe(128);
expect(output.stdout).toEqual([
"Creating directory ~/fake-url...",
"Cloning fake-url to ~/fake-url...",
]);
});
});