diff --git a/tests/msc2716_test.go b/tests/msc2716_test.go index fc6faf72..4e747c71 100644 --- a/tests/msc2716_test.go +++ b/tests/msc2716_test.go @@ -780,6 +780,9 @@ func TestBackfillingHistory(t *testing.T) { eventIdBefore := eventIDsBefore[0] timeAfterEventBefore := time.Now() + // Create eventIDsAfter to avoid the "No forward extremities left!" 500 error from Synapse + createMessagesInRoom(t, alice, roomID, 2) + // Insert a backfilled event batchSendRes := batchSendHistoricalMessages( t, @@ -794,6 +797,7 @@ func TestBackfillingHistory(t *testing.T) { ) batchSendResBody := client.ParseJSON(t, batchSendRes) historicalEventIDs := client.GetJSONFieldStringArray(t, batchSendResBody, "event_ids") + nextBatchID := client.GetJSONFieldStr(t, batchSendResBody, "next_batch_id") messagesRes := alice.MustDoFunc(t, "GET", []string{"_matrix", "client", "r0", "rooms", roomID, "messages"}, client.WithContentType("application/json"), client.WithQueries(url.Values{ "dir": []string{"b"}, @@ -807,6 +811,20 @@ func TestBackfillingHistory(t *testing.T) { }, nil), }, }) + + // Now try to do a subsequent batch send. This will make sure + // that insertion events are stored/tracked and can be matched up in the next batch + batchSendHistoricalMessages( + t, + as, + roomID, + eventIdBefore, + nextBatchID, + createJoinStateEventsForBackfillRequest([]string{virtualUserID}, timeAfterEventBefore), + createMessageEventsForBackfillRequest([]string{virtualUserID}, timeAfterEventBefore, 1), + // Status + 200, + ) }) t.Run("Not allowed to redact MSC2716 insertion, batch, marker events", func(t *testing.T) {