model-available.test.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { isModelNotavailableInServer } from "../app/utils/model";
  2. describe("isModelNotavailableInServer", () => {
  3. test("test model will return false, which means the model is available", () => {
  4. const customModels = "";
  5. const modelName = "gpt-4";
  6. const providerNames = "OpenAI";
  7. const result = isModelNotavailableInServer(customModels, modelName, providerNames);
  8. expect(result).toBe(false);
  9. });
  10. test("test model will return false, which means the model is not available", () => {
  11. const customModels = "-all,gpt-4o-mini";
  12. const modelName = "gpt-4";
  13. const providerNames = "OpenAI";
  14. const result = isModelNotavailableInServer(customModels, modelName, providerNames);
  15. expect(result).toBe(true);
  16. });
  17. test("support passing multiple providers, model unavailable on one of the providers will return true", () => {
  18. const customModels = "-all,gpt-4@Google";
  19. const modelName = "gpt-4";
  20. const providerNames = ["OpenAI", "Azure"];
  21. const result = isModelNotavailableInServer(customModels, modelName, providerNames);
  22. expect(result).toBe(true);
  23. });
  24. test("support passing multiple providers, model available on one of the providers will return false", () => {
  25. const customModels = "-all,gpt-4@Google";
  26. const modelName = "gpt-4";
  27. const providerNames = ["OpenAI", "Google"];
  28. const result = isModelNotavailableInServer(customModels, modelName, providerNames);
  29. expect(result).toBe(false);
  30. });
  31. test("test custom model without setting provider", () => {
  32. const customModels = "-all,mistral-large";
  33. const modelName = "mistral-large";
  34. const providerNames = modelName;
  35. const result = isModelNotavailableInServer(customModels, modelName, providerNames);
  36. expect(result).toBe(false);
  37. });
  38. })