|
|
|
@ -1,5 +1,14 @@
|
|
|
|
|
import { describe, expect, it } from "bun:test";
|
|
|
|
|
import { createJSONResponse, execContainer, findResourceInstance, runContainer, runTerraformApply, runTerraformInit, testRequiredVariables, writeCoder } from "../test";
|
|
|
|
|
import {
|
|
|
|
|
createJSONResponse,
|
|
|
|
|
execContainer,
|
|
|
|
|
findResourceInstance,
|
|
|
|
|
runContainer,
|
|
|
|
|
runTerraformApply,
|
|
|
|
|
runTerraformInit,
|
|
|
|
|
testRequiredVariables,
|
|
|
|
|
writeCoder,
|
|
|
|
|
} from "../test";
|
|
|
|
|
import { Server, serve } from "bun";
|
|
|
|
|
|
|
|
|
|
describe("github-upload-public-key", async () => {
|
|
|
|
@ -13,7 +22,7 @@ describe("github-upload-public-key", async () => {
|
|
|
|
|
const { instance, id } = await setupContainer();
|
|
|
|
|
await writeCoder(id, "echo foo");
|
|
|
|
|
let exec = await execContainer(id, ["bash", "-c", instance.script]);
|
|
|
|
|
expect(exec.stdout).toContain("Coder public SSH key uploaded to GitHub!")
|
|
|
|
|
expect(exec.stdout).toContain("Coder public SSH key uploaded to GitHub!");
|
|
|
|
|
expect(exec.exitCode).toBe(0);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -21,7 +30,9 @@ describe("github-upload-public-key", async () => {
|
|
|
|
|
const { instance, id } = await setupContainer();
|
|
|
|
|
await writeCoder(id, "echo findkey");
|
|
|
|
|
let exec = await execContainer(id, ["bash", "-c", instance.script]);
|
|
|
|
|
expect(exec.stdout).toContain("Coder public SSH key is already uploaded to GitHub!")
|
|
|
|
|
expect(exec.stdout).toContain(
|
|
|
|
|
"Coder public SSH key is already uploaded to GitHub!",
|
|
|
|
|
);
|
|
|
|
|
expect(exec.exitCode).toBe(0);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
@ -57,33 +68,43 @@ const setupServer = async (): Promise<Server> => {
|
|
|
|
|
|
|
|
|
|
if (url.pathname === "/user/keys") {
|
|
|
|
|
if (req.method === "POST") {
|
|
|
|
|
return createJSONResponse({
|
|
|
|
|
return createJSONResponse(
|
|
|
|
|
{
|
|
|
|
|
key: "created",
|
|
|
|
|
}, 201);
|
|
|
|
|
},
|
|
|
|
|
201,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// case: key already exists
|
|
|
|
|
if (req.headers.get("Authorization") == "Bearer findkey") {
|
|
|
|
|
return createJSONResponse([{
|
|
|
|
|
return createJSONResponse([
|
|
|
|
|
{
|
|
|
|
|
key: "foo",
|
|
|
|
|
}, {
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: "exists",
|
|
|
|
|
}]);
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// case: key does not exist
|
|
|
|
|
return createJSONResponse([{
|
|
|
|
|
return createJSONResponse([
|
|
|
|
|
{
|
|
|
|
|
key: "foo",
|
|
|
|
|
}]);
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return createJSONResponse({
|
|
|
|
|
error: "not_found"
|
|
|
|
|
}, 404);
|
|
|
|
|
return createJSONResponse(
|
|
|
|
|
{
|
|
|
|
|
error: "not_found",
|
|
|
|
|
},
|
|
|
|
|
404,
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
port: 0,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return fakeSlackHost;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|