-
Notifications
You must be signed in to change notification settings - Fork 212
Expand file tree
/
Copy pathcheckExistApiConfig.spec.ts
More file actions
121 lines (105 loc) · 3.41 KB
/
Copy pathcheckExistApiConfig.spec.ts
File metadata and controls
121 lines (105 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// npx vitest run src/shared/__tests__/checkExistApiConfig.spec.ts
import type { ProviderSettings } from "@roo-code/types"
import { checkExistKey } from "../checkExistApiConfig"
describe("checkExistKey", () => {
it("should return false for undefined config", () => {
expect(checkExistKey(undefined)).toBe(false)
})
it("should return false for empty config", () => {
const config: ProviderSettings = {}
expect(checkExistKey(config)).toBe(false)
})
it("should return true when one key is defined", () => {
const config: ProviderSettings = {
apiKey: "test-key",
}
expect(checkExistKey(config)).toBe(true)
})
it("should return true when multiple keys are defined", () => {
const config: ProviderSettings = {
apiKey: "test-key",
openRouterApiKey: "openrouter-key",
}
expect(checkExistKey(config)).toBe(true)
})
it("should return true when only non-key fields are undefined", () => {
const config: ProviderSettings = {
apiKey: "test-key",
apiProvider: undefined,
anthropicBaseUrl: undefined,
modelMaxThinkingTokens: undefined,
}
expect(checkExistKey(config)).toBe(true)
})
it("should return false when all key fields are undefined", () => {
const config: ProviderSettings = {
apiKey: undefined,
openRouterApiKey: undefined,
awsRegion: undefined,
vertexProjectId: undefined,
openAiApiKey: undefined,
ollamaModelId: undefined,
lmStudioModelId: undefined,
geminiApiKey: undefined,
openAiNativeApiKey: undefined,
deepSeekApiKey: undefined,
moonshotApiKey: undefined,
mistralApiKey: undefined,
vsCodeLmModelSelector: undefined,
requestyApiKey: undefined,
}
expect(checkExistKey(config)).toBe(false)
})
it("should return true for fake-ai provider without API key", () => {
const config: ProviderSettings = {
apiProvider: "fake-ai",
}
expect(checkExistKey(config)).toBe(true)
})
it("should return true for openai-codex provider without API key", () => {
const config: ProviderSettings = {
apiProvider: "openai-codex",
}
expect(checkExistKey(config)).toBe(true)
})
it("should return true for qwen-code provider without API key", () => {
const config: ProviderSettings = {
apiProvider: "qwen-code",
}
expect(checkExistKey(config)).toBe(true)
})
it("should return false for roo provider without API key", () => {
const config: ProviderSettings = {
apiProvider: "roo",
}
expect(checkExistKey(config)).toBe(false)
})
it("should return false for zoo-gateway without session token or auth", () => {
const config: ProviderSettings = {
apiProvider: "zoo-gateway",
zooGatewayModelId: "alibaba/qwen-3.6-max-preview",
}
expect(checkExistKey(config)).toBe(false)
expect(checkExistKey(config, false)).toBe(false)
})
it("should return true for zoo-gateway when profile has zooSessionToken", () => {
const config: ProviderSettings = {
apiProvider: "zoo-gateway",
zooSessionToken: "zoo_ext_test_token",
}
expect(checkExistKey(config)).toBe(true)
})
it("should return true for zoo-gateway when Zoo Code session auth is active", () => {
const config: ProviderSettings = {
apiProvider: "zoo-gateway",
zooGatewayModelId: "alibaba/qwen-3.6-max-preview",
}
expect(checkExistKey(config, true)).toBe(true)
})
it("should ignore zooCodeIsAuthenticated for non-zoo-gateway providers", () => {
const config: ProviderSettings = {
apiProvider: "openrouter",
}
expect(checkExistKey(config, true)).toBe(false)
})
})