Add isStateFilterEmpty tests

This commit is contained in:
Till Faelligen 2023-02-01 16:03:12 +01:00
parent fc74946246
commit 977dc8f9a5
No known key found for this signature in database
GPG key ID: ACCDC9606D472758
2 changed files with 72 additions and 10 deletions

View file

@ -0,0 +1,72 @@
package shared
import (
"testing"
"github.com/matrix-org/gomatrixserverlib"
)
func Test_isStatefilterEmpty(t *testing.T) {
filterSet := []string{"a"}
boolValue := false
tests := []struct {
name string
filter *gomatrixserverlib.StateFilter
want bool
}{
{
name: "nil filter is empty",
filter: nil,
want: true,
},
{
name: "Empty filter is empty",
filter: &gomatrixserverlib.StateFilter{},
want: true,
},
{
name: "NotTypes is set",
filter: &gomatrixserverlib.StateFilter{
NotTypes: &filterSet,
},
},
{
name: "Types is set",
filter: &gomatrixserverlib.StateFilter{
Types: &filterSet,
},
},
{
name: "Senders is set",
filter: &gomatrixserverlib.StateFilter{
Senders: &filterSet,
},
},
{
name: "NotSenders is set",
filter: &gomatrixserverlib.StateFilter{
NotSenders: &filterSet,
},
},
{
name: "NotRooms is set",
filter: &gomatrixserverlib.StateFilter{
NotRooms: &filterSet,
},
},
{
name: "ContainsURL is set",
filter: &gomatrixserverlib.StateFilter{
ContainsURL: &boolValue,
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := isStatefilterEmpty(tt.filter); got != tt.want {
t.Errorf("isStatefilterEmpty() = %v, want %v", got, tt.want)
}
})
}
}

View file

@ -82,17 +82,11 @@ func (p *PDUStreamProvider) CompleteSync(
req.Log.WithError(err).Error("unable to update event filter with ignored users")
}
s := time.Now()
recentEvents, err := snapshot.RecentEvents(ctx, joinedRoomIDs, r, &eventFilter, true, true)
if err != nil {
return from
}
logrus.WithFields(logrus.Fields{
"duration": time.Since(s),
"rooms": len(joinedRoomIDs)}).
Debugf("got recent events for all rooms")
// Build up a /sync response. Add joined rooms.
s = time.Now()
for _, roomID := range joinedRoomIDs {
events := recentEvents[roomID]
// Invalidate the lazyLoadCache, otherwise we end up with missing displaynames/avatars
@ -117,10 +111,6 @@ func (p *PDUStreamProvider) CompleteSync(
req.Response.Rooms.Join[roomID] = jr
req.Rooms[roomID] = gomatrixserverlib.Join
}
logrus.WithFields(logrus.Fields{
"duration": time.Since(s),
"rooms": len(joinedRoomIDs)}).
Debugf("built join response for all rooms")
// Add peeked rooms.
peeks, err := snapshot.PeeksInRange(ctx, req.Device.UserID, req.Device.ID, r)