From d1388f3207c9ced62d63fb19517bdd89210b1627 Mon Sep 17 00:00:00 2001 From: Mathieu Velten Date: Tue, 16 Jan 2024 13:41:59 +0100 Subject: [PATCH] Fix test, better way --- tests/rest/client/test_register.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/tests/rest/client/test_register.py b/tests/rest/client/test_register.py index 46911cb1a0..694f143eff 100644 --- a/tests/rest/client/test_register.py +++ b/tests/rest/client/test_register.py @@ -36,7 +36,6 @@ ) from synapse.api.errors import Codes from synapse.appservice import ApplicationService -from synapse.http.server import HttpServer from synapse.rest.client import account, account_validity, login, logout, register, sync from synapse.server import HomeServer from synapse.storage._base import db_to_json @@ -44,23 +43,15 @@ from synapse.util import Clock from tests import unittest +from tests.server import ThreadedMemoryReactorClock from tests.unittest import override_config -# Let's override the email register servlet to mock send_email, since the smtp server doesn't really exists -def override_email_register_servlet(hs: "HomeServer", http_server: HttpServer) -> None: - if hs.config.worker.worker_app is None and hs.config.email.can_verify_email: - email_register_servlet = register.EmailRegisterRequestTokenRestServlet(hs) - email_register_servlet.already_in_use_mailer.send_email = AsyncMock() # type: ignore[method-assign] - email_register_servlet.register(http_server) - - class RegisterRestServletTestCase(unittest.HomeserverTestCase): servlets = [ login.register_servlets, register.register_servlets, synapse.rest.admin.register_servlets, - override_email_register_servlet, ] url = b"/_matrix/client/r0/register" @@ -69,6 +60,13 @@ def default_config(self) -> Dict[str, Any]: config["allow_guest_access"] = True return config + def make_homeserver( + self, reactor: ThreadedMemoryReactorClock, clock: Clock + ) -> HomeServer: + hs = super().make_homeserver(reactor, clock) + hs.get_send_email_handler()._sendmail = AsyncMock() + return hs + def test_POST_appservice_registration_valid(self) -> None: user_id = "@as_user_kermit:test" as_token = "i_am_an_app_service"