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

Function TestListChatModels

coderd/exp_chats_test.go:1558–1765  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1556}
1557
1558func TestListChatModels(t *testing.T) {
1559 t.Parallel()
1560
1561 t.Run("Success", func(t *testing.T) {
1562 t.Parallel()
1563
1564 ctx := testutil.Context(t, testutil.WaitLong)
1565 client := newChatClient(t)
1566 _ = coderdtest.CreateFirstUser(t, client.Client)
1567 modelConfig := createChatModelConfig(t, client)
1568
1569 models, err := client.ListChatModels(ctx)
1570 require.NoError(t, err)
1571
1572 var openAIProvider *codersdk.ChatModelProvider
1573 for i := range models.Providers {
1574 if models.Providers[i].Provider == modelConfig.Provider {
1575 openAIProvider = &models.Providers[i]
1576 break
1577 }
1578 }
1579 require.NotNil(t, openAIProvider)
1580 require.True(t, openAIProvider.Available)
1581
1582 foundModel := false
1583 for _, model := range openAIProvider.Models {
1584 if model.Provider == modelConfig.Provider && model.Model == modelConfig.Model {
1585 foundModel = true
1586 break
1587 }
1588 }
1589 require.True(t, foundModel)
1590 })
1591
1592 t.Run("Unauthenticated", func(t *testing.T) {
1593 t.Parallel()
1594
1595 ctx := testutil.Context(t, testutil.WaitLong)
1596 client := newChatClient(t)
1597 _ = coderdtest.CreateFirstUser(t, client.Client)
1598
1599 unauthenticatedClient := codersdk.NewExperimentalClient(codersdk.New(client.URL))
1600 _, err := unauthenticatedClient.ListChatModels(ctx)
1601 requireSDKError(t, err, http.StatusUnauthorized)
1602 })
1603
1604 t.Run("CentralOnlyProviderAvailable", func(t *testing.T) {
1605 t.Parallel()
1606
1607 ctx := testutil.Context(t, testutil.WaitLong)
1608 client := newChatClient(t)
1609 _ = coderdtest.CreateFirstUser(t, client.Client)
1610 modelConfig := createChatModelConfig(t, client)
1611
1612 models, err := client.ListChatModels(ctx)
1613 require.NoError(t, err)
1614
1615 var openAIProvider *codersdk.ChatModelProvider

Callers

nothing calls this directly

Calls 15

ListChatModelsMethod · 0.95
ContextFunction · 0.92
CreateFirstUserFunction · 0.92
NewExperimentalClientFunction · 0.92
NewFunction · 0.92
requireSDKErrorFunction · 0.85
createAIProviderForTestFunction · 0.85
chatDeploymentValuesFunction · 0.85
CreateChatModelConfigMethod · 0.80
newChatClientFunction · 0.70
createChatModelConfigFunction · 0.70

Tested by

no test coverage detected