From e768fae0c0f02f098dafc6f6f30121bf913cd678 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Fri, 11 Sep 2020 17:01:02 +0100 Subject: [PATCH] Move PublicRoomsManager tests to ModuleApi --- tests/module_api/test_api.py | 42 +++++++++++++++++++++++++- tests/rest/client/third_party_rules.py | 35 --------------------- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/tests/module_api/test_api.py b/tests/module_api/test_api.py index 04de0b9dbe..2d43336110 100644 --- a/tests/module_api/test_api.py +++ b/tests/module_api/test_api.py @@ -12,13 +12,20 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - from synapse.module_api import ModuleApi +from synapse.rest import admin +from synapse.rest.client.v1 import login, room from tests.unittest import HomeserverTestCase class ModuleApiTestCase(HomeserverTestCase): + servlets = [ + admin.register_servlets, + login.register_servlets, + room.register_servlets, + ] + def prepare(self, reactor, clock, homeserver): self.store = homeserver.get_datastore() self.module_api = ModuleApi(homeserver, homeserver.get_auth_handler()) @@ -52,3 +59,36 @@ class ModuleApiTestCase(HomeserverTestCase): # Check that the displayname was assigned displayname = self.get_success(self.store.get_profile_displayname("bob")) self.assertEqual(displayname, "Bobberino") + + def test_public_rooms(self): + """Tests that a room can be added and removed from the public rooms list, + as well as have its public rooms directory state queried. + """ + # Create a user and room to play with + user_id = self.register_user("kermit", "monkey") + tok = self.login("kermit", "monkey") + room_id = self.helper.create_room_as(user_id, tok=tok) + + # The room should not currently be in the public rooms directory + is_in_public_rooms = self.get_success( + self.module_api.room_is_in_public_directory(room_id) + ) + self.assertFalse(is_in_public_rooms) + + # Let's try adding it to the public rooms directory + self.get_success(self.module_api.add_room_to_public_directory(room_id)) + + # And checking whether it's in there... + is_in_public_rooms = self.get_success( + self.module_api.room_is_in_public_directory(room_id) + ) + self.assertTrue(is_in_public_rooms) + + # Let's remove it again + self.get_success(self.module_api.remove_room_from_public_directory(room_id)) + + # Should be gone + is_in_public_rooms = self.get_success( + self.module_api.room_is_in_public_directory(room_id) + ) + self.assertFalse(is_in_public_rooms) diff --git a/tests/rest/client/third_party_rules.py b/tests/rest/client/third_party_rules.py index 37bec38717..715e87de08 100644 --- a/tests/rest/client/third_party_rules.py +++ b/tests/rest/client/third_party_rules.py @@ -12,7 +12,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from synapse.events.third_party_rules import PublicRoomsManager from synapse.rest import admin from synapse.rest.client.v1 import login, room from synapse.types import Requester @@ -85,37 +84,3 @@ class ThirdPartyRulesTestCase(unittest.HomeserverTestCase): ) self.render(request) self.assertEquals(channel.result["code"], b"403", channel.result) - - def test_public_rooms_manager(self): - """Tests that a room can be added and removed from the public rooms list, - as well as have its public rooms directory state queried. - """ - public_rooms_manager = PublicRoomsManager(self.hs) - - # The room should not currently be in the public rooms directory - is_in_public_rooms = self.get_success( - public_rooms_manager.room_is_in_public_directory(self.room_id) - ) - self.assertFalse(is_in_public_rooms) - - # Let's try adding it to the public rooms directory - self.get_success( - public_rooms_manager.add_room_to_public_directory(self.room_id) - ) - - # And checking whether it's in there... - is_in_public_rooms = self.get_success( - public_rooms_manager.room_is_in_public_directory(self.room_id) - ) - self.assertTrue(is_in_public_rooms) - - # Let's remove it again - self.get_success( - public_rooms_manager.remove_room_from_public_directory(self.room_id) - ) - - # Should be gone - is_in_public_rooms = self.get_success( - public_rooms_manager.room_is_in_public_directory(self.room_id) - ) - self.assertFalse(is_in_public_rooms)