mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
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.
25 lines
899 B
TypeScript
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)"
|
|
);
|
|
});
|