12
12
# See the License for the specific language governing permissions and
13
13
# limitations under the License.
14
14
15
+ from typing import Tuple , Union
16
+
15
17
import attr
16
18
from parameterized import parameterized
17
19
18
- from synapse .api .room_versions import RoomVersions
20
+ from synapse .api .room_versions import (
21
+ KNOWN_ROOM_VERSIONS ,
22
+ EventFormatVersions ,
23
+ RoomVersion ,
24
+ )
19
25
from synapse .events import _EventInternalMetadata
20
26
from synapse .util import json_encoder
21
27
@@ -506,11 +512,21 @@ def insert_event(txn):
506
512
)
507
513
self .assertSetEqual (difference , set ())
508
514
509
- def test_prune_inbound_federation_queue (self ):
510
- "Test that pruning of inbound federation queues work"
515
+ @parameterized .expand (
516
+ [(room_version ,) for room_version in KNOWN_ROOM_VERSIONS .values ()]
517
+ )
518
+ def test_prune_inbound_federation_queue (self , room_version : RoomVersion ):
519
+ """Test that pruning of inbound federation queues work"""
511
520
512
521
room_id = "some_room_id"
513
522
523
+ def prev_event_format (prev_event_id : str ) -> Union [Tuple [str , dict ], str ]:
524
+ """Account for differences in prev_events format across room versions"""
525
+ if room_version .event_format == EventFormatVersions .V1 :
526
+ return prev_event_id , {}
527
+
528
+ return prev_event_id
529
+
514
530
# Insert a bunch of events that all reference the previous one.
515
531
self .get_success (
516
532
self .store .db_pool .simple_insert_many (
@@ -522,7 +538,7 @@ def test_prune_inbound_federation_queue(self):
522
538
"received_ts" : 0 ,
523
539
"event_id" : f"$fake_event_id_{ i + 1 } " ,
524
540
"event_json" : json_encoder .encode (
525
- {"prev_events" : [f"$fake_event_id_{ i } " ]}
541
+ {"prev_events" : [prev_event_format ( f"$fake_event_id_{ i } " ) ]}
526
542
),
527
543
"internal_metadata" : "{}" ,
528
544
}
@@ -535,12 +551,12 @@ def test_prune_inbound_federation_queue(self):
535
551
# Calling prune once should return True, i.e. a prune happen. The second
536
552
# time it shouldn't.
537
553
pruned = self .get_success (
538
- self .store .prune_staged_events_in_room (room_id , RoomVersions . V6 )
554
+ self .store .prune_staged_events_in_room (room_id , room_version )
539
555
)
540
556
self .assertTrue (pruned )
541
557
542
558
pruned = self .get_success (
543
- self .store .prune_staged_events_in_room (room_id , RoomVersions . V6 )
559
+ self .store .prune_staged_events_in_room (room_id , room_version )
544
560
)
545
561
self .assertFalse (pruned )
546
562
0 commit comments