Register homeserver modules when creating test homeserver (#13558)

pull/13574/head
Andrew Morgan 2022-08-19 16:52:20 +01:00 committed by GitHub
parent f3fba4914d
commit 40e3e68cd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 22 deletions

1
changelog.d/13558.misc Normal file
View File

@ -0,0 +1 @@
Make `HomeServerTestCase` load any configured homeserver modules automatically.

View File

@ -141,10 +141,6 @@ class PresenceRouterTestCase(FederatingHomeserverTestCase):
hs = self.setup_test_homeserver( hs = self.setup_test_homeserver(
federation_transport_client=fed_transport_client, federation_transport_client=fed_transport_client,
) )
# Load the modules into the homeserver
module_api = hs.get_module_api()
for module, config in hs.config.modules.loaded_modules:
module(config=config, api=module_api)
load_legacy_presence_router(hs) load_legacy_presence_router(hs)

View File

@ -21,7 +21,6 @@ from unittest.mock import Mock
import synapse import synapse
from synapse.api.constants import LoginType from synapse.api.constants import LoginType
from synapse.api.errors import Codes from synapse.api.errors import Codes
from synapse.handlers.auth import load_legacy_password_auth_providers
from synapse.module_api import ModuleApi from synapse.module_api import ModuleApi
from synapse.rest.client import account, devices, login, logout, register from synapse.rest.client import account, devices, login, logout, register
from synapse.types import JsonDict, UserID from synapse.types import JsonDict, UserID
@ -167,16 +166,6 @@ class PasswordAuthProviderTests(unittest.HomeserverTestCase):
mock_password_provider.reset_mock() mock_password_provider.reset_mock()
super().setUp() super().setUp()
def make_homeserver(self, reactor, clock):
hs = self.setup_test_homeserver()
# Load the modules into the homeserver
module_api = hs.get_module_api()
for module, config in hs.config.modules.loaded_modules:
module(config=config, api=module_api)
load_legacy_password_auth_providers(hs)
return hs
@override_config(legacy_providers_config(LegacyPasswordOnlyAuthProvider)) @override_config(legacy_providers_config(LegacyPasswordOnlyAuthProvider))
def test_password_only_auth_progiver_login_legacy(self): def test_password_only_auth_progiver_login_legacy(self):
self.password_only_auth_provider_login_test_body() self.password_only_auth_provider_login_test_body()

View File

@ -22,7 +22,6 @@ from synapse.api.errors import (
ResourceLimitError, ResourceLimitError,
SynapseError, SynapseError,
) )
from synapse.events.spamcheck import load_legacy_spam_checkers
from synapse.spam_checker_api import RegistrationBehaviour from synapse.spam_checker_api import RegistrationBehaviour
from synapse.types import RoomAlias, RoomID, UserID, create_requester from synapse.types import RoomAlias, RoomID, UserID, create_requester
@ -144,12 +143,6 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
config=hs_config, federation_client=self.mock_federation_client config=hs_config, federation_client=self.mock_federation_client
) )
load_legacy_spam_checkers(hs)
module_api = hs.get_module_api()
for module, config in hs.config.modules.loaded_modules:
module(config=config, api=module_api)
return hs return hs
def prepare(self, reactor, clock, hs): def prepare(self, reactor, clock, hs):

View File

@ -61,6 +61,10 @@ from twisted.web.resource import IResource
from twisted.web.server import Request, Site from twisted.web.server import Request, Site
from synapse.config.database import DatabaseConnectionConfig from synapse.config.database import DatabaseConnectionConfig
from synapse.events.presence_router import load_legacy_presence_router
from synapse.events.spamcheck import load_legacy_spam_checkers
from synapse.events.third_party_rules import load_legacy_third_party_event_rules
from synapse.handlers.auth import load_legacy_password_auth_providers
from synapse.http.site import SynapseRequest from synapse.http.site import SynapseRequest
from synapse.logging.context import ContextResourceUsage from synapse.logging.context import ContextResourceUsage
from synapse.server import HomeServer from synapse.server import HomeServer
@ -913,4 +917,14 @@ def setup_test_homeserver(
# Make the threadpool and database transactions synchronous for testing. # Make the threadpool and database transactions synchronous for testing.
_make_test_homeserver_synchronous(hs) _make_test_homeserver_synchronous(hs)
# Load any configured modules into the homeserver
module_api = hs.get_module_api()
for module, config in hs.config.modules.loaded_modules:
module(config=config, api=module_api)
load_legacy_spam_checkers(hs)
load_legacy_third_party_event_rules(hs)
load_legacy_presence_router(hs)
load_legacy_password_auth_providers(hs)
return hs return hs