(t *testing.T)
| 1912 | } |
| 1913 | |
| 1914 | func TestSendMessagePersistsAPIKeyIDOnUserMessage(t *testing.T) { |
| 1915 | t.Parallel() |
| 1916 | |
| 1917 | db, ps := dbtestutil.NewDB(t) |
| 1918 | replica := newTestServer(t, db, ps, uuid.New()) |
| 1919 | |
| 1920 | ctx := testutil.Context(t, testutil.WaitLong) |
| 1921 | user, org, model := seedChatDependencies(t, db) |
| 1922 | apiKey, _ := dbgen.APIKey(t, db, database.APIKey{UserID: user.ID}) |
| 1923 | |
| 1924 | chat := dbgen.Chat(t, db, database.Chat{ |
| 1925 | OrganizationID: org.ID, |
| 1926 | OwnerID: user.ID, |
| 1927 | LastModelConfigID: model.ID, |
| 1928 | Title: "send-message-api-key-id", |
| 1929 | }) |
| 1930 | |
| 1931 | result, err := replica.SendMessage(ctx, chatd.SendMessageOptions{ |
| 1932 | ChatID: chat.ID, |
| 1933 | CreatedBy: user.ID, |
| 1934 | Content: []codersdk.ChatMessagePart{ |
| 1935 | codersdk.ChatMessageText("message with api key id"), |
| 1936 | }, |
| 1937 | APIKeyID: apiKey.ID, |
| 1938 | }) |
| 1939 | require.NoError(t, err) |
| 1940 | require.False(t, result.Queued) |
| 1941 | require.True(t, result.Message.APIKeyID.Valid) |
| 1942 | require.Equal(t, apiKey.ID, result.Message.APIKeyID.String) |
| 1943 | |
| 1944 | stored, err := db.GetChatMessageByID(ctx, result.Message.ID) |
| 1945 | require.NoError(t, err) |
| 1946 | require.True(t, stored.APIKeyID.Valid) |
| 1947 | require.Equal(t, apiKey.ID, stored.APIKeyID.String) |
| 1948 | } |
| 1949 | |
| 1950 | func TestSendMessageQueueBehaviorQueuesWhenBusy(t *testing.T) { |
| 1951 | t.Parallel() |
nothing calls this directly
no test coverage detected