import { beforeAll, describe, expect, it, vi } from "vitest" ;
import { importFreshModule } from "../../../test/helpers/import-fresh.js" ;
let probeModule: typeof import ("./list.probe.js" );
describe("mapFailoverReasonToProbeStatus" , () => {
beforeAll(async () => {
vi.doMock("../../agents/pi-embedded.js" , () => {
throw new Error("pi-embedded should stay lazy for probe imports" );
});
try {
probeModule = await importFreshModule<typeof import ("./list.probe.js" )>(
import .meta.url,
`./list.probe.js?scope=${Math.random().toString(36 ).slice(2 )}`,
);
} finally {
vi.doUnmock("../../agents/pi-embedded.js" );
}
});
it("does not import the embedded runner on module load" , async () => {
expect(probeModule.mapFailoverReasonToProbeStatus).toBeTypeOf("function" );
});
it("maps failover reasons to probe statuses" , () => {
const { mapFailoverReasonToProbeStatus } = probeModule;
expect(mapFailoverReasonToProbeStatus("auth_permanent" )).toBe("auth" );
expect(mapFailoverReasonToProbeStatus("auth" )).toBe("auth" );
expect(mapFailoverReasonToProbeStatus("rate_limit" )).toBe("rate_limit" );
expect(mapFailoverReasonToProbeStatus("overloaded" )).toBe("rate_limit" );
expect(mapFailoverReasonToProbeStatus("billing" )).toBe("billing" );
expect(mapFailoverReasonToProbeStatus("timeout" )).toBe("timeout" );
expect(mapFailoverReasonToProbeStatus("model_not_found" )).toBe("format" );
expect(mapFailoverReasonToProbeStatus("format" )).toBe("format" );
expect(mapFailoverReasonToProbeStatus(undefined)).toBe("unknown" );
expect(mapFailoverReasonToProbeStatus(null )).toBe("unknown" );
expect(mapFailoverReasonToProbeStatus("something_else" )).toBe("unknown" );
});
});
Messung V0.5 in Prozent C=99 H=96 G=97
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland