testUnconfiguredUrlsGetNoToken
A URL that isn't a configured remote is asked with no token, whatever $TCM_TOKEN holds (a server's own token went
to any library source, an announcement's included); a configured remote is asked with the token it was added with.
import { Codebase } from "#codebase/tcmts/cli/codebase"; import { openRemote } from "#codebase/tcmts/cli/sync"; import { tempDir } from "#codebase/tcmts/cli/test/e2e/harness"; import assert from "node:assert/strict"; import http from "node:http"; export const testUnconfiguredUrlsGetNoToken = async () => { const heard: (string | undefined)[] = []; const server = http.createServer((req, res) => { heard.push(req.headers.authorization); res.writeHead(404).end(); }); await new Promise<void>((r) => server.listen(0, "127.0.0.1", r)); const url = `http://127.0.0.1:${(server.address() as { port: number }).port}`; const session = process.env.TCM_BRANCH; const token = process.env.TCM_TOKEN; delete process.env.TCM_BRANCH; process.env.TCM_TOKEN = "the-servers-own-token"; try { const cb = Codebase.init(tempDir("no token")); await openRemote(cb, url) .remote.branch("main") .catch(() => undefined); cb.store.setSetting("remote.origin", JSON.stringify({ url, token: "origins-token" })); await openRemote(cb, "origin") .remote.branch("main") .catch(() => undefined); assert.deepEqual(heard, [undefined, "Bearer origins-token"]); } finally { server.close(); if (session !== undefined) process.env.TCM_BRANCH = session; if (token === undefined) delete process.env.TCM_TOKEN; else process.env.TCM_TOKEN = token; } }