mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
test(coderd): expect chat goal marker queries
This commit is contained in:
@@ -1027,6 +1027,12 @@ func (s *MethodTestSuite) TestChats() {
|
|||||||
dbm.EXPECT().GetChatByID(gomock.Any(), chat.ID).Return(chat, nil).AnyTimes()
|
dbm.EXPECT().GetChatByID(gomock.Any(), chat.ID).Return(chat, nil).AnyTimes()
|
||||||
check.Args(msg.ID).Asserts(chat, policy.ActionRead).Returns(msg)
|
check.Args(msg.ID).Asserts(chat, policy.ActionRead).Returns(msg)
|
||||||
}))
|
}))
|
||||||
|
s.Run("GetChatGoalMessageIDsByMessageIDs", s.Mocked(func(dbm *dbmock.MockStore, _ *gofakeit.Faker, check *expects) {
|
||||||
|
messageIDs := []int64{1, 2}
|
||||||
|
goalMessageIDs := []int64{2}
|
||||||
|
dbm.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), messageIDs).Return(goalMessageIDs, nil).AnyTimes()
|
||||||
|
check.Args(messageIDs).Asserts().Returns(goalMessageIDs)
|
||||||
|
}))
|
||||||
s.Run("GetChatMessagesByChatID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
|
s.Run("GetChatMessagesByChatID", s.Mocked(func(dbm *dbmock.MockStore, faker *gofakeit.Faker, check *expects) {
|
||||||
chat := testutil.Fake(s.T(), faker, database.Chat{})
|
chat := testutil.Fake(s.T(), faker, database.Chat{})
|
||||||
msgs := []database.ChatMessage{testutil.Fake(s.T(), faker, database.ChatMessage{ChatID: chat.ID})}
|
msgs := []database.ChatMessage{testutil.Fake(s.T(), faker, database.ChatMessage{ChatID: chat.ID})}
|
||||||
|
|||||||
@@ -2159,6 +2159,7 @@ func TestSubscribeDedupesLocallyDeliveredMessageOnNotifyCatchup(t *testing.T) {
|
|||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 0,
|
AfterID: 0,
|
||||||
}).Return([]database.ChatMessage{initialMessage}, nil),
|
}).Return([]database.ChatMessage{initialMessage}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{initialMessage.ID}).Return(nil, nil),
|
||||||
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
||||||
// DB catchup runs unconditionally on every notify; the delivered
|
// DB catchup runs unconditionally on every notify; the delivered
|
||||||
// set dedupes against locally-delivered messages.
|
// set dedupes against locally-delivered messages.
|
||||||
@@ -2208,6 +2209,7 @@ func TestSubscribeUsesDurableCacheWhenLocalMessageWasNotDelivered(t *testing.T)
|
|||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 0,
|
AfterID: 0,
|
||||||
}).Return([]database.ChatMessage{initialMessage}, nil),
|
}).Return([]database.ChatMessage{initialMessage}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{initialMessage.ID}).Return(nil, nil),
|
||||||
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
||||||
// DB catchup runs unconditionally; cached id=2 is deduped via
|
// DB catchup runs unconditionally; cached id=2 is deduped via
|
||||||
// the delivered set so this query returning nil is sufficient.
|
// the delivered set so this query returning nil is sufficient.
|
||||||
@@ -2265,11 +2267,13 @@ func TestSubscribeQueriesDatabaseWhenDurableCacheMisses(t *testing.T) {
|
|||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 0,
|
AfterID: 0,
|
||||||
}).Return([]database.ChatMessage{initialMessage}, nil),
|
}).Return([]database.ChatMessage{initialMessage}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{initialMessage.ID}).Return(nil, nil),
|
||||||
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
||||||
db.EXPECT().GetChatMessagesByChatID(gomock.Any(), database.GetChatMessagesByChatIDParams{
|
db.EXPECT().GetChatMessagesByChatID(gomock.Any(), database.GetChatMessagesByChatIDParams{
|
||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 1,
|
AfterID: 1,
|
||||||
}).Return([]database.ChatMessage{catchupMessage}, nil),
|
}).Return([]database.ChatMessage{catchupMessage}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{catchupMessage.ID}).Return(nil, nil),
|
||||||
)
|
)
|
||||||
|
|
||||||
server := newSubscribeTestServer(t, db)
|
server := newSubscribeTestServer(t, db)
|
||||||
@@ -2314,11 +2318,13 @@ func TestSubscribeFullRefreshStillUsesDatabaseCatchup(t *testing.T) {
|
|||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 0,
|
AfterID: 0,
|
||||||
}).Return([]database.ChatMessage{initialMessage}, nil),
|
}).Return([]database.ChatMessage{initialMessage}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{initialMessage.ID}).Return(nil, nil),
|
||||||
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
||||||
db.EXPECT().GetChatMessagesByChatID(gomock.Any(), database.GetChatMessagesByChatIDParams{
|
db.EXPECT().GetChatMessagesByChatID(gomock.Any(), database.GetChatMessagesByChatIDParams{
|
||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 0,
|
AfterID: 0,
|
||||||
}).Return([]database.ChatMessage{editedMessage}, nil),
|
}).Return([]database.ChatMessage{editedMessage}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{editedMessage.ID}).Return(nil, nil),
|
||||||
)
|
)
|
||||||
|
|
||||||
server := newSubscribeTestServer(t, db)
|
server := newSubscribeTestServer(t, db)
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ func TestSubscribeDeliversOutOfOrderDurableMessage(t *testing.T) {
|
|||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 0,
|
AfterID: 0,
|
||||||
}).Return([]database.ChatMessage{initialUser, initialAssistant}, nil),
|
}).Return([]database.ChatMessage{initialUser, initialAssistant}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{initialUser.ID, initialAssistant.ID}).Return(nil, nil),
|
||||||
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
db.EXPECT().GetChatQueuedMessages(gomock.Any(), chatID).Return(nil, nil),
|
||||||
)
|
)
|
||||||
// Notify-driven catch-up queries return nothing so the test only
|
// Notify-driven catch-up queries return nothing so the test only
|
||||||
@@ -177,6 +178,7 @@ func TestSubscribeRunsDBFallbackWhenCacheDeliversUnrelatedMessage(t *testing.T)
|
|||||||
ChatID: chatID,
|
ChatID: chatID,
|
||||||
AfterID: 5,
|
AfterID: 5,
|
||||||
}).Return([]database.ChatMessage{crossReplica}, nil),
|
}).Return([]database.ChatMessage{crossReplica}, nil),
|
||||||
|
db.EXPECT().GetChatGoalMessageIDsByMessageIDs(gomock.Any(), []int64{crossReplica.ID}).Return(nil, nil),
|
||||||
)
|
)
|
||||||
|
|
||||||
server := newSubscribeTestServer(t, db)
|
server := newSubscribeTestServer(t, db)
|
||||||
|
|||||||
Reference in New Issue
Block a user