Files
OmniRoute/tests/unit/agent-bridge-dns-toggle-method-7157.test.ts
Diego Rodrigues de Sa e Souza cdb4998ea4 fix(dashboard): agent bridge dns toggle uses POST, not PUT (#7157) (#7197)
The dns toggle button called fetch(..., { method: "PUT" }) but
src/app/api/tools/agent-bridge/agents/[id]/dns/route.ts only exports
POST, so Next.js auto-returned 405 on every Start/Stop DNS click.
Fixes the frontend caller to match the documented POST contract
(docs/frameworks/AGENTBRIDGE.md:490) already covered by
tests/unit/agent-bridge-dns-route-validation.test.ts.

Adds a regression test asserting the fetch call uses method: POST.
2026-07-14 21:14:04 -03:00

25 lines
899 B
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import path from "node:path";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const clientPath = path.resolve(
__dirname,
"../../src/app/(dashboard)/dashboard/tools/agent-bridge/AgentBridgePageClient.tsx"
);
const source = readFileSync(clientPath, "utf8");
test("#7157: dns toggle fetch call uses method POST (route.ts only exports POST)", () => {
const dnsCallMatch = source.match(
/\/api\/tools\/agent-bridge\/agents\/\$\{agentId\}\/dns`,\s*\{\s*method:\s*"([A-Z]+)"/
);
assert.ok(dnsCallMatch, "expected to find the dns fetch call in AgentBridgePageClient.tsx");
assert.equal(
dnsCallMatch?.[1],
"POST",
"dns fetch call must use method: 'POST' to match the route.ts export (issue #7157)"
);
});