diff --git a/tests/handlers/test_e2e_keys.py b/tests/handlers/test_e2e_keys.py
index 90b4da9ad5..07eb63f95e 100644
--- a/tests/handlers/test_e2e_keys.py
+++ b/tests/handlers/test_e2e_keys.py
@@ -1602,3 +1602,50 @@ class E2eKeysHandlerTestCase(unittest.HomeserverTestCase):
}
},
)
+
+ def test_check_cross_signing_setup(self) -> None:
+ # First check what happens with no master key.
+ alice = "@alice:test"
+ exists, replaceable_without_uia = self.get_success(
+ self.handler.check_cross_signing_setup(alice)
+ )
+ self.assertIs(exists, False)
+ self.assertIs(replaceable_without_uia, False)
+
+ # Upload a master key but don't specify a replacement timestamp.
+ dummy_key = {"keys": {"a": "b"}}
+ self.get_success(
+ self.store.set_e2e_cross_signing_key("@alice:test", "master", dummy_key)
+ )
+
+ # Should now find the key exists.
+ exists, replaceable_without_uia = self.get_success(
+ self.handler.check_cross_signing_setup(alice)
+ )
+ self.assertIs(exists, True)
+ self.assertIs(replaceable_without_uia, False)
+
+ # Set an expiry timestamp in the future.
+ self.get_success(
+ self.store.allow_master_cross_signing_key_replacement_without_uia(
+ alice,
+ 1000,
+ )
+ )
+
+ # Should now be allowed to replace the key without UIA.
+ exists, replaceable_without_uia = self.get_success(
+ self.handler.check_cross_signing_setup(alice)
+ )
+ self.assertIs(exists, True)
+ self.assertIs(replaceable_without_uia, True)
+
+ # Wait 2 seconds, so that the timestamp is in the past.
+ self.reactor.advance(2.0)
+
+ # Should no longer be allowed to replace the key without UIA.
+ exists, replaceable_without_uia = self.get_success(
+ self.handler.check_cross_signing_setup(alice)
+ )
+ self.assertIs(exists, True)
+ self.assertIs(replaceable_without_uia, False)
diff --git a/tests/handlers/test_federation.py b/tests/handlers/test_federation.py
index 4fc0742413..a035232905 100644
--- a/tests/handlers/test_federation.py
+++ b/tests/handlers/test_federation.py
@@ -112,7 +112,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
"""
Check that we store the state group correctly for rejected non-state events.
- Regression test for #6289.
+ Regression test for https://github.com/matrix-org/synapse/issues/6289.
"""
OTHER_SERVER = "otherserver"
OTHER_USER = "@otheruser:" + OTHER_SERVER
@@ -165,7 +165,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
"""
Check that we store the state group correctly for rejected state events.
- Regression test for #6289.
+ Regression test for https://github.com/matrix-org/synapse/issues/6289.
"""
OTHER_SERVER = "otherserver"
OTHER_USER = "@otheruser:" + OTHER_SERVER
@@ -222,7 +222,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
of backwards extremities(the magic number is more than 5),
no errors are thrown.
- Regression test, see #11027
+ Regression test, see https://github.com/matrix-org/synapse/pull/11027
"""
# create the room
user_id = self.register_user("kermit", "test")
diff --git a/tests/handlers/test_register.py b/tests/handlers/test_register.py
index e9fbf32c7c..032b89d684 100644
--- a/tests/handlers/test_register.py
+++ b/tests/handlers/test_register.py
@@ -342,10 +342,10 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
# Ensure the room is properly not federated.
room = self.get_success(self.store.get_room_with_stats(room_id["room_id"]))
assert room is not None
- self.assertFalse(room["federatable"])
- self.assertFalse(room["public"])
- self.assertEqual(room["join_rules"], "public")
- self.assertIsNone(room["guest_access"])
+ self.assertFalse(room.federatable)
+ self.assertFalse(room.public)
+ self.assertEqual(room.join_rules, "public")
+ self.assertIsNone(room.guest_access)
# The user should be in the room.
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
@@ -372,7 +372,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
# Ensure the room is properly a public room.
room = self.get_success(self.store.get_room_with_stats(room_id["room_id"]))
assert room is not None
- self.assertEqual(room["join_rules"], "public")
+ self.assertEqual(room.join_rules, "public")
# Both users should be in the room.
rooms = self.get_success(self.store.get_rooms_for_user(inviter))
@@ -411,9 +411,9 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
# Ensure the room is properly a private room.
room = self.get_success(self.store.get_room_with_stats(room_id["room_id"]))
assert room is not None
- self.assertFalse(room["public"])
- self.assertEqual(room["join_rules"], "invite")
- self.assertEqual(room["guest_access"], "can_join")
+ self.assertFalse(room.public)
+ self.assertEqual(room.join_rules, "invite")
+ self.assertEqual(room.guest_access, "can_join")
# Both users should be in the room.
rooms = self.get_success(self.store.get_rooms_for_user(inviter))
@@ -455,9 +455,9 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
# Ensure the room is properly a private room.
room = self.get_success(self.store.get_room_with_stats(room_id["room_id"]))
assert room is not None
- self.assertFalse(room["public"])
- self.assertEqual(room["join_rules"], "invite")
- self.assertEqual(room["guest_access"], "can_join")
+ self.assertFalse(room.public)
+ self.assertEqual(room.join_rules, "invite")
+ self.assertEqual(room.guest_access, "can_join")
# Both users should be in the room.
rooms = self.get_success(self.store.get_rooms_for_user(inviter))
diff --git a/tests/handlers/test_stats.py b/tests/handlers/test_stats.py
index 76c56d5434..15e19b15fb 100644
--- a/tests/handlers/test_stats.py
+++ b/tests/handlers/test_stats.py
@@ -84,7 +84,7 @@ class StatsRoomTests(unittest.HomeserverTestCase):
cols = list(stats.ABSOLUTE_STATS_FIELDS[stats_type])
- return self.get_success(
+ row = self.get_success(
self.store.db_pool.simple_select_one(
table + "_current",
{id_col: stat_id},
@@ -93,6 +93,8 @@ class StatsRoomTests(unittest.HomeserverTestCase):
)
)
+ return None if row is None else dict(zip(cols, row))
+
def _perform_background_initial_update(self) -> None:
# Do the initial population of the stats via the background update
self._add_background_updates()
diff --git a/tests/handlers/test_user_directory.py b/tests/handlers/test_user_directory.py
index b5f15aa7d4..388447eea6 100644
--- a/tests/handlers/test_user_directory.py
+++ b/tests/handlers/test_user_directory.py
@@ -366,7 +366,7 @@ class UserDirectoryTestCase(unittest.HomeserverTestCase):
)
profile = self.get_success(self.store._get_user_in_directory(regular_user_id))
assert profile is not None
- self.assertTrue(profile["display_name"] == display_name)
+ self.assertTrue(profile[0] == display_name)
def test_handle_local_profile_change_with_deactivated_user(self) -> None:
# create user
@@ -385,7 +385,7 @@ class UserDirectoryTestCase(unittest.HomeserverTestCase):
# profile is in directory
profile = self.get_success(self.store._get_user_in_directory(r_user_id))
assert profile is not None
- self.assertTrue(profile["display_name"] == display_name)
+ self.assertEqual(profile[0], display_name)
# deactivate user
self.get_success(self.store.set_user_deactivated_status(r_user_id, True))
|