diff --git a/tests/handlers/test_room_member.py b/tests/handlers/test_room_member.py
index 6a38893b68..a444d822cd 100644
--- a/tests/handlers/test_room_member.py
+++ b/tests/handlers/test_room_member.py
@@ -333,6 +333,17 @@ class RoomMemberMasterHandlerTestCase(HomeserverTestCase):
self.get_success(self.store.is_locally_forgotten_room(self.room_id))
)
+ @override_config({"forget_rooms_on_leave": True})
+ def test_leave_and_auto_forget(self) -> None:
+ """Tests the `forget_rooms_on_leave` config option."""
+ self.helper.join(self.room_id, user=self.bob, tok=self.bob_token)
+
+ # alice is not the last room member that leaves and forgets the room
+ self.helper.leave(self.room_id, user=self.alice, tok=self.alice_token)
+ self.assertTrue(
+ self.get_success(self.store.did_forget(self.alice, self.room_id))
+ )
+
def test_leave_and_forget_last_user(self) -> None:
"""Tests that forget a room is successfully when the last user has left the room."""
diff --git a/tests/push/test_http.py b/tests/push/test_http.py
index 99cec0836b..54f558742d 100644
--- a/tests/push/test_http.py
+++ b/tests/push/test_http.py
@@ -962,3 +962,40 @@ class HTTPPusherTests(HomeserverTestCase):
channel.json_body["pushers"][0]["org.matrix.msc3881.device_id"],
lookup_result.device_id,
)
+
+ @override_config({"push": {"jitter_delay": "10s"}})
+ def test_jitter(self) -> None:
+ """Tests that enabling jitter actually delays sending push."""
+ user_id, access_token = self._make_user_with_pusher("user")
+ other_user_id, other_access_token = self._make_user_with_pusher("otheruser")
+
+ room = self.helper.create_room_as(user_id, tok=access_token)
+ self.helper.join(room=room, user=other_user_id, tok=other_access_token)
+
+ # Send a message and check that it did not generate a push, as it should
+ # be delayed.
+ self.helper.send(room, body="Hi!", tok=other_access_token)
+ self.assertEqual(len(self.push_attempts), 0)
+
+ # Now advance time past the max jitter, and assert the message was sent.
+ self.reactor.advance(15)
+ self.assertEqual(len(self.push_attempts), 1)
+
+ self.push_attempts[0][0].callback({})
+
+ # Now we send a bunch of messages and assert that they were all sent
+ # within the 10s max delay.
+ for _ in range(10):
+ self.helper.send(room, body="Hi!", tok=other_access_token)
+
+ index = 1
+ for _ in range(11):
+ while len(self.push_attempts) > index:
+ self.push_attempts[index][0].callback({})
+ self.pump()
+ index += 1
+
+ self.reactor.advance(1)
+ self.pump()
+
+ self.assertEqual(len(self.push_attempts), 11)
diff --git a/tests/rest/admin/test_admin.py b/tests/rest/admin/test_admin.py
index 645a00b4b1..695e84357a 100644
--- a/tests/rest/admin/test_admin.py
+++ b/tests/rest/admin/test_admin.py
@@ -399,7 +399,7 @@ class ExperimentalFeaturesTestCase(unittest.HomeserverTestCase):
"PUT",
url,
content={
- "features": {"msc3026": True, "msc2654": True},
+ "features": {"msc3026": True, "msc3881": True},
},
access_token=self.admin_user_tok,
)
@@ -420,7 +420,7 @@ class ExperimentalFeaturesTestCase(unittest.HomeserverTestCase):
)
self.assertEqual(
True,
- channel.json_body["features"]["msc2654"],
+ channel.json_body["features"]["msc3881"],
)
# test disabling a feature works
@@ -448,10 +448,6 @@ class ExperimentalFeaturesTestCase(unittest.HomeserverTestCase):
)
self.assertEqual(
True,
- channel.json_body["features"]["msc2654"],
- )
- self.assertEqual(
- False,
channel.json_body["features"]["msc3881"],
)
self.assertEqual(
|