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

Function TestUpdateChatModelConfig

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

Source from the content-addressed store, hash-verified

3794}
3795
3796func TestUpdateChatModelConfig(t *testing.T) {
3797 t.Parallel()
3798
3799 t.Run("Success", func(t *testing.T) {
3800 t.Parallel()
3801
3802 ctx := testutil.Context(t, testutil.WaitLong)
3803 client := newChatClient(t)
3804 _ = coderdtest.CreateFirstUser(t, client.Client)
3805 modelConfig := createChatModelConfig(t, client)
3806
3807 contextLimit := int64(8192)
3808 pricing := &codersdk.ChatModelCallConfig{
3809 Cost: &codersdk.ModelCostConfig{
3810 InputPricePerMillionTokens: decRef("0.2"),
3811 OutputPricePerMillionTokens: decRef("0.8"),
3812 CacheReadPricePerMillionTokens: decRef("0.04"),
3813 CacheWritePricePerMillionTokens: decRef("0.4"),
3814 },
3815 }
3816 updated, err := client.UpdateChatModelConfig(ctx, modelConfig.ID, codersdk.UpdateChatModelConfigRequest{
3817 DisplayName: "GPT-4o Mini Updated",
3818 ContextLimit: &contextLimit,
3819 ModelConfig: pricing,
3820 })
3821 require.NoError(t, err)
3822 require.Equal(t, modelConfig.ID, updated.ID)
3823 require.Equal(t, "GPT-4o Mini Updated", updated.DisplayName)
3824 require.EqualValues(t, 8192, updated.ContextLimit)
3825 requireChatModelPricing(t, updated.ModelConfig, pricing)
3826
3827 configs, err := client.ListChatModelConfigs(ctx)
3828 require.NoError(t, err)
3829 require.Len(t, configs, 1)
3830 requireChatModelPricing(t, configs[0].ModelConfig, pricing)
3831 })
3832
3833 t.Run("UnchangedProviderWithoutAIProviderID", func(t *testing.T) {
3834 t.Parallel()
3835
3836 ctx := testutil.Context(t, testutil.WaitLong)
3837 client := newChatClient(t)
3838 _ = coderdtest.CreateFirstUser(t, client.Client)
3839 modelConfig := createChatModelConfig(t, client)
3840
3841 updated, err := client.UpdateChatModelConfig(ctx, modelConfig.ID, codersdk.UpdateChatModelConfigRequest{
3842 Provider: modelConfig.Provider,
3843 Model: "gpt-4o-mini-updated",
3844 })
3845 require.NoError(t, err)
3846 require.Equal(t, modelConfig.ID, updated.ID)
3847 require.Equal(t, modelConfig.Provider, updated.Provider)
3848 require.NotNil(t, updated.AIProviderID)
3849 require.Equal(t, *modelConfig.AIProviderID, *updated.AIProviderID)
3850 require.Equal(t, "gpt-4o-mini-updated", updated.Model)
3851 })
3852
3853 t.Run("RejectsOpenRouterMisconfiguredAsOpenAI", func(t *testing.T) {

Callers

nothing calls this directly

Calls 15

UpdateChatModelConfigMethod · 0.95
ListChatModelConfigsMethod · 0.95
CreateChatModelConfigMethod · 0.95
ContextFunction · 0.92
CreateFirstUserFunction · 0.92
ChatModelConfigFunction · 0.92
CreateAnotherUserFunction · 0.92
NewExperimentalClientFunction · 0.92
NewDBFunction · 0.92
NewFunction · 0.92
RefFunction · 0.92
ReadBodyAsErrorFunction · 0.92

Tested by

no test coverage detected