mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 18:43:10 -06:00
Add isStateFilterEmpty tests
This commit is contained in:
parent
fc74946246
commit
977dc8f9a5
72
syncapi/storage/shared/storage_sync_test.go
Normal file
72
syncapi/storage/shared/storage_sync_test.go
Normal 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)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -82,17 +82,11 @@ func (p *PDUStreamProvider) CompleteSync(
|
||||||
req.Log.WithError(err).Error("unable to update event filter with ignored users")
|
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)
|
recentEvents, err := snapshot.RecentEvents(ctx, joinedRoomIDs, r, &eventFilter, true, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return from
|
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.
|
// Build up a /sync response. Add joined rooms.
|
||||||
s = time.Now()
|
|
||||||
for _, roomID := range joinedRoomIDs {
|
for _, roomID := range joinedRoomIDs {
|
||||||
events := recentEvents[roomID]
|
events := recentEvents[roomID]
|
||||||
// Invalidate the lazyLoadCache, otherwise we end up with missing displaynames/avatars
|
// 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.Response.Rooms.Join[roomID] = jr
|
||||||
req.Rooms[roomID] = gomatrixserverlib.Join
|
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.
|
// Add peeked rooms.
|
||||||
peeks, err := snapshot.PeeksInRange(ctx, req.Device.UserID, req.Device.ID, r)
|
peeks, err := snapshot.PeeksInRange(ctx, req.Device.UserID, req.Device.ID, r)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue