Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More test coverage to ensure we process MSC2716 events in existing room versions #209

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions tests/msc2716_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -782,6 +782,9 @@ func TestImportHistoricalMessages(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)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Poor comment wording. You reference eventIDsAfter like it's a variable but it isn't used here?

Do you really mean:

Create events after to avoid the "No forward extremities left!" 500 error from Synapse

?

What does this have to do with room versions anyway? This just seems to be a logic error?

Copy link
Contributor Author

@MadLittleMods MadLittleMods Oct 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's what I mean, but the goal is to match the eventIDsAfter we use in other tests in this same place. The only reason I can't leave it there is because Go complains about it being unused.


// Import a historical event
batchSendRes := batchSendHistoricalMessages(
t,
Expand All @@ -796,6 +799,7 @@ func TestImportHistoricalMessages(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"},
Expand All @@ -809,6 +813,20 @@ func TestImportHistoricalMessages(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,
createJoinStateEventsForBatchSendRequest([]string{virtualUserID}, timeAfterEventBefore),
createMessageEventsForBatchSendRequest([]string{virtualUserID}, timeAfterEventBefore, 1),
// Status
200,
)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this have to do with room versions anyway? This just seems to be a logic error?

It was a logic error only with existing room versions in Synapse.

})

t.Run("Not allowed to redact MSC2716 insertion, batch, marker events", func(t *testing.T) {
Expand Down