Ports the CLI, TUI, and launcher from v1.5 into v2 behind a single `mcp-inspector` entrypoint (launcher → web/cli/tui). Includes the `mcp-inspector --web --dev` launcher fix (Vite alias resolution + prod-server double-start), the root `postinstall` install cascade with simplified CI, and spec/AGENTS docs (no-workspaces rationale, Development setup). Closes #1246. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { expectCliSuccess, expectCliFailure } from "./assertions.js";
|
|
import type { CliResult } from "./cli-runner.js";
|
|
|
|
function assertionMessage(fn: () => void): string {
|
|
try {
|
|
fn();
|
|
return "";
|
|
} catch (error) {
|
|
return error instanceof Error ? error.message : String(error);
|
|
}
|
|
}
|
|
|
|
describe("CLI assertion helpers", () => {
|
|
it("expectCliSuccess includes stdout and stderr on failure", () => {
|
|
const result: CliResult = {
|
|
exitCode: 1,
|
|
stdout: "tool output",
|
|
stderr: "connect error",
|
|
output: "tool outputconnect error",
|
|
};
|
|
|
|
const message = assertionMessage(() => expectCliSuccess(result));
|
|
expect(message).toContain("CLI exited with code 1");
|
|
expect(message).toContain("stdout: tool output");
|
|
expect(message).toContain("stderr: connect error");
|
|
});
|
|
|
|
it("expectCliFailure includes stdout and stderr on unexpected success", () => {
|
|
const result: CliResult = {
|
|
exitCode: 0,
|
|
stdout: "ok",
|
|
stderr: "",
|
|
output: "ok",
|
|
};
|
|
|
|
const message = assertionMessage(() => expectCliFailure(result));
|
|
expect(message).toContain("CLI unexpectedly exited with code 0");
|
|
expect(message).toContain("stdout: ok");
|
|
expect(message).toContain("stderr: (empty)");
|
|
});
|
|
});
|