sandbox-agent/foundry/packages/shared/test/logging.test.ts
Nathan Flurry 689d968397 Fix Foundry UI bugs: org names, hanging sessions, and wrong repo creation
- Fix org display name using GitHub description instead of name field
- Fix createWorkbenchSession hanging when sandbox is provisioning
- Fix auto-session creation retry storm on errors
- Fix task creation using wrong repo due to React state race conditions
- Remove Bun hot-reload from backend Dockerfile (causes port drift)
- Add GitHub sync/install status to dev panel

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-13 20:46:50 -07:00

29 lines
1,006 B
TypeScript

import { afterEach, describe, expect, it, vi } from "vitest";
import { createFoundryLogger } from "../src/logging.js";
describe("createFoundryLogger", () => {
afterEach(() => {
vi.restoreAllMocks();
});
it("emits logfmt output when requested", () => {
const writes: string[] = [];
const write = vi.fn((chunk: string | Uint8Array) => {
writes.push(typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8"));
return true;
});
vi.spyOn(process.stdout, "write").mockImplementation(write as typeof process.stdout.write);
const logger = createFoundryLogger({
service: "foundry-backend",
format: "logfmt",
}).child({
requestId: "req-123",
});
logger.info({ count: 2, nested: { ok: true } }, "backend started");
expect(write).toHaveBeenCalledTimes(1);
expect(writes[0]).toMatch(/^time=\S+ level=info service=foundry-backend requestId=req-123 count=2 nested="\{\\"ok\\":true\}" msg="backend started"\n$/);
});
});