Skip to content

Commit

Permalink
Add test
Browse files Browse the repository at this point in the history
  • Loading branch information
erikjohnston committed Mar 20, 2019
1 parent cc197a6 commit cc09685
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 3 deletions.
59 changes: 58 additions & 1 deletion tests/handlers/test_directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class TestCreateAliasACL(unittest.HomeserverTestCase):

servlets = [directory.register_servlets, room.register_servlets]

def prepare(self, hs, reactor, clock):
def prepare(self, reactor, clock, hs):
# We cheekily override the config to add custom alias creation rules
config = {}
config["alias_creation_rules"] = [
Expand Down Expand Up @@ -151,3 +151,60 @@ def test_allowed(self):
)
self.render(request)
self.assertEquals(200, channel.code, channel.result)


class TestRoomListSearchDisabled(unittest.HomeserverTestCase):
user_id = "@test:test"

servlets = [directory.register_servlets, room.register_servlets]

def prepare(self, reactor, clock, hs):
room_id = self.helper.create_room_as(self.user_id)

request, channel = self.make_request(
"PUT",
b"directory/list/room/%s" % (room_id.encode('ascii'),),
b'{}',
)
self.render(request)
self.assertEquals(200, channel.code, channel.result)

self.room_list_handler = hs.get_room_list_handler()
self.directory_handler = hs.get_handlers().directory_handler

return hs

def test_disabling_room_list(self):
self.room_list_handler.enable_room_list_search = True
self.directory_handler.enable_room_list_search = True

# Room list is enabled so we should get some results
request, channel = self.make_request(
"GET",
b"publicRooms",
)
self.render(request)
self.assertEquals(200, channel.code, channel.result)
self.assertTrue(len(channel.json_body["chunk"]) > 0)

self.room_list_handler.enable_room_list_search = False
self.directory_handler.enable_room_list_search = False

# Room list disabled so we should get no results
request, channel = self.make_request(
"GET",
b"publicRooms",
)
self.render(request)
self.assertEquals(200, channel.code, channel.result)
self.assertTrue(len(channel.json_body["chunk"]) == 0)

# Room list disabled so we shouldn't be allowed to publish rooms
room_id = self.helper.create_room_as(self.user_id)
request, channel = self.make_request(
"PUT",
b"directory/list/room/%s" % (room_id.encode('ascii'),),
b'{}',
)
self.render(request)
self.assertEquals(403, channel.code, channel.result)
2 changes: 0 additions & 2 deletions tests/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,6 @@ def setup_test_homeserver(
db_config=config.database_config,
version_string="Synapse/tests",
database_engine=db_engine,
room_list_handler=object(),
tls_server_context_factory=Mock(),
tls_client_options_factory=Mock(),
reactor=reactor,
Expand Down Expand Up @@ -351,7 +350,6 @@ def cleanup():
config=config,
version_string="Synapse/tests",
database_engine=db_engine,
room_list_handler=object(),
tls_server_context_factory=Mock(),
tls_client_options_factory=Mock(),
reactor=reactor,
Expand Down

0 comments on commit cc09685

Please sign in to comment.