(t *testing.T)
| 1556 | } |
| 1557 | |
| 1558 | func 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 |
nothing calls this directly
no test coverage detected