// ABOUTME: Unit tests for startup debug output formatting.
// ABOUTME: Ensures sensitive values are redacted and fields are present.
import assert from "node:assert/strict";
import { test } from "node:test";
import { buildStartupDebugInfo } from "../../src/debug.js";
test("buildStartupDebugInfo redacts bearer token", () => {
const output = buildStartupDebugInfo({
env: {
MINESWEEPER_BASE_URL: "http://localhost:3000",
MINESWEEPER_BEARER_TOKEN: "secret-token",
MINESWEEPER_USER_SLUG: "",
},
cwd: "/tmp/project",
nodeVersion: "v22.0.0",
platform: "darwin",
arch: "arm64",
});
assert.ok(output.includes("=== Minesweeper MCP Server Debug Info ==="));
assert.ok(output.includes("MINESWEEPER_BASE_URL: http://localhost:3000"));
assert.ok(output.includes("MINESWEEPER_BEARER_TOKEN: [set]"));
assert.ok(output.includes("MINESWEEPER_USER_SLUG: [unset]"));
assert.ok(!output.includes("secret-token"));
});