mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 20:32:20 +03:00
36 lines
996 B
TypeScript
36 lines
996 B
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
import {
|
|
isProxyReachable,
|
|
getCachedProxyHealth,
|
|
invalidateProxyHealth,
|
|
} from "../../src/lib/proxyHealth.ts";
|
|
import { runWithProxyContext } from "../../open-sse/utils/proxyFetch.ts";
|
|
|
|
test("T14: isProxyReachable caches unreachable proxy result", async () => {
|
|
const proxyUrl = "http://127.0.0.1:1";
|
|
invalidateProxyHealth(proxyUrl);
|
|
|
|
const healthy = await isProxyReachable(proxyUrl, 120, 2_000);
|
|
assert.equal(healthy, false);
|
|
assert.equal(getCachedProxyHealth(proxyUrl), false);
|
|
});
|
|
|
|
test("T14: runWithProxyContext fast-fails when proxy is unreachable", async () => {
|
|
const proxyUrl = "http://127.0.0.1:1";
|
|
invalidateProxyHealth(proxyUrl);
|
|
|
|
let executed = false;
|
|
await assert.rejects(
|
|
() =>
|
|
runWithProxyContext(proxyUrl, async () => {
|
|
executed = true;
|
|
return "ok";
|
|
}),
|
|
(err) => (err as any).code === "PROXY_UNREACHABLE"
|
|
);
|
|
|
|
assert.equal(executed, false);
|
|
});
|