|
|
@ -35,7 +35,7 @@ describe("slackme", async () => {
|
|
|
|
expect(exec.exitCode).toBe(0);
|
|
|
|
expect(exec.exitCode).toBe(0);
|
|
|
|
exec = await execContainer(id, ["sh", "-c", "slackme"]);
|
|
|
|
exec = await execContainer(id, ["sh", "-c", "slackme"]);
|
|
|
|
expect(exec.stdout.trim()).toStartWith(
|
|
|
|
expect(exec.stdout.trim()).toStartWith(
|
|
|
|
"slackme — Send a Slack notification when a command finishes",
|
|
|
|
"slackme — Send a Slack notification when a command finishes"
|
|
|
|
);
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
@ -56,6 +56,15 @@ describe("slackme", async () => {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it("exits with command code", async () => {
|
|
|
|
|
|
|
|
const { instance, id } = await setupContainer();
|
|
|
|
|
|
|
|
await writeCoder(id, "echo 'some-url' && exit 1");
|
|
|
|
|
|
|
|
let exec = await execContainer(id, ["sh", "-c", instance.script]);
|
|
|
|
|
|
|
|
expect(exec.exitCode).toBe(0);
|
|
|
|
|
|
|
|
exec = await execContainer(id, ["sh", "-c", "slackme exit 1"]);
|
|
|
|
|
|
|
|
expect(exec.exitCode).toBe(1);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
it("formats multiline message", async () => {
|
|
|
|
it("formats multiline message", async () => {
|
|
|
|
await assertSlackMessage({
|
|
|
|
await assertSlackMessage({
|
|
|
|
command: "echo test",
|
|
|
|
command: "echo test",
|
|
|
@ -107,7 +116,7 @@ executed`,
|
|
|
|
|
|
|
|
|
|
|
|
const setupContainer = async (
|
|
|
|
const setupContainer = async (
|
|
|
|
image = "alpine",
|
|
|
|
image = "alpine",
|
|
|
|
vars: Record<string, string> = {},
|
|
|
|
vars: Record<string, string> = {}
|
|
|
|
) => {
|
|
|
|
) => {
|
|
|
|
const state = await runTerraformApply(import.meta.dir, {
|
|
|
|
const state = await runTerraformApply(import.meta.dir, {
|
|
|
|
agent_id: "foo",
|
|
|
|
agent_id: "foo",
|
|
|
@ -150,7 +159,7 @@ const assertSlackMessage = async (opts: {
|
|
|
|
"alpine/curl",
|
|
|
|
"alpine/curl",
|
|
|
|
opts.format && {
|
|
|
|
opts.format && {
|
|
|
|
slack_message: opts.format,
|
|
|
|
slack_message: opts.format,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
);
|
|
|
|
);
|
|
|
|
await writeCoder(id, "echo 'token'");
|
|
|
|
await writeCoder(id, "echo 'token'");
|
|
|
|
let exec = await execContainer(id, ["sh", "-c", instance.script]);
|
|
|
|
let exec = await execContainer(id, ["sh", "-c", instance.script]);
|
|
|
|