Files
OmniRoute/tests/unit/mitm-handler-trae.test.ts
diegosouzapw 1196d08aad test(mitm): handlers + targets + detection unit tests (F3)
- mitm-handler-base: hookBufferStart returns InterceptedRequest with
  sanitized headers, extractSourceModel parses body.model, writeError
  emits JSON with sanitized message (Hard Rule #12).
- mitm-handler-<id>: nine per-agent happy-path tests (antigravity,
  kiro, copilot, codex, cursor, zed, claude-code, open-code) exercise
  full intercept() with mocked fetch via _mitmHandlerHarness.ts;
  asserts mapped model is forwarded and AgentBridge correlation
  headers are present. Trae test confirms intercept() rejects with a
  structured error.
- mitm-targets-resolve: ALL_TARGETS contains 9 entries; resolveTarget
  is case-insensitive and returns null for unknown hosts.
- mitm-targets-route: bypass > target > passthrough precedence
  validated against representative hostnames.
- mitm-detection: DETECTORS covers every AgentId; detectAgent never
  throws and returns DetectionResult-shaped objects for all probes.
2026-05-27 22:33:56 -03:00

24 lines
704 B
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import type { IncomingMessage, ServerResponse } from "node:http";
import { TraeHandler } from "../../src/mitm/handlers/trae.ts";
test("trae handler — intercept throws structured error (viability=investigating)", async () => {
const h = new TraeHandler();
const req = {
method: "POST",
url: "/x",
headers: { host: "trae.invalid" },
} as unknown as IncomingMessage;
const res = {
headersSent: false,
writeHead() {},
end() {},
} as unknown as ServerResponse;
await assert.rejects(
() => h.intercept(req, res, Buffer.from("{}"), "gpt-4o"),
/investigation|invalid|not.*implement/i
);
});