MCPcopy Create free account
hub / github.com/coder/aibridge / TestValidateProviders

Function TestValidateProviders

bridge_test.go:21–115  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

NewOpenAIProviderFunction · 0.92
NewAnthropicProviderFunction · 0.92
NewCopilotProviderFunction · 0.92
NewRequestBridgeFunction · 0.92
ErrorMethod · 0.45

Tested by

no test coverage detected