PR comments, better readability for invite tests

This commit is contained in:
Till Faelligen 2022-05-10 13:55:10 +02:00
parent 4dc4ebbf57
commit 6bc7e2be2a
2 changed files with 21 additions and 8 deletions

View file

@ -44,45 +44,47 @@ func TestInviteTable(t *testing.T) {
tab, close := mustCreateInviteTable(t, dbType)
defer close()
eventID1 := util.RandomString(16)
newInvite, err := tab.InsertInviteEvent(ctx, nil, eventID1, 1, 1, 2, []byte(""))
roomNID := types.RoomNID(1)
targetUserNID, senderUserNID := types.EventStateKeyNID(1), types.EventStateKeyNID(2)
newInvite, err := tab.InsertInviteEvent(ctx, nil, eventID1, roomNID, targetUserNID, senderUserNID, []byte(""))
assert.NoError(t, err)
assert.True(t, newInvite)
// Try adding the same invite again
newInvite, err = tab.InsertInviteEvent(ctx, nil, eventID1, 1, 1, 2, []byte(""))
newInvite, err = tab.InsertInviteEvent(ctx, nil, eventID1, roomNID, targetUserNID, senderUserNID, []byte(""))
assert.NoError(t, err)
assert.False(t, newInvite)
// Add another invite for this room
eventID2 := util.RandomString(16)
newInvite, err = tab.InsertInviteEvent(ctx, nil, eventID2, 1, 1, 2, []byte(""))
newInvite, err = tab.InsertInviteEvent(ctx, nil, eventID2, roomNID, targetUserNID, senderUserNID, []byte(""))
assert.NoError(t, err)
assert.True(t, newInvite)
// Add another invite for a different user
eventID := util.RandomString(16)
newInvite, err = tab.InsertInviteEvent(ctx, nil, eventID, 3, 1, 2, []byte(""))
newInvite, err = tab.InsertInviteEvent(ctx, nil, eventID, types.RoomNID(3), targetUserNID, senderUserNID, []byte(""))
assert.NoError(t, err)
assert.True(t, newInvite)
stateKeyNIDs, eventIDs, err := tab.SelectInviteActiveForUserInRoom(ctx, nil, 1, 1)
stateKeyNIDs, eventIDs, err := tab.SelectInviteActiveForUserInRoom(ctx, nil, targetUserNID, roomNID)
assert.NoError(t, err)
assert.Equal(t, []string{eventID1, eventID2}, eventIDs)
assert.Equal(t, []types.EventStateKeyNID{2, 2}, stateKeyNIDs)
// retire the invite
retiredEventIDs, err := tab.UpdateInviteRetired(ctx, nil, 1, 1)
retiredEventIDs, err := tab.UpdateInviteRetired(ctx, nil, roomNID, targetUserNID)
assert.NoError(t, err)
assert.Equal(t, []string{eventID1, eventID2}, retiredEventIDs)
// This should now be empty
stateKeyNIDs, eventIDs, err = tab.SelectInviteActiveForUserInRoom(ctx, nil, 1, 1)
stateKeyNIDs, eventIDs, err = tab.SelectInviteActiveForUserInRoom(ctx, nil, targetUserNID, roomNID)
assert.NoError(t, err)
assert.Empty(t, eventIDs)
assert.Empty(t, stateKeyNIDs)
// Non-existent targetUserNID
stateKeyNIDs, eventIDs, err = tab.SelectInviteActiveForUserInRoom(ctx, nil, 10, 1)
stateKeyNIDs, eventIDs, err = tab.SelectInviteActiveForUserInRoom(ctx, nil, types.EventStateKeyNID(10), roomNID)
assert.NoError(t, err)
assert.Empty(t, stateKeyNIDs)
assert.Empty(t, eventIDs)

View file

@ -64,5 +64,16 @@ func TestPublishedTable(t *testing.T) {
roomIDs, err := tab.SelectAllPublishedRooms(ctx, nil, true)
assert.NoError(t, err)
assert.Equal(t, publishedRooms, roomIDs)
// test an actual upsert
room := test.NewRoom(t, alice)
err = tab.UpsertRoomPublished(ctx, nil, room.ID, true)
assert.NoError(t, err)
err = tab.UpsertRoomPublished(ctx, nil, room.ID, false)
assert.NoError(t, err)
// should now be false, due to the upsert
publishedRes, err := tab.SelectPublishedFromRoomID(ctx, nil, room.ID)
assert.NoError(t, err)
assert.False(t, publishedRes)
})
}