(t *testing.T)
| 4938 | } |
| 4939 | |
| 4940 | func TestSubscribeAfterMessageID(t *testing.T) { |
| 4941 | t.Parallel() |
| 4942 | |
| 4943 | db, ps := dbtestutil.NewDB(t) |
| 4944 | replica := newTestServer(t, db, ps, uuid.New()) |
| 4945 | |
| 4946 | ctx := testutil.Context(t, testutil.WaitLong) |
| 4947 | user, org, model := seedChatDependencies(t, db) |
| 4948 | |
| 4949 | chat := dbgen.Chat(t, db, database.Chat{ |
| 4950 | OrganizationID: org.ID, |
| 4951 | OwnerID: user.ID, |
| 4952 | LastModelConfigID: model.ID, |
| 4953 | Title: "after-id-test", |
| 4954 | Status: database.ChatStatusWaiting, |
| 4955 | }) |
| 4956 | |
| 4957 | // Seed all messages directly so this subscription test is independent |
| 4958 | // of chat processing lifecycle behavior. |
| 4959 | firstContent, err := chatprompt.MarshalParts([]codersdk.ChatMessagePart{ |
| 4960 | codersdk.ChatMessageText("first"), |
| 4961 | }) |
| 4962 | require.NoError(t, err) |
| 4963 | |
| 4964 | _ = dbgen.ChatMessage(t, db, database.ChatMessage{ |
| 4965 | ChatID: chat.ID, |
| 4966 | CreatedBy: uuid.NullUUID{UUID: user.ID, Valid: true}, |
| 4967 | ModelConfigID: uuid.NullUUID{UUID: model.ID, Valid: true}, |
| 4968 | Role: database.ChatMessageRoleUser, |
| 4969 | ContentVersion: chatprompt.CurrentContentVersion, |
| 4970 | Content: firstContent, |
| 4971 | }) |
| 4972 | |
| 4973 | secondContent, err := chatprompt.MarshalParts([]codersdk.ChatMessagePart{ |
| 4974 | codersdk.ChatMessageText("second"), |
| 4975 | }) |
| 4976 | require.NoError(t, err) |
| 4977 | |
| 4978 | msg2 := dbgen.ChatMessage(t, db, database.ChatMessage{ |
| 4979 | ChatID: chat.ID, |
| 4980 | ModelConfigID: uuid.NullUUID{UUID: model.ID, Valid: true}, |
| 4981 | Role: database.ChatMessageRoleAssistant, |
| 4982 | ContentVersion: chatprompt.CurrentContentVersion, |
| 4983 | Content: secondContent, |
| 4984 | }) |
| 4985 | |
| 4986 | thirdContent, err := chatprompt.MarshalParts([]codersdk.ChatMessagePart{ |
| 4987 | codersdk.ChatMessageText("third"), |
| 4988 | }) |
| 4989 | require.NoError(t, err) |
| 4990 | |
| 4991 | _ = dbgen.ChatMessage(t, db, database.ChatMessage{ |
| 4992 | ChatID: chat.ID, |
| 4993 | CreatedBy: uuid.NullUUID{UUID: user.ID, Valid: true}, |
| 4994 | ModelConfigID: uuid.NullUUID{UUID: model.ID, Valid: true}, |
| 4995 | Role: database.ChatMessageRoleUser, |
| 4996 | ContentVersion: chatprompt.CurrentContentVersion, |
| 4997 | Content: thirdContent, |
nothing calls this directly
no test coverage detected