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

Function TestAIProvidersCRUD

coderd/ai_providers_test.go:33–593  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

31}
32
33func TestAIProvidersCRUD(t *testing.T) {
34 t.Parallel()
35
36 t.Run("EmptyList", func(t *testing.T) {
37 t.Parallel()
38 client := coderdtest.New(t, nil)
39 _ = coderdtest.CreateFirstUser(t, client)
40 ctx := testutil.Context(t, testutil.WaitLong)
41 //nolint:gocritic // Owner role is the audience for this endpoint.
42 got, err := client.AIProviders(ctx)
43 require.NoError(t, err)
44 require.Empty(t, got)
45 })
46
47 t.Run("CreateGetUpdateDelete", func(t *testing.T) {
48 t.Parallel()
49 client := coderdtest.New(t, nil)
50 _ = coderdtest.CreateFirstUser(t, client)
51 ctx := testutil.Context(t, testutil.WaitLong)
52
53 // Create.
54 req := codersdk.CreateAIProviderRequest{
55 Type: codersdk.AIProviderTypeAnthropic,
56 Name: "primary-anthropic",
57 DisplayName: "Primary Anthropic",
58 Enabled: true,
59 BaseURL: "https://api.anthropic.com/",
60 Settings: codersdk.AIProviderSettings{
61 Bedrock: &codersdk.AIProviderBedrockSettings{
62 Region: "us-east-1",
63 },
64 },
65 }
66 //nolint:gocritic // Owner role is the audience for this endpoint.
67 created, err := client.CreateAIProvider(ctx, req)
68 require.NoError(t, err)
69 require.NotEqual(t, [16]byte{}, created.ID)
70 require.Equal(t, req.Type, created.Type)
71 require.Equal(t, req.Name, created.Name)
72 require.Equal(t, req.DisplayName, created.DisplayName)
73 require.Equal(t, req.Enabled, created.Enabled)
74 require.Equal(t, req.BaseURL, created.BaseURL)
75 require.NotNil(t, created.Settings.Bedrock)
76 require.Equal(t, req.Settings.Bedrock.Region, created.Settings.Bedrock.Region)
77
78 // Get by ID.
79 gotByID, err := client.AIProvider(ctx, created.ID.String())
80 require.NoError(t, err)
81 require.Equal(t, created.ID, gotByID.ID)
82
83 // Get by name.
84 gotByName, err := client.AIProvider(ctx, created.Name)
85 require.NoError(t, err)
86 require.Equal(t, created.ID, gotByName.ID)
87
88 // List.
89 list, err := client.AIProviders(ctx)
90 require.NoError(t, err)

Callers

nothing calls this directly

Calls 15

StatusCodeMethod · 0.95
NewFunction · 0.92
CreateFirstUserFunction · 0.92
ContextFunction · 0.92
NewFunction · 0.92
RefFunction · 0.92
requireSDKErrorFunction · 0.85
AIProvidersMethod · 0.80
CreateAIProviderMethod · 0.80
AIProviderMethod · 0.80
DeleteAIProviderMethod · 0.80
NotEmptyMethod · 0.80

Tested by

no test coverage detected