diff --git a/tests/rest/client/test_rooms.py b/tests/rest/client/test_rooms.py
index 4d39c89f6f..f1b4e1ad2f 100644
--- a/tests/rest/client/test_rooms.py
+++ b/tests/rest/client/test_rooms.py
@@ -1941,6 +1941,43 @@ class RoomPowerLevelOverridesInPracticeTestCase(RoomBase):
channel.json_body["error"],
)
+ @unittest.override_config(
+ {
+ "default_power_level_content_override": {
+ "private_chat": {
+ "events": {
+ "m.room.avatar": 50,
+ "m.room.canonical_alias": 50,
+ "m.room.encryption": 999,
+ "m.room.history_visibility": 100,
+ "m.room.name": 50,
+ "m.room.power_levels": 100,
+ "m.room.server_acl": 100,
+ "m.room.tombstone": 100,
+ },
+ "events_default": 0,
+ },
+ }
+ },
+ )
+ def test_config_override_blocks_encrypted_room(self) -> None:
+ # Given the server has config for private_chats,
+
+ # When I attempt to create an encrypted private_chat room
+ channel = self.make_request(
+ "POST",
+ "/createRoom",
+ '{"creation_content": {"m.federate": false},"name": "Secret Private Room","preset": "private_chat","initial_state": [{"type": "m.room.encryption","state_key": "","content": {"algorithm": "m.megolm.v1.aes-sha2"}}]}',
+ )
+
+ # Then I am not allowed because the required power level is unattainable
+ self.assertEqual(HTTPStatus.FORBIDDEN, channel.code, msg=channel.result["body"])
+ self.assertEqual(
+ "You cannot create an encrypted room. "
+ + "user_level (100) < send_level (999)",
+ channel.json_body["error"],
+ )
+
class RoomInitialSyncTestCase(RoomBase):
"""Tests /rooms/$room_id/initialSync."""
|