39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import { createBasicAuthHeader, loadConfig } from "../src/config.js";
|
|
|
|
test("loadConfig derives Jira and Confluence base URLs from ATLASSIAN_BASE_URL", () => {
|
|
const config = loadConfig({
|
|
ATLASSIAN_BASE_URL: "https://example.atlassian.net/",
|
|
ATLASSIAN_EMAIL: "dev@example.com",
|
|
ATLASSIAN_API_TOKEN: "secret-token",
|
|
ATLASSIAN_DEFAULT_PROJECT: "ENG",
|
|
});
|
|
|
|
assert.deepEqual(config, {
|
|
baseUrl: "https://example.atlassian.net",
|
|
jiraBaseUrl: "https://example.atlassian.net",
|
|
confluenceBaseUrl: "https://example.atlassian.net",
|
|
email: "dev@example.com",
|
|
apiToken: "secret-token",
|
|
defaultProject: "ENG",
|
|
defaultSpace: undefined,
|
|
});
|
|
});
|
|
|
|
test("createBasicAuthHeader encodes email and API token for Atlassian Cloud", () => {
|
|
const header = createBasicAuthHeader({
|
|
baseUrl: "https://example.atlassian.net",
|
|
jiraBaseUrl: "https://example.atlassian.net",
|
|
confluenceBaseUrl: "https://example.atlassian.net",
|
|
email: "dev@example.com",
|
|
apiToken: "secret-token",
|
|
});
|
|
|
|
assert.equal(
|
|
header,
|
|
`Basic ${Buffer.from("dev@example.com:secret-token").toString("base64")}`,
|
|
);
|
|
});
|