Просмотр исходного кода

ignore: add test for provider url case

Aiden Cline 2 месяцев назад
Родитель
Сommit
9856e3b798
1 измененных файлов с 44 добавлено и 0 удалено
  1. 44 0
      packages/opencode/test/provider/provider.test.ts

+ 44 - 0
packages/opencode/test/provider/provider.test.ts

@@ -1763,3 +1763,47 @@ test("custom model inherits npm package from models.dev provider config", async
     },
   })
 })
+
+test("custom model inherits api.url from models.dev provider", async () => {
+  await using tmp = await tmpdir({
+    init: async (dir) => {
+      await Bun.write(
+        path.join(dir, "opencode.json"),
+        JSON.stringify({
+          $schema: "https://opencode.ai/config.json",
+          provider: {
+            openrouter: {
+              models: {
+                "prime-intellect/intellect-3": {},
+                "deepseek/deepseek-r1-0528": {
+                  name: "DeepSeek R1",
+                },
+              },
+            },
+          },
+        }),
+      )
+    },
+  })
+  await Instance.provide({
+    directory: tmp.path,
+    init: async () => {
+      Env.set("OPENROUTER_API_KEY", "test-api-key")
+    },
+    fn: async () => {
+      const providers = await Provider.list()
+      expect(providers["openrouter"]).toBeDefined()
+
+      // New model not in database should inherit api.url from provider
+      const intellect = providers["openrouter"].models["prime-intellect/intellect-3"]
+      expect(intellect).toBeDefined()
+      expect(intellect.api.url).toBe("https://openrouter.ai/api/v1")
+
+      // Another new model should also inherit api.url
+      const deepseek = providers["openrouter"].models["deepseek/deepseek-r1-0528"]
+      expect(deepseek).toBeDefined()
+      expect(deepseek.api.url).toBe("https://openrouter.ai/api/v1")
+      expect(deepseek.name).toBe("DeepSeek R1")
+    },
+  })
+})