mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-08-01 22:02:46 +00:00
Add MXIDMapping
for pseudoID rooms (#3112)
Add `MXIDMapping` on membership events when creating/joining rooms.
This commit is contained in:
parent
4722f12fab
commit
23cd7877a1
41 changed files with 593 additions and 177 deletions
|
@ -54,7 +54,13 @@ func TestCurrentRoomStateTable(t *testing.T) {
|
|||
events := room.CurrentState()
|
||||
err := sqlutil.WithTransaction(db, func(txn *sql.Tx) error {
|
||||
for i, ev := range events {
|
||||
err := tab.UpsertRoomState(ctx, txn, ev, nil, types.StreamPosition(i))
|
||||
ev.StateKeyResolved = ev.StateKey()
|
||||
userID, err := spec.NewUserID(string(ev.SenderID()), true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ev.UserID = *userID
|
||||
err = tab.UpsertRoomState(ctx, txn, ev, nil, types.StreamPosition(i))
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to UpsertRoomState: %w", err)
|
||||
}
|
||||
|
|
|
@ -80,6 +80,7 @@ func TestMembershipsTable(t *testing.T) {
|
|||
defer cancel()
|
||||
|
||||
for _, ev := range userEvents {
|
||||
ev.StateKeyResolved = ev.StateKey()
|
||||
if err := table.UpsertMembership(ctx, nil, ev, types.StreamPosition(ev.Depth()), 1); err != nil {
|
||||
t.Fatalf("failed to upsert membership: %s", err)
|
||||
}
|
||||
|
@ -134,6 +135,7 @@ func testUpsert(t *testing.T, ctx context.Context, table tables.Memberships, mem
|
|||
ev := room.CreateAndInsert(t, user, spec.MRoomMember, map[string]interface{}{
|
||||
"membership": spec.Join,
|
||||
}, test.WithStateKey(user.ID))
|
||||
ev.StateKeyResolved = ev.StateKey()
|
||||
// Insert the same event again, but with different positions, which should get updated
|
||||
if err = table.UpsertMembership(ctx, nil, ev, 2, 2); err != nil {
|
||||
t.Fatalf("failed to upsert membership: %s", err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue