mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
fix: update the logic for remove model in provider
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const getDisabledModels = vi.fn();
|
||||
const getDeletedModels = vi.fn();
|
||||
|
||||
vi.mock("@/lib/disabledModelsDb", () => ({ getDisabledModels }));
|
||||
vi.mock("@/lib/db", () => ({ getDeletedModels }));
|
||||
vi.mock("@/shared/constants/providers", () => ({
|
||||
getProviderAlias: (provider) => ({ openai: "oa", claude: "claude" })[provider] || provider,
|
||||
}));
|
||||
@@ -12,6 +14,8 @@ const { getDisabledModelResponse } = await import("../../src/sse/services/disabl
|
||||
describe("getDisabledModelResponse", () => {
|
||||
beforeEach(() => {
|
||||
getDisabledModels.mockReset();
|
||||
getDeletedModels.mockReset();
|
||||
getDeletedModels.mockResolvedValue({});
|
||||
});
|
||||
|
||||
it("allows an enabled model", async () => {
|
||||
@@ -56,6 +60,21 @@ describe("getDisabledModelResponse", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("blocks a permanently deleted model", async () => {
|
||||
getDisabledModels.mockResolvedValue({});
|
||||
getDeletedModels.mockResolvedValue({ oa: ["gpt-deleted"] });
|
||||
|
||||
const response = await getDisabledModelResponse("openai", "gpt-deleted");
|
||||
|
||||
expect(response.status).toBe(404);
|
||||
await expect(response.json()).resolves.toMatchObject({
|
||||
error: {
|
||||
code: "model_not_found",
|
||||
message: "Model openai/gpt-deleted has been deleted by an administrator",
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it("fails closed when disabled-model storage cannot be read", async () => {
|
||||
getDisabledModels.mockRejectedValue(new Error("database unavailable"));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user