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

Function TestCreateChatPersonalModelOverrideRoot

coderd/exp_chats_test.go:11925–12055  ·  view source on GitHub ↗

nolint:tparallel,paralleltest // Subtests share coderdtest instances.

(t *testing.T)

Source from the content-addressed store, hash-verified

11923
11924//nolint:tparallel,paralleltest // Subtests share coderdtest instances.
11925func TestCreateChatPersonalModelOverrideRoot(t *testing.T) {
11926 t.Parallel()
11927
11928 ctx := testutil.Context(t, testutil.WaitLong)
11929 adminClient, db := newChatClientWithDatabase(t)
11930 firstUser := coderdtest.CreateFirstUser(t, adminClient.Client)
11931 defaultModel := createChatModelConfig(t, adminClient)
11932 _ = enableUserChatProviderKey(t, adminClient, adminClient, defaultModel.Provider)
11933 overrideProvider := createAIProviderForTest(t, adminClient, "anthropic", "")
11934 _, err := adminClient.UpsertUserAIProviderKey(ctx, "me", overrideProvider.ID, codersdk.CreateUserAIProviderKeyRequest{
11935 APIKey: "test-user-api-key-" + uuid.NewString(),
11936 })
11937 require.NoError(t, err)
11938 contextLimit := int64(4096)
11939 overrideModel, err := adminClient.CreateChatModelConfig(ctx, codersdk.CreateChatModelConfigRequest{
11940 Provider: "anthropic",
11941 AIProviderID: &overrideProvider.ID,
11942 Model: "claude-root-personal-" + uuid.NewString(),
11943 ContextLimit: &contextLimit,
11944 })
11945 require.NoError(t, err)
11946 disabledModel := createDisabledChatModelConfig(
11947 t,
11948 adminClient,
11949 defaultModel.Provider,
11950 "gpt-4o-root-personal-disabled-"+uuid.NewString(),
11951 )
11952 memberClientRaw, member := coderdtest.CreateAnotherUser(
11953 t,
11954 adminClient.Client,
11955 firstUser.OrganizationID,
11956 rbac.ScopedRoleAgentsAccess(firstUser.OrganizationID),
11957 )
11958 memberClient := codersdk.NewExperimentalClient(memberClientRaw)
11959
11960 createChat := func(
11961 client *codersdk.ExperimentalClient,
11962 text string,
11963 modelConfigID *uuid.UUID,
11964 ) codersdk.Chat {
11965 t.Helper()
11966 chat, err := client.CreateChat(ctx, codersdk.CreateChatRequest{
11967 OrganizationID: firstUser.OrganizationID,
11968 Content: []codersdk.ChatInputPart{{
11969 Type: codersdk.ChatInputPartTypeText,
11970 Text: text,
11971 }},
11972 ModelConfigID: modelConfigID,
11973 })
11974 require.NoError(t, err)
11975 storedChat, err := db.GetChatByID(dbauthz.AsSystemRestricted(ctx), chat.ID)
11976 require.NoError(t, err)
11977 require.Equal(t, chat.LastModelConfigID, storedChat.LastModelConfigID)
11978 return chat
11979 }
11980 upsertRootRaw := func(userID uuid.UUID, value string) {
11981 t.Helper()
11982 err := db.UpsertUserChatPersonalModelOverride(dbauthz.AsSystemRestricted(ctx), database.UpsertUserChatPersonalModelOverrideParams{

Callers

nothing calls this directly

Calls 15

ContextFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleAgentsAccessFunction · 0.92
NewExperimentalClientFunction · 0.92
AsSystemRestrictedFunction · 0.92
RefFunction · 0.92
createAIProviderForTestFunction · 0.85

Tested by

no test coverage detected