MCPcopy Index your code
hub / github.com/coder/coder / TestValidateProviders

Function TestValidateProviders

aibridge/bridge_test.go:25–119  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

23var bridgeTestTracer = otel.Tracer("bridge_test")
24
25func TestValidateProviders(t *testing.T) {
26 t.Parallel()
27
28 logger := slogtest.Make(t, nil)
29
30 tests := []struct {
31 name string
32 providers []provider.Provider
33 expectErr string
34 }{
35 {
36 name: "all_supported_providers",
37 providers: []provider.Provider{
38 aibridge.NewOpenAIProvider(config.OpenAI{Name: "openai", BaseURL: "https://api.openai.com/v1/"}),
39 aibridge.NewAnthropicProvider(config.Anthropic{Name: "anthropic", BaseURL: "https://api.anthropic.com/"}, nil),
40 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot", BaseURL: "https://api.individual.githubcopilot.com"}),
41 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot-business", BaseURL: "https://api.business.githubcopilot.com"}),
42 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot-enterprise", BaseURL: "https://api.enterprise.githubcopilot.com"}),
43 },
44 },
45 {
46 name: "default_names_and_base_urls",
47 providers: []provider.Provider{
48 aibridge.NewOpenAIProvider(config.OpenAI{}),
49 aibridge.NewAnthropicProvider(config.Anthropic{}, nil),
50 aibridge.NewCopilotProvider(config.Copilot{}),
51 },
52 },
53 {
54 name: "multiple_copilot_instances",
55 providers: []provider.Provider{
56 aibridge.NewCopilotProvider(config.Copilot{}),
57 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot-business", BaseURL: "https://api.business.githubcopilot.com"}),
58 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot-enterprise", BaseURL: "https://api.enterprise.githubcopilot.com"}),
59 },
60 },
61 {
62 name: "name_with_slashes",
63 providers: []provider.Provider{
64 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot/business", BaseURL: "https://api.business.githubcopilot.com"}),
65 },
66 expectErr: "invalid provider name",
67 },
68 {
69 name: "name_with_spaces",
70 providers: []provider.Provider{
71 aibridge.NewCopilotProvider(config.Copilot{Name: "copilot business", BaseURL: "https://api.business.githubcopilot.com"}),
72 },
73 expectErr: "invalid provider name",
74 },
75 {
76 name: "name_with_uppercase",
77 providers: []provider.Provider{
78 aibridge.NewCopilotProvider(config.Copilot{Name: "Copilot", BaseURL: "https://api.business.githubcopilot.com"}),
79 },
80 expectErr: "invalid provider name",
81 },
82 {

Callers

nothing calls this directly

Calls 8

NewOpenAIProviderFunction · 0.92
NewAnthropicProviderFunction · 0.92
NewCopilotProviderFunction · 0.92
NewRequestBridgeFunction · 0.92
RunMethod · 0.65
ContextMethod · 0.65
ErrorMethod · 0.45
ContainsMethod · 0.45

Tested by

no test coverage detected