From ff6212a5a5d9f5a43f8436ad6039819eb3b86bd4 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Mon, 11 Oct 2021 17:29:07 +0100 Subject: [PATCH] Add test covering appservice sender joining a room I don't think this actually improves coverage as such, but I'll sleep better at night having this case checked! --- tests/handlers/test_user_directory.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/handlers/test_user_directory.py b/tests/handlers/test_user_directory.py index e889a8c6336e..1b495695d9ce 100644 --- a/tests/handlers/test_user_directory.py +++ b/tests/handlers/test_user_directory.py @@ -63,7 +63,9 @@ def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer: hostname="test", id="1234", namespaces={"users": [{"regex": r"@as_user.*", "exclusive": True}]}, - sender="@as:test", + # Note: this user does not match the regex above, so that tests + # can distinguish the sender from the AS user. + sender="@as_main:test", ) mock_load_appservices = Mock(return_value=[self.appservice]) @@ -179,6 +181,15 @@ def test_excludes_appservices_user(self) -> None: ) self._check_only_one_user_in_directory(user, public) + def test_excludes_appservice_sender(self) -> None: + user = self.register_user("user", "pass") + token = self.login(user, "pass") + room = self.helper.create_room_as( + self.appservice.sender, is_public=True, tok=self.appservice.token + ) + self.helper.join(room, user, tok=token) + self._check_only_one_user_in_directory(user, room) + def _create_rooms_and_inject_memberships( self, creator: str, token: str, joiner: str ) -> Tuple[str, str]: