mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
Remove the deprecated Handlers object (#8494)
All handlers now available via get_*_handler() methods on the HomeServer.
This commit is contained in:
parent
a93f3121f8
commit
c9c0ad5e20
1
changelog.d/8494.misc
Normal file
1
changelog.d/8494.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Remove the deprecated `Handlers` object.
|
@ -89,7 +89,7 @@ async def export_data_command(hs, args):
|
|||||||
user_id = args.user_id
|
user_id = args.user_id
|
||||||
directory = args.output_directory
|
directory = args.output_directory
|
||||||
|
|
||||||
res = await hs.get_handlers().admin_handler.export_user_data(
|
res = await hs.get_admin_handler().export_user_data(
|
||||||
user_id, FileExfiltrationWriter(user_id, directory=directory)
|
user_id, FileExfiltrationWriter(user_id, directory=directory)
|
||||||
)
|
)
|
||||||
print(res)
|
print(res)
|
||||||
|
@ -99,10 +99,15 @@ class FederationServer(FederationBase):
|
|||||||
super().__init__(hs)
|
super().__init__(hs)
|
||||||
|
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.handler = hs.get_handlers().federation_handler
|
self.handler = hs.get_federation_handler()
|
||||||
self.state = hs.get_state_handler()
|
self.state = hs.get_state_handler()
|
||||||
|
|
||||||
self.device_handler = hs.get_device_handler()
|
self.device_handler = hs.get_device_handler()
|
||||||
|
|
||||||
|
# Ensure the following handlers are loaded since they register callbacks
|
||||||
|
# with FederationHandlerRegistry.
|
||||||
|
hs.get_directory_handler()
|
||||||
|
|
||||||
self._federation_ratelimiter = hs.get_federation_ratelimiter()
|
self._federation_ratelimiter = hs.get_federation_ratelimiter()
|
||||||
|
|
||||||
self._server_linearizer = Linearizer("fed_server")
|
self._server_linearizer = Linearizer("fed_server")
|
||||||
|
@ -12,36 +12,3 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from .admin import AdminHandler
|
|
||||||
from .directory import DirectoryHandler
|
|
||||||
from .federation import FederationHandler
|
|
||||||
from .identity import IdentityHandler
|
|
||||||
from .search import SearchHandler
|
|
||||||
|
|
||||||
|
|
||||||
class Handlers:
|
|
||||||
|
|
||||||
""" Deprecated. A collection of handlers.
|
|
||||||
|
|
||||||
At some point most of the classes whose name ended "Handler" were
|
|
||||||
accessed through this class.
|
|
||||||
|
|
||||||
However this makes it painful to unit test the handlers and to run cut
|
|
||||||
down versions of synapse that only use specific handlers because using a
|
|
||||||
single handler required creating all of the handlers. So some of the
|
|
||||||
handlers have been lifted out of the Handlers object and are now accessed
|
|
||||||
directly through the homeserver object itself.
|
|
||||||
|
|
||||||
Any new handlers should follow the new pattern of being accessed through
|
|
||||||
the homeserver object and should not be added to the Handlers object.
|
|
||||||
|
|
||||||
The remaining handlers should be moved out of the handlers object.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, hs):
|
|
||||||
self.federation_handler = FederationHandler(hs)
|
|
||||||
self.directory_handler = DirectoryHandler(hs)
|
|
||||||
self.admin_handler = AdminHandler(hs)
|
|
||||||
self.identity_handler = IdentityHandler(hs)
|
|
||||||
self.search_handler = SearchHandler(hs)
|
|
||||||
|
@ -1080,7 +1080,7 @@ class AuthHandler(BaseHandler):
|
|||||||
if medium == "email":
|
if medium == "email":
|
||||||
address = canonicalise_email(address)
|
address = canonicalise_email(address)
|
||||||
|
|
||||||
identity_handler = self.hs.get_handlers().identity_handler
|
identity_handler = self.hs.get_identity_handler()
|
||||||
result = await identity_handler.try_unbind_threepid(
|
result = await identity_handler.try_unbind_threepid(
|
||||||
user_id, {"medium": medium, "address": address, "id_server": id_server}
|
user_id, {"medium": medium, "address": address, "id_server": id_server}
|
||||||
)
|
)
|
||||||
|
@ -37,7 +37,7 @@ class DeactivateAccountHandler(BaseHandler):
|
|||||||
self._auth_handler = hs.get_auth_handler()
|
self._auth_handler = hs.get_auth_handler()
|
||||||
self._device_handler = hs.get_device_handler()
|
self._device_handler = hs.get_device_handler()
|
||||||
self._room_member_handler = hs.get_room_member_handler()
|
self._room_member_handler = hs.get_room_member_handler()
|
||||||
self._identity_handler = hs.get_handlers().identity_handler
|
self._identity_handler = hs.get_identity_handler()
|
||||||
self.user_directory_handler = hs.get_user_directory_handler()
|
self.user_directory_handler = hs.get_user_directory_handler()
|
||||||
|
|
||||||
# Flag that indicates whether the process to part users from rooms is running
|
# Flag that indicates whether the process to part users from rooms is running
|
||||||
|
@ -1014,7 +1014,7 @@ class EventCreationHandler:
|
|||||||
|
|
||||||
# Check the alias is currently valid (if it has changed).
|
# Check the alias is currently valid (if it has changed).
|
||||||
room_alias_str = event.content.get("alias", None)
|
room_alias_str = event.content.get("alias", None)
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
if room_alias_str and room_alias_str != original_alias:
|
if room_alias_str and room_alias_str != original_alias:
|
||||||
await self._validate_canonical_alias(
|
await self._validate_canonical_alias(
|
||||||
directory_handler, room_alias_str, event.room_id
|
directory_handler, room_alias_str, event.room_id
|
||||||
@ -1040,7 +1040,7 @@ class EventCreationHandler:
|
|||||||
directory_handler, alias_str, event.room_id
|
directory_handler, alias_str, event.room_id
|
||||||
)
|
)
|
||||||
|
|
||||||
federation_handler = self.hs.get_handlers().federation_handler
|
federation_handler = self.hs.get_federation_handler()
|
||||||
|
|
||||||
if event.type == EventTypes.Member:
|
if event.type == EventTypes.Member:
|
||||||
if event.content["membership"] == Membership.INVITE:
|
if event.content["membership"] == Membership.INVITE:
|
||||||
|
@ -383,7 +383,7 @@ class PaginationHandler:
|
|||||||
"room_key", leave_token
|
"room_key", leave_token
|
||||||
)
|
)
|
||||||
|
|
||||||
await self.hs.get_handlers().federation_handler.maybe_backfill(
|
await self.hs.get_federation_handler().maybe_backfill(
|
||||||
room_id, curr_topo, limit=pagin_config.limit,
|
room_id, curr_topo, limit=pagin_config.limit,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ class RegistrationHandler(BaseHandler):
|
|||||||
self._auth_handler = hs.get_auth_handler()
|
self._auth_handler = hs.get_auth_handler()
|
||||||
self.profile_handler = hs.get_profile_handler()
|
self.profile_handler = hs.get_profile_handler()
|
||||||
self.user_directory_handler = hs.get_user_directory_handler()
|
self.user_directory_handler = hs.get_user_directory_handler()
|
||||||
self.identity_handler = self.hs.get_handlers().identity_handler
|
self.identity_handler = self.hs.get_identity_handler()
|
||||||
self.ratelimiter = hs.get_registration_ratelimiter()
|
self.ratelimiter = hs.get_registration_ratelimiter()
|
||||||
self.macaroon_gen = hs.get_macaroon_generator()
|
self.macaroon_gen = hs.get_macaroon_generator()
|
||||||
self._server_notices_mxid = hs.config.server_notices_mxid
|
self._server_notices_mxid = hs.config.server_notices_mxid
|
||||||
|
@ -691,7 +691,7 @@ class RoomCreationHandler(BaseHandler):
|
|||||||
if not allowed_by_third_party_rules:
|
if not allowed_by_third_party_rules:
|
||||||
raise SynapseError(403, "Room visibility value not allowed.")
|
raise SynapseError(403, "Room visibility value not allowed.")
|
||||||
|
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
if room_alias:
|
if room_alias:
|
||||||
await directory_handler.create_association(
|
await directory_handler.create_association(
|
||||||
requester=requester,
|
requester=requester,
|
||||||
|
@ -64,9 +64,9 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
|
|||||||
self.state_handler = hs.get_state_handler()
|
self.state_handler = hs.get_state_handler()
|
||||||
self.config = hs.config
|
self.config = hs.config
|
||||||
|
|
||||||
self.federation_handler = hs.get_handlers().federation_handler
|
self.federation_handler = hs.get_federation_handler()
|
||||||
self.directory_handler = hs.get_handlers().directory_handler
|
self.directory_handler = hs.get_directory_handler()
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.registration_handler = hs.get_registration_handler()
|
self.registration_handler = hs.get_registration_handler()
|
||||||
self.profile_handler = hs.get_profile_handler()
|
self.profile_handler = hs.get_profile_handler()
|
||||||
self.event_creation_handler = hs.get_event_creation_handler()
|
self.event_creation_handler = hs.get_event_creation_handler()
|
||||||
|
@ -143,7 +143,7 @@ class _BaseThreepidAuthChecker:
|
|||||||
|
|
||||||
threepid_creds = authdict["threepid_creds"]
|
threepid_creds = authdict["threepid_creds"]
|
||||||
|
|
||||||
identity_handler = self.hs.get_handlers().identity_handler
|
identity_handler = self.hs.get_identity_handler()
|
||||||
|
|
||||||
logger.info("Getting validated threepid. threepidcreds: %r", (threepid_creds,))
|
logger.info("Getting validated threepid. threepidcreds: %r", (threepid_creds,))
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ class ReplicationFederationSendEventsRestServlet(ReplicationEndpoint):
|
|||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.storage = hs.get_storage()
|
self.storage = hs.get_storage()
|
||||||
self.clock = hs.get_clock()
|
self.clock = hs.get_clock()
|
||||||
self.federation_handler = hs.get_handlers().federation_handler
|
self.federation_handler = hs.get_federation_handler()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
async def _serialize_payload(store, room_id, event_and_contexts, backfilled):
|
async def _serialize_payload(store, room_id, event_and_contexts, backfilled):
|
||||||
|
@ -47,7 +47,7 @@ class ReplicationRemoteJoinRestServlet(ReplicationEndpoint):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__(hs)
|
super().__init__(hs)
|
||||||
|
|
||||||
self.federation_handler = hs.get_handlers().federation_handler
|
self.federation_handler = hs.get_federation_handler()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.clock = hs.get_clock()
|
self.clock = hs.get_clock()
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ class ListRoomRestServlet(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.admin_handler = hs.get_handlers().admin_handler
|
self.admin_handler = hs.get_admin_handler()
|
||||||
|
|
||||||
async def on_GET(self, request):
|
async def on_GET(self, request):
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
@ -273,7 +273,7 @@ class JoinRoomAliasServlet(RestServlet):
|
|||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.room_member_handler = hs.get_room_member_handler()
|
self.room_member_handler = hs.get_room_member_handler()
|
||||||
self.admin_handler = hs.get_handlers().admin_handler
|
self.admin_handler = hs.get_admin_handler()
|
||||||
self.state_handler = hs.get_state_handler()
|
self.state_handler = hs.get_state_handler()
|
||||||
|
|
||||||
async def on_POST(self, request, room_identifier):
|
async def on_POST(self, request, room_identifier):
|
||||||
|
@ -45,7 +45,7 @@ class UsersRestServlet(RestServlet):
|
|||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.admin_handler = hs.get_handlers().admin_handler
|
self.admin_handler = hs.get_admin_handler()
|
||||||
|
|
||||||
async def on_GET(self, request, user_id):
|
async def on_GET(self, request, user_id):
|
||||||
target_user = UserID.from_string(user_id)
|
target_user = UserID.from_string(user_id)
|
||||||
@ -82,7 +82,7 @@ class UsersRestServletV2(RestServlet):
|
|||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.admin_handler = hs.get_handlers().admin_handler
|
self.admin_handler = hs.get_admin_handler()
|
||||||
|
|
||||||
async def on_GET(self, request):
|
async def on_GET(self, request):
|
||||||
await assert_requester_is_admin(self.auth, request)
|
await assert_requester_is_admin(self.auth, request)
|
||||||
@ -135,7 +135,7 @@ class UserRestServletV2(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.admin_handler = hs.get_handlers().admin_handler
|
self.admin_handler = hs.get_admin_handler()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.auth_handler = hs.get_auth_handler()
|
self.auth_handler = hs.get_auth_handler()
|
||||||
self.profile_handler = hs.get_profile_handler()
|
self.profile_handler = hs.get_profile_handler()
|
||||||
@ -448,7 +448,7 @@ class WhoisRestServlet(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.handlers = hs.get_handlers()
|
self.admin_handler = hs.get_admin_handler()
|
||||||
|
|
||||||
async def on_GET(self, request, user_id):
|
async def on_GET(self, request, user_id):
|
||||||
target_user = UserID.from_string(user_id)
|
target_user = UserID.from_string(user_id)
|
||||||
@ -461,7 +461,7 @@ class WhoisRestServlet(RestServlet):
|
|||||||
if not self.hs.is_mine(target_user):
|
if not self.hs.is_mine(target_user):
|
||||||
raise SynapseError(400, "Can only whois a local user")
|
raise SynapseError(400, "Can only whois a local user")
|
||||||
|
|
||||||
ret = await self.handlers.admin_handler.get_whois(target_user)
|
ret = await self.admin_handler.get_whois(target_user)
|
||||||
|
|
||||||
return 200, ret
|
return 200, ret
|
||||||
|
|
||||||
@ -591,7 +591,6 @@ class SearchUsersRestServlet(RestServlet):
|
|||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.handlers = hs.get_handlers()
|
|
||||||
|
|
||||||
async def on_GET(self, request, target_user_id):
|
async def on_GET(self, request, target_user_id):
|
||||||
"""Get request to search user table for specific users according to
|
"""Get request to search user table for specific users according to
|
||||||
@ -612,7 +611,7 @@ class SearchUsersRestServlet(RestServlet):
|
|||||||
term = parse_string(request, "term", required=True)
|
term = parse_string(request, "term", required=True)
|
||||||
logger.info("term: %s ", term)
|
logger.info("term: %s ", term)
|
||||||
|
|
||||||
ret = await self.handlers.store.search_users(term)
|
ret = await self.store.search_users(term)
|
||||||
return 200, ret
|
return 200, ret
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,14 +42,13 @@ class ClientDirectoryServer(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.handlers = hs.get_handlers()
|
self.directory_handler = hs.get_directory_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
|
||||||
async def on_GET(self, request, room_alias):
|
async def on_GET(self, request, room_alias):
|
||||||
room_alias = RoomAlias.from_string(room_alias)
|
room_alias = RoomAlias.from_string(room_alias)
|
||||||
|
|
||||||
dir_handler = self.handlers.directory_handler
|
res = await self.directory_handler.get_association(room_alias)
|
||||||
res = await dir_handler.get_association(room_alias)
|
|
||||||
|
|
||||||
return 200, res
|
return 200, res
|
||||||
|
|
||||||
@ -79,19 +78,19 @@ class ClientDirectoryServer(RestServlet):
|
|||||||
|
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
|
|
||||||
await self.handlers.directory_handler.create_association(
|
await self.directory_handler.create_association(
|
||||||
requester, room_alias, room_id, servers
|
requester, room_alias, room_id, servers
|
||||||
)
|
)
|
||||||
|
|
||||||
return 200, {}
|
return 200, {}
|
||||||
|
|
||||||
async def on_DELETE(self, request, room_alias):
|
async def on_DELETE(self, request, room_alias):
|
||||||
dir_handler = self.handlers.directory_handler
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
service = self.auth.get_appservice_by_req(request)
|
service = self.auth.get_appservice_by_req(request)
|
||||||
room_alias = RoomAlias.from_string(room_alias)
|
room_alias = RoomAlias.from_string(room_alias)
|
||||||
await dir_handler.delete_appservice_association(service, room_alias)
|
await self.directory_handler.delete_appservice_association(
|
||||||
|
service, room_alias
|
||||||
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
"Application service at %s deleted alias %s",
|
"Application service at %s deleted alias %s",
|
||||||
service.url,
|
service.url,
|
||||||
@ -107,7 +106,7 @@ class ClientDirectoryServer(RestServlet):
|
|||||||
|
|
||||||
room_alias = RoomAlias.from_string(room_alias)
|
room_alias = RoomAlias.from_string(room_alias)
|
||||||
|
|
||||||
await dir_handler.delete_association(requester, room_alias)
|
await self.directory_handler.delete_association(requester, room_alias)
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
"User %s deleted alias %s", user.to_string(), room_alias.to_string()
|
"User %s deleted alias %s", user.to_string(), room_alias.to_string()
|
||||||
@ -122,7 +121,7 @@ class ClientDirectoryListServer(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.handlers = hs.get_handlers()
|
self.directory_handler = hs.get_directory_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
|
||||||
async def on_GET(self, request, room_id):
|
async def on_GET(self, request, room_id):
|
||||||
@ -138,7 +137,7 @@ class ClientDirectoryListServer(RestServlet):
|
|||||||
content = parse_json_object_from_request(request)
|
content = parse_json_object_from_request(request)
|
||||||
visibility = content.get("visibility", "public")
|
visibility = content.get("visibility", "public")
|
||||||
|
|
||||||
await self.handlers.directory_handler.edit_published_room_list(
|
await self.directory_handler.edit_published_room_list(
|
||||||
requester, room_id, visibility
|
requester, room_id, visibility
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -147,7 +146,7 @@ class ClientDirectoryListServer(RestServlet):
|
|||||||
async def on_DELETE(self, request, room_id):
|
async def on_DELETE(self, request, room_id):
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
|
|
||||||
await self.handlers.directory_handler.edit_published_room_list(
|
await self.directory_handler.edit_published_room_list(
|
||||||
requester, room_id, "private"
|
requester, room_id, "private"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -162,7 +161,7 @@ class ClientAppserviceDirectoryListServer(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.handlers = hs.get_handlers()
|
self.directory_handler = hs.get_directory_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
|
||||||
def on_PUT(self, request, network_id, room_id):
|
def on_PUT(self, request, network_id, room_id):
|
||||||
@ -180,7 +179,7 @@ class ClientAppserviceDirectoryListServer(RestServlet):
|
|||||||
403, "Only appservices can edit the appservice published room list"
|
403, "Only appservices can edit the appservice published room list"
|
||||||
)
|
)
|
||||||
|
|
||||||
await self.handlers.directory_handler.edit_published_appservice_room_list(
|
await self.directory_handler.edit_published_appservice_room_list(
|
||||||
requester.app_service.id, network_id, room_id, visibility
|
requester.app_service.id, network_id, room_id, visibility
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -67,7 +67,6 @@ class LoginRestServlet(RestServlet):
|
|||||||
|
|
||||||
self.auth_handler = self.hs.get_auth_handler()
|
self.auth_handler = self.hs.get_auth_handler()
|
||||||
self.registration_handler = hs.get_registration_handler()
|
self.registration_handler = hs.get_registration_handler()
|
||||||
self.handlers = hs.get_handlers()
|
|
||||||
self._well_known_builder = WellKnownBuilder(hs)
|
self._well_known_builder = WellKnownBuilder(hs)
|
||||||
self._address_ratelimiter = Ratelimiter(
|
self._address_ratelimiter = Ratelimiter(
|
||||||
clock=hs.get_clock(),
|
clock=hs.get_clock(),
|
||||||
|
@ -112,7 +112,6 @@ class RoomCreateRestServlet(TransactionRestServlet):
|
|||||||
class RoomStateEventRestServlet(TransactionRestServlet):
|
class RoomStateEventRestServlet(TransactionRestServlet):
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__(hs)
|
super().__init__(hs)
|
||||||
self.handlers = hs.get_handlers()
|
|
||||||
self.event_creation_handler = hs.get_event_creation_handler()
|
self.event_creation_handler = hs.get_event_creation_handler()
|
||||||
self.room_member_handler = hs.get_room_member_handler()
|
self.room_member_handler = hs.get_room_member_handler()
|
||||||
self.message_handler = hs.get_message_handler()
|
self.message_handler = hs.get_message_handler()
|
||||||
@ -798,7 +797,6 @@ class RoomMembershipRestServlet(TransactionRestServlet):
|
|||||||
class RoomRedactEventRestServlet(TransactionRestServlet):
|
class RoomRedactEventRestServlet(TransactionRestServlet):
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__(hs)
|
super().__init__(hs)
|
||||||
self.handlers = hs.get_handlers()
|
|
||||||
self.event_creation_handler = hs.get_event_creation_handler()
|
self.event_creation_handler = hs.get_event_creation_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
|
||||||
@ -903,7 +901,7 @@ class RoomAliasListServlet(RestServlet):
|
|||||||
def __init__(self, hs: "synapse.server.HomeServer"):
|
def __init__(self, hs: "synapse.server.HomeServer"):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.directory_handler = hs.get_handlers().directory_handler
|
self.directory_handler = hs.get_directory_handler()
|
||||||
|
|
||||||
async def on_GET(self, request, room_id):
|
async def on_GET(self, request, room_id):
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
@ -920,7 +918,7 @@ class SearchRestServlet(RestServlet):
|
|||||||
|
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.handlers = hs.get_handlers()
|
self.search_handler = hs.get_search_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
@ -929,9 +927,7 @@ class SearchRestServlet(RestServlet):
|
|||||||
content = parse_json_object_from_request(request)
|
content = parse_json_object_from_request(request)
|
||||||
|
|
||||||
batch = parse_string(request, "next_batch")
|
batch = parse_string(request, "next_batch")
|
||||||
results = await self.handlers.search_handler.search(
|
results = await self.search_handler.search(requester.user, content, batch)
|
||||||
requester.user, content, batch
|
|
||||||
)
|
|
||||||
|
|
||||||
return 200, results
|
return 200, results
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ class EmailPasswordRequestTokenRestServlet(RestServlet):
|
|||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.datastore = hs.get_datastore()
|
self.datastore = hs.get_datastore()
|
||||||
self.config = hs.config
|
self.config = hs.config
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
|
|
||||||
if self.config.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
|
if self.config.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
|
||||||
self.mailer = Mailer(
|
self.mailer = Mailer(
|
||||||
@ -327,7 +327,7 @@ class EmailThreepidRequestTokenRestServlet(RestServlet):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.config = hs.config
|
self.config = hs.config
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.store = self.hs.get_datastore()
|
self.store = self.hs.get_datastore()
|
||||||
|
|
||||||
if self.config.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
|
if self.config.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
|
||||||
@ -424,7 +424,7 @@ class MsisdnThreepidRequestTokenRestServlet(RestServlet):
|
|||||||
self.hs = hs
|
self.hs = hs
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.store = self.hs.get_datastore()
|
self.store = self.hs.get_datastore()
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
body = parse_json_object_from_request(request)
|
body = parse_json_object_from_request(request)
|
||||||
@ -574,7 +574,7 @@ class AddThreepidMsisdnSubmitTokenServlet(RestServlet):
|
|||||||
self.config = hs.config
|
self.config = hs.config
|
||||||
self.clock = hs.get_clock()
|
self.clock = hs.get_clock()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
if not self.config.account_threepid_delegate_msisdn:
|
if not self.config.account_threepid_delegate_msisdn:
|
||||||
@ -604,7 +604,7 @@ class ThreepidRestServlet(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.auth_handler = hs.get_auth_handler()
|
self.auth_handler = hs.get_auth_handler()
|
||||||
self.datastore = self.hs.get_datastore()
|
self.datastore = self.hs.get_datastore()
|
||||||
@ -660,7 +660,7 @@ class ThreepidAddRestServlet(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.auth_handler = hs.get_auth_handler()
|
self.auth_handler = hs.get_auth_handler()
|
||||||
|
|
||||||
@ -711,7 +711,7 @@ class ThreepidBindRestServlet(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
@ -740,7 +740,7 @@ class ThreepidUnbindRestServlet(RestServlet):
|
|||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
self.datastore = self.hs.get_datastore()
|
self.datastore = self.hs.get_datastore()
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ class EmailRegisterRequestTokenRestServlet(RestServlet):
|
|||||||
"""
|
"""
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.config = hs.config
|
self.config = hs.config
|
||||||
|
|
||||||
if self.hs.config.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
|
if self.hs.config.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
|
||||||
@ -176,7 +176,7 @@ class MsisdnRegisterRequestTokenRestServlet(RestServlet):
|
|||||||
"""
|
"""
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
|
|
||||||
async def on_POST(self, request):
|
async def on_POST(self, request):
|
||||||
body = parse_json_object_from_request(request)
|
body = parse_json_object_from_request(request)
|
||||||
@ -370,7 +370,7 @@ class RegisterRestServlet(RestServlet):
|
|||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.auth_handler = hs.get_auth_handler()
|
self.auth_handler = hs.get_auth_handler()
|
||||||
self.registration_handler = hs.get_registration_handler()
|
self.registration_handler = hs.get_registration_handler()
|
||||||
self.identity_handler = hs.get_handlers().identity_handler
|
self.identity_handler = hs.get_identity_handler()
|
||||||
self.room_member_handler = hs.get_room_member_handler()
|
self.room_member_handler = hs.get_room_member_handler()
|
||||||
self.macaroon_gen = hs.get_macaroon_generator()
|
self.macaroon_gen = hs.get_macaroon_generator()
|
||||||
self.ratelimiter = hs.get_registration_ratelimiter()
|
self.ratelimiter = hs.get_registration_ratelimiter()
|
||||||
|
@ -54,19 +54,22 @@ from synapse.federation.sender import FederationSender
|
|||||||
from synapse.federation.transport.client import TransportLayerClient
|
from synapse.federation.transport.client import TransportLayerClient
|
||||||
from synapse.groups.attestations import GroupAttestationSigning, GroupAttestionRenewer
|
from synapse.groups.attestations import GroupAttestationSigning, GroupAttestionRenewer
|
||||||
from synapse.groups.groups_server import GroupsServerHandler, GroupsServerWorkerHandler
|
from synapse.groups.groups_server import GroupsServerHandler, GroupsServerWorkerHandler
|
||||||
from synapse.handlers import Handlers
|
|
||||||
from synapse.handlers.account_validity import AccountValidityHandler
|
from synapse.handlers.account_validity import AccountValidityHandler
|
||||||
from synapse.handlers.acme import AcmeHandler
|
from synapse.handlers.acme import AcmeHandler
|
||||||
|
from synapse.handlers.admin import AdminHandler
|
||||||
from synapse.handlers.appservice import ApplicationServicesHandler
|
from synapse.handlers.appservice import ApplicationServicesHandler
|
||||||
from synapse.handlers.auth import AuthHandler, MacaroonGenerator
|
from synapse.handlers.auth import AuthHandler, MacaroonGenerator
|
||||||
from synapse.handlers.cas_handler import CasHandler
|
from synapse.handlers.cas_handler import CasHandler
|
||||||
from synapse.handlers.deactivate_account import DeactivateAccountHandler
|
from synapse.handlers.deactivate_account import DeactivateAccountHandler
|
||||||
from synapse.handlers.device import DeviceHandler, DeviceWorkerHandler
|
from synapse.handlers.device import DeviceHandler, DeviceWorkerHandler
|
||||||
from synapse.handlers.devicemessage import DeviceMessageHandler
|
from synapse.handlers.devicemessage import DeviceMessageHandler
|
||||||
|
from synapse.handlers.directory import DirectoryHandler
|
||||||
from synapse.handlers.e2e_keys import E2eKeysHandler
|
from synapse.handlers.e2e_keys import E2eKeysHandler
|
||||||
from synapse.handlers.e2e_room_keys import E2eRoomKeysHandler
|
from synapse.handlers.e2e_room_keys import E2eRoomKeysHandler
|
||||||
from synapse.handlers.events import EventHandler, EventStreamHandler
|
from synapse.handlers.events import EventHandler, EventStreamHandler
|
||||||
|
from synapse.handlers.federation import FederationHandler
|
||||||
from synapse.handlers.groups_local import GroupsLocalHandler, GroupsLocalWorkerHandler
|
from synapse.handlers.groups_local import GroupsLocalHandler, GroupsLocalWorkerHandler
|
||||||
|
from synapse.handlers.identity import IdentityHandler
|
||||||
from synapse.handlers.initial_sync import InitialSyncHandler
|
from synapse.handlers.initial_sync import InitialSyncHandler
|
||||||
from synapse.handlers.message import EventCreationHandler, MessageHandler
|
from synapse.handlers.message import EventCreationHandler, MessageHandler
|
||||||
from synapse.handlers.pagination import PaginationHandler
|
from synapse.handlers.pagination import PaginationHandler
|
||||||
@ -84,6 +87,7 @@ from synapse.handlers.room import (
|
|||||||
from synapse.handlers.room_list import RoomListHandler
|
from synapse.handlers.room_list import RoomListHandler
|
||||||
from synapse.handlers.room_member import RoomMemberMasterHandler
|
from synapse.handlers.room_member import RoomMemberMasterHandler
|
||||||
from synapse.handlers.room_member_worker import RoomMemberWorkerHandler
|
from synapse.handlers.room_member_worker import RoomMemberWorkerHandler
|
||||||
|
from synapse.handlers.search import SearchHandler
|
||||||
from synapse.handlers.set_password import SetPasswordHandler
|
from synapse.handlers.set_password import SetPasswordHandler
|
||||||
from synapse.handlers.stats import StatsHandler
|
from synapse.handlers.stats import StatsHandler
|
||||||
from synapse.handlers.sync import SyncHandler
|
from synapse.handlers.sync import SyncHandler
|
||||||
@ -318,10 +322,6 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||||||
def get_federation_server(self) -> FederationServer:
|
def get_federation_server(self) -> FederationServer:
|
||||||
return FederationServer(self)
|
return FederationServer(self)
|
||||||
|
|
||||||
@cache_in_self
|
|
||||||
def get_handlers(self) -> Handlers:
|
|
||||||
return Handlers(self)
|
|
||||||
|
|
||||||
@cache_in_self
|
@cache_in_self
|
||||||
def get_notifier(self) -> Notifier:
|
def get_notifier(self) -> Notifier:
|
||||||
return Notifier(self)
|
return Notifier(self)
|
||||||
@ -408,6 +408,10 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||||||
def get_device_message_handler(self) -> DeviceMessageHandler:
|
def get_device_message_handler(self) -> DeviceMessageHandler:
|
||||||
return DeviceMessageHandler(self)
|
return DeviceMessageHandler(self)
|
||||||
|
|
||||||
|
@cache_in_self
|
||||||
|
def get_directory_handler(self) -> DirectoryHandler:
|
||||||
|
return DirectoryHandler(self)
|
||||||
|
|
||||||
@cache_in_self
|
@cache_in_self
|
||||||
def get_e2e_keys_handler(self) -> E2eKeysHandler:
|
def get_e2e_keys_handler(self) -> E2eKeysHandler:
|
||||||
return E2eKeysHandler(self)
|
return E2eKeysHandler(self)
|
||||||
@ -420,6 +424,10 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||||||
def get_acme_handler(self) -> AcmeHandler:
|
def get_acme_handler(self) -> AcmeHandler:
|
||||||
return AcmeHandler(self)
|
return AcmeHandler(self)
|
||||||
|
|
||||||
|
@cache_in_self
|
||||||
|
def get_admin_handler(self) -> AdminHandler:
|
||||||
|
return AdminHandler(self)
|
||||||
|
|
||||||
@cache_in_self
|
@cache_in_self
|
||||||
def get_application_service_api(self) -> ApplicationServiceApi:
|
def get_application_service_api(self) -> ApplicationServiceApi:
|
||||||
return ApplicationServiceApi(self)
|
return ApplicationServiceApi(self)
|
||||||
@ -440,6 +448,14 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||||||
def get_event_stream_handler(self) -> EventStreamHandler:
|
def get_event_stream_handler(self) -> EventStreamHandler:
|
||||||
return EventStreamHandler(self)
|
return EventStreamHandler(self)
|
||||||
|
|
||||||
|
@cache_in_self
|
||||||
|
def get_federation_handler(self) -> FederationHandler:
|
||||||
|
return FederationHandler(self)
|
||||||
|
|
||||||
|
@cache_in_self
|
||||||
|
def get_identity_handler(self) -> IdentityHandler:
|
||||||
|
return IdentityHandler(self)
|
||||||
|
|
||||||
@cache_in_self
|
@cache_in_self
|
||||||
def get_initial_sync_handler(self) -> InitialSyncHandler:
|
def get_initial_sync_handler(self) -> InitialSyncHandler:
|
||||||
return InitialSyncHandler(self)
|
return InitialSyncHandler(self)
|
||||||
@ -459,6 +475,10 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||||||
def get_deactivate_account_handler(self) -> DeactivateAccountHandler:
|
def get_deactivate_account_handler(self) -> DeactivateAccountHandler:
|
||||||
return DeactivateAccountHandler(self)
|
return DeactivateAccountHandler(self)
|
||||||
|
|
||||||
|
@cache_in_self
|
||||||
|
def get_search_handler(self) -> SearchHandler:
|
||||||
|
return SearchHandler(self)
|
||||||
|
|
||||||
@cache_in_self
|
@cache_in_self
|
||||||
def get_set_password_handler(self) -> SetPasswordHandler:
|
def get_set_password_handler(self) -> SetPasswordHandler:
|
||||||
return SetPasswordHandler(self)
|
return SetPasswordHandler(self)
|
||||||
|
@ -19,7 +19,6 @@ import pymacaroons
|
|||||||
|
|
||||||
from twisted.internet import defer
|
from twisted.internet import defer
|
||||||
|
|
||||||
import synapse.handlers.auth
|
|
||||||
from synapse.api.auth import Auth
|
from synapse.api.auth import Auth
|
||||||
from synapse.api.constants import UserTypes
|
from synapse.api.constants import UserTypes
|
||||||
from synapse.api.errors import (
|
from synapse.api.errors import (
|
||||||
@ -36,20 +35,15 @@ from tests import unittest
|
|||||||
from tests.utils import mock_getRawHeaders, setup_test_homeserver
|
from tests.utils import mock_getRawHeaders, setup_test_homeserver
|
||||||
|
|
||||||
|
|
||||||
class TestHandlers:
|
|
||||||
def __init__(self, hs):
|
|
||||||
self.auth_handler = synapse.handlers.auth.AuthHandler(hs)
|
|
||||||
|
|
||||||
|
|
||||||
class AuthTestCase(unittest.TestCase):
|
class AuthTestCase(unittest.TestCase):
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.state_handler = Mock()
|
self.state_handler = Mock()
|
||||||
self.store = Mock()
|
self.store = Mock()
|
||||||
|
|
||||||
self.hs = yield setup_test_homeserver(self.addCleanup, handlers=None)
|
self.hs = yield setup_test_homeserver(self.addCleanup)
|
||||||
self.hs.get_datastore = Mock(return_value=self.store)
|
self.hs.get_datastore = Mock(return_value=self.store)
|
||||||
self.hs.handlers = TestHandlers(self.hs)
|
self.hs.get_auth_handler().store = self.store
|
||||||
self.auth = Auth(self.hs)
|
self.auth = Auth(self.hs)
|
||||||
|
|
||||||
# AuthBlocking reads from the hs' config on initialization. We need to
|
# AuthBlocking reads from the hs' config on initialization. We need to
|
||||||
@ -283,7 +277,7 @@ class AuthTestCase(unittest.TestCase):
|
|||||||
self.store.get_device = Mock(return_value=defer.succeed(None))
|
self.store.get_device = Mock(return_value=defer.succeed(None))
|
||||||
|
|
||||||
token = yield defer.ensureDeferred(
|
token = yield defer.ensureDeferred(
|
||||||
self.hs.handlers.auth_handler.get_access_token_for_user_id(
|
self.hs.get_auth_handler().get_access_token_for_user_id(
|
||||||
USER_ID, "DEVICE", valid_until_ms=None
|
USER_ID, "DEVICE", valid_until_ms=None
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -50,10 +50,7 @@ class FilteringTestCase(unittest.TestCase):
|
|||||||
self.mock_http_client.put_json = DeferredMockCallable()
|
self.mock_http_client.put_json = DeferredMockCallable()
|
||||||
|
|
||||||
hs = yield setup_test_homeserver(
|
hs = yield setup_test_homeserver(
|
||||||
self.addCleanup,
|
self.addCleanup, http_client=self.mock_http_client, keyring=Mock(),
|
||||||
handlers=None,
|
|
||||||
http_client=self.mock_http_client,
|
|
||||||
keyring=Mock(),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.filtering = hs.get_filtering()
|
self.filtering = hs.get_filtering()
|
||||||
|
@ -315,7 +315,7 @@ class KeyringTestCase(unittest.HomeserverTestCase):
|
|||||||
class ServerKeyFetcherTestCase(unittest.HomeserverTestCase):
|
class ServerKeyFetcherTestCase(unittest.HomeserverTestCase):
|
||||||
def make_homeserver(self, reactor, clock):
|
def make_homeserver(self, reactor, clock):
|
||||||
self.http_client = Mock()
|
self.http_client = Mock()
|
||||||
hs = self.setup_test_homeserver(handlers=None, http_client=self.http_client)
|
hs = self.setup_test_homeserver(http_client=self.http_client)
|
||||||
return hs
|
return hs
|
||||||
|
|
||||||
def test_get_keys_from_server(self):
|
def test_get_keys_from_server(self):
|
||||||
@ -395,9 +395,7 @@ class PerspectivesKeyFetcherTestCase(unittest.HomeserverTestCase):
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
return self.setup_test_homeserver(
|
return self.setup_test_homeserver(http_client=self.http_client, config=config)
|
||||||
handlers=None, http_client=self.http_client, config=config
|
|
||||||
)
|
|
||||||
|
|
||||||
def build_perspectives_response(
|
def build_perspectives_response(
|
||||||
self, server_name: str, signing_key: SigningKey, valid_until_ts: int,
|
self, server_name: str, signing_key: SigningKey, valid_until_ts: int,
|
||||||
|
@ -35,7 +35,7 @@ class ExfiltrateData(unittest.HomeserverTestCase):
|
|||||||
]
|
]
|
||||||
|
|
||||||
def prepare(self, reactor, clock, hs):
|
def prepare(self, reactor, clock, hs):
|
||||||
self.admin_handler = hs.get_handlers().admin_handler
|
self.admin_handler = hs.get_admin_handler()
|
||||||
|
|
||||||
self.user1 = self.register_user("user1", "password")
|
self.user1 = self.register_user("user1", "password")
|
||||||
self.token1 = self.login("user1", "password")
|
self.token1 = self.login("user1", "password")
|
||||||
|
@ -21,24 +21,17 @@ from twisted.internet import defer
|
|||||||
import synapse
|
import synapse
|
||||||
import synapse.api.errors
|
import synapse.api.errors
|
||||||
from synapse.api.errors import ResourceLimitError
|
from synapse.api.errors import ResourceLimitError
|
||||||
from synapse.handlers.auth import AuthHandler
|
|
||||||
|
|
||||||
from tests import unittest
|
from tests import unittest
|
||||||
from tests.test_utils import make_awaitable
|
from tests.test_utils import make_awaitable
|
||||||
from tests.utils import setup_test_homeserver
|
from tests.utils import setup_test_homeserver
|
||||||
|
|
||||||
|
|
||||||
class AuthHandlers:
|
|
||||||
def __init__(self, hs):
|
|
||||||
self.auth_handler = AuthHandler(hs)
|
|
||||||
|
|
||||||
|
|
||||||
class AuthTestCase(unittest.TestCase):
|
class AuthTestCase(unittest.TestCase):
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.hs = yield setup_test_homeserver(self.addCleanup, handlers=None)
|
self.hs = yield setup_test_homeserver(self.addCleanup)
|
||||||
self.hs.handlers = AuthHandlers(self.hs)
|
self.auth_handler = self.hs.get_auth_handler()
|
||||||
self.auth_handler = self.hs.handlers.auth_handler
|
|
||||||
self.macaroon_generator = self.hs.get_macaroon_generator()
|
self.macaroon_generator = self.hs.get_macaroon_generator()
|
||||||
|
|
||||||
# MAU tests
|
# MAU tests
|
||||||
|
@ -48,7 +48,7 @@ class DirectoryTestCase(unittest.HomeserverTestCase):
|
|||||||
federation_registry=self.mock_registry,
|
federation_registry=self.mock_registry,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.handler = hs.get_handlers().directory_handler
|
self.handler = hs.get_directory_handler()
|
||||||
|
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ class TestCreateAlias(unittest.HomeserverTestCase):
|
|||||||
]
|
]
|
||||||
|
|
||||||
def prepare(self, reactor, clock, hs):
|
def prepare(self, reactor, clock, hs):
|
||||||
self.handler = hs.get_handlers().directory_handler
|
self.handler = hs.get_directory_handler()
|
||||||
|
|
||||||
# Create user
|
# Create user
|
||||||
self.admin_user = self.register_user("admin", "pass", admin=True)
|
self.admin_user = self.register_user("admin", "pass", admin=True)
|
||||||
@ -173,7 +173,7 @@ class TestDeleteAlias(unittest.HomeserverTestCase):
|
|||||||
|
|
||||||
def prepare(self, reactor, clock, hs):
|
def prepare(self, reactor, clock, hs):
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.handler = hs.get_handlers().directory_handler
|
self.handler = hs.get_directory_handler()
|
||||||
self.state_handler = hs.get_state_handler()
|
self.state_handler = hs.get_state_handler()
|
||||||
|
|
||||||
# Create user
|
# Create user
|
||||||
@ -289,7 +289,7 @@ class CanonicalAliasTestCase(unittest.HomeserverTestCase):
|
|||||||
|
|
||||||
def prepare(self, reactor, clock, hs):
|
def prepare(self, reactor, clock, hs):
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
self.handler = hs.get_handlers().directory_handler
|
self.handler = hs.get_directory_handler()
|
||||||
self.state_handler = hs.get_state_handler()
|
self.state_handler = hs.get_state_handler()
|
||||||
|
|
||||||
# Create user
|
# Create user
|
||||||
@ -442,7 +442,7 @@ class TestRoomListSearchDisabled(unittest.HomeserverTestCase):
|
|||||||
self.assertEquals(200, channel.code, channel.result)
|
self.assertEquals(200, channel.code, channel.result)
|
||||||
|
|
||||||
self.room_list_handler = hs.get_room_list_handler()
|
self.room_list_handler = hs.get_room_list_handler()
|
||||||
self.directory_handler = hs.get_handlers().directory_handler
|
self.directory_handler = hs.get_directory_handler()
|
||||||
|
|
||||||
return hs
|
return hs
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ class E2eKeysHandlerTestCase(unittest.TestCase):
|
|||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.hs = yield utils.setup_test_homeserver(
|
self.hs = yield utils.setup_test_homeserver(
|
||||||
self.addCleanup, handlers=None, federation_client=mock.Mock()
|
self.addCleanup, federation_client=mock.Mock()
|
||||||
)
|
)
|
||||||
self.handler = synapse.handlers.e2e_keys.E2eKeysHandler(self.hs)
|
self.handler = synapse.handlers.e2e_keys.E2eKeysHandler(self.hs)
|
||||||
self.store = self.hs.get_datastore()
|
self.store = self.hs.get_datastore()
|
||||||
|
@ -54,7 +54,7 @@ class E2eRoomKeysHandlerTestCase(unittest.TestCase):
|
|||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.hs = yield utils.setup_test_homeserver(
|
self.hs = yield utils.setup_test_homeserver(
|
||||||
self.addCleanup, handlers=None, replication_layer=mock.Mock()
|
self.addCleanup, replication_layer=mock.Mock()
|
||||||
)
|
)
|
||||||
self.handler = synapse.handlers.e2e_room_keys.E2eRoomKeysHandler(self.hs)
|
self.handler = synapse.handlers.e2e_room_keys.E2eRoomKeysHandler(self.hs)
|
||||||
self.local_user = "@boris:" + self.hs.hostname
|
self.local_user = "@boris:" + self.hs.hostname
|
||||||
|
@ -38,7 +38,7 @@ class FederationTestCase(unittest.HomeserverTestCase):
|
|||||||
|
|
||||||
def make_homeserver(self, reactor, clock):
|
def make_homeserver(self, reactor, clock):
|
||||||
hs = self.setup_test_homeserver(http_client=None)
|
hs = self.setup_test_homeserver(http_client=None)
|
||||||
self.handler = hs.get_handlers().federation_handler
|
self.handler = hs.get_federation_handler()
|
||||||
self.store = hs.get_datastore()
|
self.store = hs.get_datastore()
|
||||||
return hs
|
return hs
|
||||||
|
|
||||||
|
@ -470,7 +470,7 @@ class PresenceJoinTestCase(unittest.HomeserverTestCase):
|
|||||||
def prepare(self, reactor, clock, hs):
|
def prepare(self, reactor, clock, hs):
|
||||||
self.federation_sender = hs.get_federation_sender()
|
self.federation_sender = hs.get_federation_sender()
|
||||||
self.event_builder_factory = hs.get_event_builder_factory()
|
self.event_builder_factory = hs.get_event_builder_factory()
|
||||||
self.federation_handler = hs.get_handlers().federation_handler
|
self.federation_handler = hs.get_federation_handler()
|
||||||
self.presence_handler = hs.get_presence_handler()
|
self.presence_handler = hs.get_presence_handler()
|
||||||
|
|
||||||
# self.event_builder_for_2 = EventBuilderFactory(hs)
|
# self.event_builder_for_2 = EventBuilderFactory(hs)
|
||||||
|
@ -20,7 +20,6 @@ from twisted.internet import defer
|
|||||||
|
|
||||||
import synapse.types
|
import synapse.types
|
||||||
from synapse.api.errors import AuthError, SynapseError
|
from synapse.api.errors import AuthError, SynapseError
|
||||||
from synapse.handlers.profile import MasterProfileHandler
|
|
||||||
from synapse.types import UserID
|
from synapse.types import UserID
|
||||||
|
|
||||||
from tests import unittest
|
from tests import unittest
|
||||||
@ -28,11 +27,6 @@ from tests.test_utils import make_awaitable
|
|||||||
from tests.utils import setup_test_homeserver
|
from tests.utils import setup_test_homeserver
|
||||||
|
|
||||||
|
|
||||||
class ProfileHandlers:
|
|
||||||
def __init__(self, hs):
|
|
||||||
self.profile_handler = MasterProfileHandler(hs)
|
|
||||||
|
|
||||||
|
|
||||||
class ProfileTestCase(unittest.TestCase):
|
class ProfileTestCase(unittest.TestCase):
|
||||||
""" Tests profile management. """
|
""" Tests profile management. """
|
||||||
|
|
||||||
@ -51,7 +45,6 @@ class ProfileTestCase(unittest.TestCase):
|
|||||||
hs = yield setup_test_homeserver(
|
hs = yield setup_test_homeserver(
|
||||||
self.addCleanup,
|
self.addCleanup,
|
||||||
http_client=None,
|
http_client=None,
|
||||||
handlers=None,
|
|
||||||
resource_for_federation=Mock(),
|
resource_for_federation=Mock(),
|
||||||
federation_client=self.mock_federation,
|
federation_client=self.mock_federation,
|
||||||
federation_server=Mock(),
|
federation_server=Mock(),
|
||||||
|
@ -18,7 +18,6 @@ from mock import Mock
|
|||||||
from synapse.api.auth import Auth
|
from synapse.api.auth import Auth
|
||||||
from synapse.api.constants import UserTypes
|
from synapse.api.constants import UserTypes
|
||||||
from synapse.api.errors import Codes, ResourceLimitError, SynapseError
|
from synapse.api.errors import Codes, ResourceLimitError, SynapseError
|
||||||
from synapse.handlers.register import RegistrationHandler
|
|
||||||
from synapse.spam_checker_api import RegistrationBehaviour
|
from synapse.spam_checker_api import RegistrationBehaviour
|
||||||
from synapse.types import RoomAlias, UserID, create_requester
|
from synapse.types import RoomAlias, UserID, create_requester
|
||||||
|
|
||||||
@ -29,11 +28,6 @@ from tests.utils import mock_getRawHeaders
|
|||||||
from .. import unittest
|
from .. import unittest
|
||||||
|
|
||||||
|
|
||||||
class RegistrationHandlers:
|
|
||||||
def __init__(self, hs):
|
|
||||||
self.registration_handler = RegistrationHandler(hs)
|
|
||||||
|
|
||||||
|
|
||||||
class RegistrationTestCase(unittest.HomeserverTestCase):
|
class RegistrationTestCase(unittest.HomeserverTestCase):
|
||||||
""" Tests the RegistrationHandler. """
|
""" Tests the RegistrationHandler. """
|
||||||
|
|
||||||
@ -154,7 +148,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
room_alias_str = "#room:test"
|
room_alias_str = "#room:test"
|
||||||
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
||||||
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
|
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
@ -193,7 +187,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
user_id = self.get_success(self.handler.register_user(localpart="support"))
|
user_id = self.get_success(self.handler.register_user(localpart="support"))
|
||||||
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
|
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
|
||||||
self.assertEqual(len(rooms), 0)
|
self.assertEqual(len(rooms), 0)
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
self.get_failure(directory_handler.get_association(room_alias), SynapseError)
|
self.get_failure(directory_handler.get_association(room_alias), SynapseError)
|
||||||
|
|
||||||
@ -205,7 +199,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
self.store.is_real_user = Mock(return_value=make_awaitable(True))
|
self.store.is_real_user = Mock(return_value=make_awaitable(True))
|
||||||
user_id = self.get_success(self.handler.register_user(localpart="real"))
|
user_id = self.get_success(self.handler.register_user(localpart="real"))
|
||||||
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
|
rooms = self.get_success(self.store.get_rooms_for_user(user_id))
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
@ -237,7 +231,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
||||||
|
|
||||||
# Ensure the room was created.
|
# Ensure the room was created.
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
@ -266,7 +260,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
||||||
|
|
||||||
# Ensure the room was created.
|
# Ensure the room was created.
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
@ -304,7 +298,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
||||||
|
|
||||||
# Ensure the room was created.
|
# Ensure the room was created.
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
@ -347,7 +341,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Ensure the room was created.
|
# Ensure the room was created.
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
@ -384,7 +378,7 @@ class RegistrationTestCase(unittest.HomeserverTestCase):
|
|||||||
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
user_id = self.get_success(self.handler.register_user(localpart="jeff"))
|
||||||
|
|
||||||
# Ensure the room was created.
|
# Ensure the room was created.
|
||||||
directory_handler = self.hs.get_handlers().directory_handler
|
directory_handler = self.hs.get_directory_handler()
|
||||||
room_alias = RoomAlias.from_string(room_alias_str)
|
room_alias = RoomAlias.from_string(room_alias_str)
|
||||||
room_id = self.get_success(directory_handler.get_association(room_alias))
|
room_id = self.get_success(directory_handler.get_association(room_alias))
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@ class FederationSenderTestCase(BaseMultiWorkerStreamTestCase):
|
|||||||
def create_room_with_remote_server(self, user, token, remote_server="other_server"):
|
def create_room_with_remote_server(self, user, token, remote_server="other_server"):
|
||||||
room = self.helper.create_room_as(user, tok=token)
|
room = self.helper.create_room_as(user, tok=token)
|
||||||
store = self.hs.get_datastore()
|
store = self.hs.get_datastore()
|
||||||
federation = self.hs.get_handlers().federation_handler
|
federation = self.hs.get_federation_handler()
|
||||||
|
|
||||||
prev_event_ids = self.get_success(store.get_latest_event_ids_in_room(room))
|
prev_event_ids = self.get_success(store.get_latest_event_ids_in_room(room))
|
||||||
room_version = self.get_success(store.get_room_version(room))
|
room_version = self.get_success(store.get_room_version(room))
|
||||||
|
@ -78,7 +78,7 @@ class RoomTestCase(_ShadowBannedBase):
|
|||||||
|
|
||||||
def test_invite_3pid(self):
|
def test_invite_3pid(self):
|
||||||
"""Ensure that a 3PID invite does not attempt to contact the identity server."""
|
"""Ensure that a 3PID invite does not attempt to contact the identity server."""
|
||||||
identity_handler = self.hs.get_handlers().identity_handler
|
identity_handler = self.hs.get_identity_handler()
|
||||||
identity_handler.lookup_3pid = Mock(
|
identity_handler.lookup_3pid = Mock(
|
||||||
side_effect=AssertionError("This should not get called")
|
side_effect=AssertionError("This should not get called")
|
||||||
)
|
)
|
||||||
|
@ -42,7 +42,7 @@ class EventStreamPermissionsTestCase(unittest.HomeserverTestCase):
|
|||||||
|
|
||||||
hs = self.setup_test_homeserver(config=config)
|
hs = self.setup_test_homeserver(config=config)
|
||||||
|
|
||||||
hs.get_handlers().federation_handler = Mock()
|
hs.get_federation_handler = Mock()
|
||||||
|
|
||||||
return hs
|
return hs
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ from synapse.types import JsonDict, RoomAlias, UserID
|
|||||||
from synapse.util.stringutils import random_string
|
from synapse.util.stringutils import random_string
|
||||||
|
|
||||||
from tests import unittest
|
from tests import unittest
|
||||||
|
from tests.test_utils import make_awaitable
|
||||||
|
|
||||||
PATH_PREFIX = b"/_matrix/client/api/v1"
|
PATH_PREFIX = b"/_matrix/client/api/v1"
|
||||||
|
|
||||||
@ -47,7 +48,10 @@ class RoomBase(unittest.HomeserverTestCase):
|
|||||||
"red", http_client=None, federation_client=Mock(),
|
"red", http_client=None, federation_client=Mock(),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.hs.get_federation_handler = Mock(return_value=Mock())
|
self.hs.get_federation_handler = Mock()
|
||||||
|
self.hs.get_federation_handler.return_value.maybe_backfill = Mock(
|
||||||
|
return_value=make_awaitable(None)
|
||||||
|
)
|
||||||
|
|
||||||
async def _insert_client_ip(*args, **kwargs):
|
async def _insert_client_ip(*args, **kwargs):
|
||||||
return None
|
return None
|
||||||
|
@ -44,7 +44,7 @@ class RoomTypingTestCase(unittest.HomeserverTestCase):
|
|||||||
|
|
||||||
self.event_source = hs.get_event_sources().sources["typing"]
|
self.event_source = hs.get_event_sources().sources["typing"]
|
||||||
|
|
||||||
hs.get_handlers().federation_handler = Mock()
|
hs.get_federation_handler = Mock()
|
||||||
|
|
||||||
async def get_user_by_access_token(token=None, allow_guest=False):
|
async def get_user_by_access_token(token=None, allow_guest=False):
|
||||||
return {
|
return {
|
||||||
|
@ -75,7 +75,7 @@ class MessageAcceptTests(unittest.HomeserverTestCase):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
self.handler = self.homeserver.get_handlers().federation_handler
|
self.handler = self.homeserver.get_federation_handler()
|
||||||
self.handler.do_auth = lambda origin, event, context, auth_events: succeed(
|
self.handler.do_auth = lambda origin, event, context, auth_events: succeed(
|
||||||
context
|
context
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user