Bump black from 22.12.0 to 23.1.0 (#15103)
parent
4ed08ff72e
commit
9bb2eac719
|
@ -0,0 +1 @@
|
||||||
|
Bump black from 22.12.0 to 23.1.0.
|
|
@ -90,32 +90,46 @@ typecheck = ["mypy"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "black"
|
name = "black"
|
||||||
version = "22.12.0"
|
version = "23.1.0"
|
||||||
description = "The uncompromising code formatter."
|
description = "The uncompromising code formatter."
|
||||||
category = "dev"
|
category = "dev"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
{file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"},
|
{file = "black-23.1.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:b6a92a41ee34b883b359998f0c8e6eb8e99803aa8bf3123bf2b2e6fec505a221"},
|
||||||
{file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"},
|
{file = "black-23.1.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:57c18c5165c1dbe291d5306e53fb3988122890e57bd9b3dcb75f967f13411a26"},
|
||||||
{file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"},
|
{file = "black-23.1.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:9880d7d419bb7e709b37e28deb5e68a49227713b623c72b2b931028ea65f619b"},
|
||||||
{file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"},
|
{file = "black-23.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6663f91b6feca5d06f2ccd49a10f254f9298cc1f7f49c46e498a0771b507104"},
|
||||||
{file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"},
|
{file = "black-23.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9afd3f493666a0cd8f8df9a0200c6359ac53940cbde049dcb1a7eb6ee2dd7074"},
|
||||||
{file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"},
|
{file = "black-23.1.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:bfffba28dc52a58f04492181392ee380e95262af14ee01d4bc7bb1b1c6ca8d27"},
|
||||||
{file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"},
|
{file = "black-23.1.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c1c476bc7b7d021321e7d93dc2cbd78ce103b84d5a4cf97ed535fbc0d6660648"},
|
||||||
{file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"},
|
{file = "black-23.1.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:382998821f58e5c8238d3166c492139573325287820963d2f7de4d518bd76958"},
|
||||||
{file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"},
|
{file = "black-23.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bf649fda611c8550ca9d7592b69f0637218c2369b7744694c5e4902873b2f3a"},
|
||||||
{file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"},
|
{file = "black-23.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:121ca7f10b4a01fd99951234abdbd97728e1240be89fde18480ffac16503d481"},
|
||||||
{file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"},
|
{file = "black-23.1.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:a8471939da5e824b891b25751955be52ee7f8a30a916d570a5ba8e0f2eb2ecad"},
|
||||||
{file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"},
|
{file = "black-23.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8178318cb74f98bc571eef19068f6ab5613b3e59d4f47771582f04e175570ed8"},
|
||||||
|
{file = "black-23.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a436e7881d33acaf2536c46a454bb964a50eff59b21b51c6ccf5a40601fbef24"},
|
||||||
|
{file = "black-23.1.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:a59db0a2094d2259c554676403fa2fac3473ccf1354c1c63eccf7ae65aac8ab6"},
|
||||||
|
{file = "black-23.1.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:0052dba51dec07ed029ed61b18183942043e00008ec65d5028814afaab9a22fd"},
|
||||||
|
{file = "black-23.1.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:49f7b39e30f326a34b5c9a4213213a6b221d7ae9d58ec70df1c4a307cf2a1580"},
|
||||||
|
{file = "black-23.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:162e37d49e93bd6eb6f1afc3e17a3d23a823042530c37c3c42eeeaf026f38468"},
|
||||||
|
{file = "black-23.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b70eb40a78dfac24842458476135f9b99ab952dd3f2dab738c1881a9b38b753"},
|
||||||
|
{file = "black-23.1.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:a29650759a6a0944e7cca036674655c2f0f63806ddecc45ed40b7b8aa314b651"},
|
||||||
|
{file = "black-23.1.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:bb460c8561c8c1bec7824ecbc3ce085eb50005883a6203dcfb0122e95797ee06"},
|
||||||
|
{file = "black-23.1.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c91dfc2c2a4e50df0026f88d2215e166616e0c80e86004d0003ece0488db2739"},
|
||||||
|
{file = "black-23.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a951cc83ab535d248c89f300eccbd625e80ab880fbcfb5ac8afb5f01a258ac9"},
|
||||||
|
{file = "black-23.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:0680d4380db3719ebcfb2613f34e86c8e6d15ffeabcf8ec59355c5e7b85bb555"},
|
||||||
|
{file = "black-23.1.0-py3-none-any.whl", hash = "sha256:7a0f701d314cfa0896b9001df70a530eb2472babb76086344e688829efd97d32"},
|
||||||
|
{file = "black-23.1.0.tar.gz", hash = "sha256:b0bd97bea8903f5a2ba7219257a44e3f1f9d00073d6cc1add68f0beec69692ac"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
click = ">=8.0.0"
|
click = ">=8.0.0"
|
||||||
mypy-extensions = ">=0.4.3"
|
mypy-extensions = ">=0.4.3"
|
||||||
|
packaging = ">=22.0"
|
||||||
pathspec = ">=0.9.0"
|
pathspec = ">=0.9.0"
|
||||||
platformdirs = ">=2"
|
platformdirs = ">=2"
|
||||||
tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""}
|
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
|
||||||
typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""}
|
typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""}
|
||||||
typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}
|
typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,6 @@ _Repr = Callable[[], str]
|
||||||
def recursive_repr(fillvalue: str = ...) -> Callable[[_Repr], _Repr]: ...
|
def recursive_repr(fillvalue: str = ...) -> Callable[[_Repr], _Repr]: ...
|
||||||
|
|
||||||
class SortedList(MutableSequence[_T]):
|
class SortedList(MutableSequence[_T]):
|
||||||
|
|
||||||
DEFAULT_LOAD_FACTOR: int = ...
|
DEFAULT_LOAD_FACTOR: int = ...
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
|
|
@ -47,7 +47,6 @@ def request_registration(
|
||||||
_print: Callable[[str], None] = print,
|
_print: Callable[[str], None] = print,
|
||||||
exit: Callable[[int], None] = sys.exit,
|
exit: Callable[[int], None] = sys.exit,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
||||||
url = "%s/_synapse/admin/v1/register" % (server_location.rstrip("/"),)
|
url = "%s/_synapse/admin/v1/register" % (server_location.rstrip("/"),)
|
||||||
|
|
||||||
# Get the nonce
|
# Get the nonce
|
||||||
|
@ -154,7 +153,6 @@ def register_new_user(
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
|
|
||||||
logging.captureWarnings(True)
|
logging.captureWarnings(True)
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
|
|
|
@ -1205,7 +1205,6 @@ class CursesProgress(Progress):
|
||||||
if self.finished:
|
if self.finished:
|
||||||
status = "Time spent: %s (Done!)" % (duration_str,)
|
status = "Time spent: %s (Done!)" % (duration_str,)
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if self.total_processed > 0:
|
if self.total_processed > 0:
|
||||||
left = float(self.total_remaining) / self.total_processed
|
left = float(self.total_remaining) / self.total_processed
|
||||||
|
|
||||||
|
|
|
@ -167,7 +167,6 @@ Worker = collections.namedtuple(
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
|
|
|
@ -213,7 +213,7 @@ def handle_startup_exception(e: Exception) -> NoReturn:
|
||||||
def redirect_stdio_to_logs() -> None:
|
def redirect_stdio_to_logs() -> None:
|
||||||
streams = [("stdout", LogLevel.info), ("stderr", LogLevel.error)]
|
streams = [("stdout", LogLevel.info), ("stderr", LogLevel.error)]
|
||||||
|
|
||||||
for (stream, level) in streams:
|
for stream, level in streams:
|
||||||
oldStream = getattr(sys, stream)
|
oldStream = getattr(sys, stream)
|
||||||
loggingFile = LoggingFile(
|
loggingFile = LoggingFile(
|
||||||
logger=twisted.logger.Logger(namespace=stream),
|
logger=twisted.logger.Logger(namespace=stream),
|
||||||
|
|
|
@ -219,7 +219,7 @@ def main() -> None:
|
||||||
# memory space and don't need to repeat the work of loading the code!
|
# memory space and don't need to repeat the work of loading the code!
|
||||||
# Instead of using fork() directly, we use the multiprocessing library,
|
# Instead of using fork() directly, we use the multiprocessing library,
|
||||||
# which uses fork() on Unix platforms.
|
# which uses fork() on Unix platforms.
|
||||||
for (func, worker_args) in zip(worker_functions, args_by_worker):
|
for func, worker_args in zip(worker_functions, args_by_worker):
|
||||||
process = multiprocessing.Process(
|
process = multiprocessing.Process(
|
||||||
target=_worker_entrypoint, args=(func, proxy_reactor, worker_args)
|
target=_worker_entrypoint, args=(func, proxy_reactor, worker_args)
|
||||||
)
|
)
|
||||||
|
|
|
@ -157,7 +157,6 @@ class GenericWorkerServer(HomeServer):
|
||||||
DATASTORE_CLASS = GenericWorkerSlavedStore # type: ignore
|
DATASTORE_CLASS = GenericWorkerSlavedStore # type: ignore
|
||||||
|
|
||||||
def _listen_http(self, listener_config: ListenerConfig) -> None:
|
def _listen_http(self, listener_config: ListenerConfig) -> None:
|
||||||
|
|
||||||
assert listener_config.http_options is not None
|
assert listener_config.http_options is not None
|
||||||
|
|
||||||
# We always include a health resource.
|
# We always include a health resource.
|
||||||
|
|
|
@ -321,7 +321,6 @@ def setup(config_options: List[str]) -> SynapseHomeServer:
|
||||||
and not config.registration.registrations_require_3pid
|
and not config.registration.registrations_require_3pid
|
||||||
and not config.registration.registration_requires_token
|
and not config.registration.registration_requires_token
|
||||||
):
|
):
|
||||||
|
|
||||||
raise ConfigError(
|
raise ConfigError(
|
||||||
"You have enabled open registration without any verification. This is a known vector for "
|
"You have enabled open registration without any verification. This is a known vector for "
|
||||||
"spam and abuse. If you would like to allow public registration, please consider adding email, "
|
"spam and abuse. If you would like to allow public registration, please consider adding email, "
|
||||||
|
|
|
@ -22,7 +22,6 @@ from ._base import Config
|
||||||
|
|
||||||
|
|
||||||
class ConsentConfig(Config):
|
class ConsentConfig(Config):
|
||||||
|
|
||||||
section = "consent"
|
section = "consent"
|
||||||
|
|
||||||
def __init__(self, *args: Any):
|
def __init__(self, *args: Any):
|
||||||
|
|
|
@ -154,7 +154,6 @@ class DatabaseConfig(Config):
|
||||||
logger.warning(NON_SQLITE_DATABASE_PATH_WARNING)
|
logger.warning(NON_SQLITE_DATABASE_PATH_WARNING)
|
||||||
|
|
||||||
def set_databasepath(self, database_path: str) -> None:
|
def set_databasepath(self, database_path: str) -> None:
|
||||||
|
|
||||||
if database_path != ":memory:":
|
if database_path != ":memory:":
|
||||||
database_path = self.abspath(database_path)
|
database_path = self.abspath(database_path)
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,6 @@ from .workers import WorkerConfig
|
||||||
|
|
||||||
|
|
||||||
class HomeServerConfig(RootConfig):
|
class HomeServerConfig(RootConfig):
|
||||||
|
|
||||||
config_classes = [
|
config_classes = [
|
||||||
ModulesConfig,
|
ModulesConfig,
|
||||||
ServerConfig,
|
ServerConfig,
|
||||||
|
|
|
@ -46,7 +46,6 @@ class RatelimitConfig(Config):
|
||||||
section = "ratelimiting"
|
section = "ratelimiting"
|
||||||
|
|
||||||
def read_config(self, config: JsonDict, **kwargs: Any) -> None:
|
def read_config(self, config: JsonDict, **kwargs: Any) -> None:
|
||||||
|
|
||||||
# Load the new-style messages config if it exists. Otherwise fall back
|
# Load the new-style messages config if it exists. Otherwise fall back
|
||||||
# to the old method.
|
# to the old method.
|
||||||
if "rc_message" in config:
|
if "rc_message" in config:
|
||||||
|
|
|
@ -116,7 +116,6 @@ class ContentRepositoryConfig(Config):
|
||||||
section = "media"
|
section = "media"
|
||||||
|
|
||||||
def read_config(self, config: JsonDict, **kwargs: Any) -> None:
|
def read_config(self, config: JsonDict, **kwargs: Any) -> None:
|
||||||
|
|
||||||
# Only enable the media repo if either the media repo is enabled or the
|
# Only enable the media repo if either the media repo is enabled or the
|
||||||
# current worker app is the media repo.
|
# current worker app is the media repo.
|
||||||
if (
|
if (
|
||||||
|
|
|
@ -735,7 +735,6 @@ class ServerConfig(Config):
|
||||||
listeners: Optional[List[dict]],
|
listeners: Optional[List[dict]],
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> str:
|
) -> str:
|
||||||
|
|
||||||
_, bind_port = parse_and_validate_server_name(server_name)
|
_, bind_port = parse_and_validate_server_name(server_name)
|
||||||
if bind_port is not None:
|
if bind_port is not None:
|
||||||
unsecure_port = bind_port - 400
|
unsecure_port = bind_port - 400
|
||||||
|
|
|
@ -30,7 +30,6 @@ class TlsConfig(Config):
|
||||||
section = "tls"
|
section = "tls"
|
||||||
|
|
||||||
def read_config(self, config: JsonDict, **kwargs: Any) -> None:
|
def read_config(self, config: JsonDict, **kwargs: Any) -> None:
|
||||||
|
|
||||||
self.tls_certificate_file = self.abspath(config.get("tls_certificate_path"))
|
self.tls_certificate_file = self.abspath(config.get("tls_certificate_path"))
|
||||||
self.tls_private_key_file = self.abspath(config.get("tls_private_key_path"))
|
self.tls_private_key_file = self.abspath(config.get("tls_private_key_path"))
|
||||||
|
|
||||||
|
|
|
@ -399,7 +399,7 @@ class Keyring:
|
||||||
# We now convert the returned list of results into a map from server
|
# We now convert the returned list of results into a map from server
|
||||||
# name to key ID to FetchKeyResult, to return.
|
# name to key ID to FetchKeyResult, to return.
|
||||||
to_return: Dict[str, Dict[str, FetchKeyResult]] = {}
|
to_return: Dict[str, Dict[str, FetchKeyResult]] = {}
|
||||||
for (request, results) in zip(deduped_requests, results_per_request):
|
for request, results in zip(deduped_requests, results_per_request):
|
||||||
to_return_by_server = to_return.setdefault(request.server_name, {})
|
to_return_by_server = to_return.setdefault(request.server_name, {})
|
||||||
for key_id, key_result in results.items():
|
for key_id, key_result in results.items():
|
||||||
existing = to_return_by_server.get(key_id)
|
existing = to_return_by_server.get(key_id)
|
||||||
|
|
|
@ -78,7 +78,6 @@ def load_legacy_third_party_event_rules(hs: "HomeServer") -> None:
|
||||||
# correctly, we need to await its result. Therefore it doesn't make a lot of
|
# correctly, we need to await its result. Therefore it doesn't make a lot of
|
||||||
# sense to make it go through the run() wrapper.
|
# sense to make it go through the run() wrapper.
|
||||||
if f.__name__ == "check_event_allowed":
|
if f.__name__ == "check_event_allowed":
|
||||||
|
|
||||||
# We need to wrap check_event_allowed because its old form would return either
|
# We need to wrap check_event_allowed because its old form would return either
|
||||||
# a boolean or a dict, but now we want to return the dict separately from the
|
# a boolean or a dict, but now we want to return the dict separately from the
|
||||||
# boolean.
|
# boolean.
|
||||||
|
@ -100,7 +99,6 @@ def load_legacy_third_party_event_rules(hs: "HomeServer") -> None:
|
||||||
return wrap_check_event_allowed
|
return wrap_check_event_allowed
|
||||||
|
|
||||||
if f.__name__ == "on_create_room":
|
if f.__name__ == "on_create_room":
|
||||||
|
|
||||||
# We need to wrap on_create_room because its old form would return a boolean
|
# We need to wrap on_create_room because its old form would return a boolean
|
||||||
# if the room creation is denied, but now we just want it to raise an
|
# if the room creation is denied, but now we just want it to raise an
|
||||||
# exception.
|
# exception.
|
||||||
|
|
|
@ -314,7 +314,7 @@ class FederationRemoteSendQueue(AbstractFederationSender):
|
||||||
# stream position.
|
# stream position.
|
||||||
keyed_edus = {v: k for k, v in self.keyed_edu_changed.items()[i:j]}
|
keyed_edus = {v: k for k, v in self.keyed_edu_changed.items()[i:j]}
|
||||||
|
|
||||||
for ((destination, edu_key), pos) in keyed_edus.items():
|
for (destination, edu_key), pos in keyed_edus.items():
|
||||||
rows.append(
|
rows.append(
|
||||||
(
|
(
|
||||||
pos,
|
pos,
|
||||||
|
@ -329,7 +329,7 @@ class FederationRemoteSendQueue(AbstractFederationSender):
|
||||||
j = self.edus.bisect_right(to_token) + 1
|
j = self.edus.bisect_right(to_token) + 1
|
||||||
edus = self.edus.items()[i:j]
|
edus = self.edus.items()[i:j]
|
||||||
|
|
||||||
for (pos, edu) in edus:
|
for pos, edu in edus:
|
||||||
rows.append((pos, EduRow(edu)))
|
rows.append((pos, EduRow(edu)))
|
||||||
|
|
||||||
# Sort rows based on pos
|
# Sort rows based on pos
|
||||||
|
|
|
@ -737,7 +737,7 @@ class ApplicationServicesHandler:
|
||||||
)
|
)
|
||||||
|
|
||||||
ret = []
|
ret = []
|
||||||
for (success, result) in results:
|
for success, result in results:
|
||||||
if success:
|
if success:
|
||||||
ret.extend(result)
|
ret.extend(result)
|
||||||
|
|
||||||
|
|
|
@ -815,7 +815,6 @@ class AuthHandler:
|
||||||
now_ms = self._clock.time_msec()
|
now_ms = self._clock.time_msec()
|
||||||
|
|
||||||
if existing_token.expiry_ts is not None and existing_token.expiry_ts < now_ms:
|
if existing_token.expiry_ts is not None and existing_token.expiry_ts < now_ms:
|
||||||
|
|
||||||
raise SynapseError(
|
raise SynapseError(
|
||||||
HTTPStatus.FORBIDDEN,
|
HTTPStatus.FORBIDDEN,
|
||||||
"The supplied refresh token has expired",
|
"The supplied refresh token has expired",
|
||||||
|
@ -2259,7 +2258,6 @@ class PasswordAuthProvider:
|
||||||
async def on_logged_out(
|
async def on_logged_out(
|
||||||
self, user_id: str, device_id: Optional[str], access_token: str
|
self, user_id: str, device_id: Optional[str], access_token: str
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
||||||
# call all of the on_logged_out callbacks
|
# call all of the on_logged_out callbacks
|
||||||
for callback in self.on_logged_out_callbacks:
|
for callback in self.on_logged_out_callbacks:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -497,9 +497,11 @@ class DirectoryHandler:
|
||||||
raise SynapseError(403, "Not allowed to publish room")
|
raise SynapseError(403, "Not allowed to publish room")
|
||||||
|
|
||||||
# Check if publishing is blocked by a third party module
|
# Check if publishing is blocked by a third party module
|
||||||
allowed_by_third_party_rules = await (
|
allowed_by_third_party_rules = (
|
||||||
self.third_party_event_rules.check_visibility_can_be_modified(
|
await (
|
||||||
room_id, visibility
|
self.third_party_event_rules.check_visibility_can_be_modified(
|
||||||
|
room_id, visibility
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if not allowed_by_third_party_rules:
|
if not allowed_by_third_party_rules:
|
||||||
|
|
|
@ -188,7 +188,6 @@ class E2eRoomKeysHandler:
|
||||||
|
|
||||||
# XXX: perhaps we should use a finer grained lock here?
|
# XXX: perhaps we should use a finer grained lock here?
|
||||||
async with self._upload_linearizer.queue(user_id):
|
async with self._upload_linearizer.queue(user_id):
|
||||||
|
|
||||||
# Check that the version we're trying to upload is the current version
|
# Check that the version we're trying to upload is the current version
|
||||||
try:
|
try:
|
||||||
version_info = await self.store.get_e2e_room_keys_version_info(user_id)
|
version_info = await self.store.get_e2e_room_keys_version_info(user_id)
|
||||||
|
|
|
@ -236,7 +236,6 @@ class EventAuthHandler:
|
||||||
# in any of them.
|
# in any of them.
|
||||||
allowed_rooms = await self.get_rooms_that_allow_join(state_ids)
|
allowed_rooms = await self.get_rooms_that_allow_join(state_ids)
|
||||||
if not await self.is_user_in_rooms(allowed_rooms, user_id):
|
if not await self.is_user_in_rooms(allowed_rooms, user_id):
|
||||||
|
|
||||||
# If this is a remote request, the user might be in an allowed room
|
# If this is a remote request, the user might be in an allowed room
|
||||||
# that we do not know about.
|
# that we do not know about.
|
||||||
if get_domain_from_id(user_id) != self._server_name:
|
if get_domain_from_id(user_id) != self._server_name:
|
||||||
|
|
|
@ -124,7 +124,6 @@ class InitialSyncHandler:
|
||||||
as_client_event: bool = True,
|
as_client_event: bool = True,
|
||||||
include_archived: bool = False,
|
include_archived: bool = False,
|
||||||
) -> JsonDict:
|
) -> JsonDict:
|
||||||
|
|
||||||
memberships = [Membership.INVITE, Membership.JOIN]
|
memberships = [Membership.INVITE, Membership.JOIN]
|
||||||
if include_archived:
|
if include_archived:
|
||||||
memberships.append(Membership.LEAVE)
|
memberships.append(Membership.LEAVE)
|
||||||
|
|
|
@ -777,7 +777,6 @@ class PresenceHandler(BasePresenceHandler):
|
||||||
)
|
)
|
||||||
|
|
||||||
if self.unpersisted_users_changes:
|
if self.unpersisted_users_changes:
|
||||||
|
|
||||||
await self.store.update_presence(
|
await self.store.update_presence(
|
||||||
[
|
[
|
||||||
self.user_to_current_state[user_id]
|
self.user_to_current_state[user_id]
|
||||||
|
@ -823,7 +822,6 @@ class PresenceHandler(BasePresenceHandler):
|
||||||
now = self.clock.time_msec()
|
now = self.clock.time_msec()
|
||||||
|
|
||||||
with Measure(self.clock, "presence_update_states"):
|
with Measure(self.clock, "presence_update_states"):
|
||||||
|
|
||||||
# NOTE: We purposefully don't await between now and when we've
|
# NOTE: We purposefully don't await between now and when we've
|
||||||
# calculated what we want to do with the new states, to avoid races.
|
# calculated what we want to do with the new states, to avoid races.
|
||||||
|
|
||||||
|
|
|
@ -868,9 +868,11 @@ class RoomCreationHandler:
|
||||||
)
|
)
|
||||||
|
|
||||||
# Check whether this visibility value is blocked by a third party module
|
# Check whether this visibility value is blocked by a third party module
|
||||||
allowed_by_third_party_rules = await (
|
allowed_by_third_party_rules = (
|
||||||
self.third_party_event_rules.check_visibility_can_be_modified(
|
await (
|
||||||
room_id, visibility
|
self.third_party_event_rules.check_visibility_can_be_modified(
|
||||||
|
room_id, visibility
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if not allowed_by_third_party_rules:
|
if not allowed_by_third_party_rules:
|
||||||
|
|
|
@ -374,7 +374,7 @@ class RoomBatchHandler:
|
||||||
# correct stream_ordering as they are backfilled (which decrements).
|
# correct stream_ordering as they are backfilled (which decrements).
|
||||||
# Events are sorted by (topological_ordering, stream_ordering)
|
# Events are sorted by (topological_ordering, stream_ordering)
|
||||||
# where topological_ordering is just depth.
|
# where topological_ordering is just depth.
|
||||||
for (event, context) in reversed(events_to_persist):
|
for event, context in reversed(events_to_persist):
|
||||||
# This call can't raise `PartialStateConflictError` since we forbid
|
# This call can't raise `PartialStateConflictError` since we forbid
|
||||||
# use of the historical batch API during partial state
|
# use of the historical batch API during partial state
|
||||||
await self.event_creation_handler.handle_new_client_event(
|
await self.event_creation_handler.handle_new_client_event(
|
||||||
|
|
|
@ -1297,7 +1297,6 @@ class SyncHandler:
|
||||||
return RoomNotifCounts.empty()
|
return RoomNotifCounts.empty()
|
||||||
|
|
||||||
with Measure(self.clock, "unread_notifs_for_room_id"):
|
with Measure(self.clock, "unread_notifs_for_room_id"):
|
||||||
|
|
||||||
return await self.store.get_unread_event_push_actions_by_room_for_user(
|
return await self.store.get_unread_event_push_actions_by_room_for_user(
|
||||||
room_id,
|
room_id,
|
||||||
sync_config.user.to_string(),
|
sync_config.user.to_string(),
|
||||||
|
|
|
@ -524,6 +524,7 @@ def whitelisted_homeserver(destination: str) -> bool:
|
||||||
|
|
||||||
# Start spans and scopes
|
# Start spans and scopes
|
||||||
|
|
||||||
|
|
||||||
# Could use kwargs but I want these to be explicit
|
# Could use kwargs but I want these to be explicit
|
||||||
def start_active_span(
|
def start_active_span(
|
||||||
operation_name: str,
|
operation_name: str,
|
||||||
|
|
|
@ -87,7 +87,6 @@ class LaterGauge(Collector):
|
||||||
]
|
]
|
||||||
|
|
||||||
def collect(self) -> Iterable[Metric]:
|
def collect(self) -> Iterable[Metric]:
|
||||||
|
|
||||||
g = GaugeMetricFamily(self.name, self.desc, labels=self.labels)
|
g = GaugeMetricFamily(self.name, self.desc, labels=self.labels)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -139,7 +139,6 @@ def install_gc_manager() -> None:
|
||||||
|
|
||||||
class PyPyGCStats(Collector):
|
class PyPyGCStats(Collector):
|
||||||
def collect(self) -> Iterable[Metric]:
|
def collect(self) -> Iterable[Metric]:
|
||||||
|
|
||||||
# @stats is a pretty-printer object with __str__() returning a nice table,
|
# @stats is a pretty-printer object with __str__() returning a nice table,
|
||||||
# plus some fields that contain data from that table.
|
# plus some fields that contain data from that table.
|
||||||
# unfortunately, fields are pretty-printed themselves (i. e. '4.5MB').
|
# unfortunately, fields are pretty-printed themselves (i. e. '4.5MB').
|
||||||
|
|
|
@ -330,7 +330,6 @@ class BulkPushRuleEvaluator:
|
||||||
context: EventContext,
|
context: EventContext,
|
||||||
event_id_to_event: Mapping[str, EventBase],
|
event_id_to_event: Mapping[str, EventBase],
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
||||||
if (
|
if (
|
||||||
not event.internal_metadata.is_notifiable()
|
not event.internal_metadata.is_notifiable()
|
||||||
or event.internal_metadata.is_historical()
|
or event.internal_metadata.is_historical()
|
||||||
|
|
|
@ -265,7 +265,6 @@ class ReplicationRemoveTagRestServlet(ReplicationEndpoint):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
async def _serialize_payload(user_id: str, room_id: str, tag: str) -> JsonDict: # type: ignore[override]
|
async def _serialize_payload(user_id: str, room_id: str, tag: str) -> JsonDict: # type: ignore[override]
|
||||||
|
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
async def _handle_request( # type: ignore[override]
|
async def _handle_request( # type: ignore[override]
|
||||||
|
|
|
@ -195,7 +195,6 @@ class ReplicationUploadKeysForUserRestServlet(ReplicationEndpoint):
|
||||||
async def _serialize_payload( # type: ignore[override]
|
async def _serialize_payload( # type: ignore[override]
|
||||||
user_id: str, device_id: str, keys: JsonDict
|
user_id: str, device_id: str, keys: JsonDict
|
||||||
) -> JsonDict:
|
) -> JsonDict:
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
"device_id": device_id,
|
"device_id": device_id,
|
||||||
|
|
|
@ -328,7 +328,6 @@ class RedisDirectTcpReplicationClientFactory(SynapseRedisFactory):
|
||||||
outbound_redis_connection: txredisapi.ConnectionHandler,
|
outbound_redis_connection: txredisapi.ConnectionHandler,
|
||||||
channel_names: List[str],
|
channel_names: List[str],
|
||||||
):
|
):
|
||||||
|
|
||||||
super().__init__(
|
super().__init__(
|
||||||
hs,
|
hs,
|
||||||
uuid="subscriber",
|
uuid="subscriber",
|
||||||
|
|
|
@ -139,7 +139,6 @@ class EventsStream(Stream):
|
||||||
current_token: Token,
|
current_token: Token,
|
||||||
target_row_count: int,
|
target_row_count: int,
|
||||||
) -> StreamUpdateResult:
|
) -> StreamUpdateResult:
|
||||||
|
|
||||||
# the events stream merges together three separate sources:
|
# the events stream merges together three separate sources:
|
||||||
# * new events
|
# * new events
|
||||||
# * current_state changes
|
# * current_state changes
|
||||||
|
|
|
@ -75,7 +75,6 @@ class RoomRestV2Servlet(RestServlet):
|
||||||
async def on_DELETE(
|
async def on_DELETE(
|
||||||
self, request: SynapseRequest, room_id: str
|
self, request: SynapseRequest, room_id: str
|
||||||
) -> Tuple[int, JsonDict]:
|
) -> Tuple[int, JsonDict]:
|
||||||
|
|
||||||
requester = await self._auth.get_user_by_req(request)
|
requester = await self._auth.get_user_by_req(request)
|
||||||
await assert_user_is_admin(self._auth, requester)
|
await assert_user_is_admin(self._auth, requester)
|
||||||
|
|
||||||
|
@ -144,7 +143,6 @@ class DeleteRoomStatusByRoomIdRestServlet(RestServlet):
|
||||||
async def on_GET(
|
async def on_GET(
|
||||||
self, request: SynapseRequest, room_id: str
|
self, request: SynapseRequest, room_id: str
|
||||||
) -> Tuple[int, JsonDict]:
|
) -> Tuple[int, JsonDict]:
|
||||||
|
|
||||||
await assert_requester_is_admin(self._auth, request)
|
await assert_requester_is_admin(self._auth, request)
|
||||||
|
|
||||||
if not RoomID.is_valid(room_id):
|
if not RoomID.is_valid(room_id):
|
||||||
|
@ -181,7 +179,6 @@ class DeleteRoomStatusByDeleteIdRestServlet(RestServlet):
|
||||||
async def on_GET(
|
async def on_GET(
|
||||||
self, request: SynapseRequest, delete_id: str
|
self, request: SynapseRequest, delete_id: str
|
||||||
) -> Tuple[int, JsonDict]:
|
) -> Tuple[int, JsonDict]:
|
||||||
|
|
||||||
await assert_requester_is_admin(self._auth, request)
|
await assert_requester_is_admin(self._auth, request)
|
||||||
|
|
||||||
delete_status = self._pagination_handler.get_delete_status(delete_id)
|
delete_status = self._pagination_handler.get_delete_status(delete_id)
|
||||||
|
@ -438,7 +435,6 @@ class RoomStateRestServlet(RestServlet):
|
||||||
|
|
||||||
|
|
||||||
class JoinRoomAliasServlet(ResolveRoomIdMixin, RestServlet):
|
class JoinRoomAliasServlet(ResolveRoomIdMixin, RestServlet):
|
||||||
|
|
||||||
PATTERNS = admin_patterns("/join/(?P<room_identifier>[^/]*)$")
|
PATTERNS = admin_patterns("/join/(?P<room_identifier>[^/]*)$")
|
||||||
|
|
||||||
def __init__(self, hs: "HomeServer"):
|
def __init__(self, hs: "HomeServer"):
|
||||||
|
|
|
@ -683,8 +683,12 @@ class AccountValidityRenewServlet(RestServlet):
|
||||||
await assert_requester_is_admin(self.auth, request)
|
await assert_requester_is_admin(self.auth, request)
|
||||||
|
|
||||||
if self.account_activity_handler.on_legacy_admin_request_callback:
|
if self.account_activity_handler.on_legacy_admin_request_callback:
|
||||||
expiration_ts = await (
|
expiration_ts = (
|
||||||
self.account_activity_handler.on_legacy_admin_request_callback(request)
|
await (
|
||||||
|
self.account_activity_handler.on_legacy_admin_request_callback(
|
||||||
|
request
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
body = parse_json_object_from_request(request)
|
body = parse_json_object_from_request(request)
|
||||||
|
|
|
@ -97,7 +97,6 @@ class AuthRestServlet(RestServlet):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
async def on_POST(self, request: Request, stagetype: str) -> None:
|
async def on_POST(self, request: Request, stagetype: str) -> None:
|
||||||
|
|
||||||
session = parse_string(request, "session")
|
session = parse_string(request, "session")
|
||||||
if not session:
|
if not session:
|
||||||
raise SynapseError(400, "No session supplied")
|
raise SynapseError(400, "No session supplied")
|
||||||
|
|
|
@ -79,7 +79,6 @@ class CreateFilterRestServlet(RestServlet):
|
||||||
async def on_POST(
|
async def on_POST(
|
||||||
self, request: SynapseRequest, user_id: str
|
self, request: SynapseRequest, user_id: str
|
||||||
) -> Tuple[int, JsonDict]:
|
) -> Tuple[int, JsonDict]:
|
||||||
|
|
||||||
target_user = UserID.from_string(user_id)
|
target_user = UserID.from_string(user_id)
|
||||||
requester = await self.auth.get_user_by_req(request)
|
requester = await self.auth.get_user_by_req(request)
|
||||||
|
|
||||||
|
|
|
@ -628,10 +628,12 @@ class RegisterRestServlet(RestServlet):
|
||||||
if not password_hash:
|
if not password_hash:
|
||||||
raise SynapseError(400, "Missing params: password", Codes.MISSING_PARAM)
|
raise SynapseError(400, "Missing params: password", Codes.MISSING_PARAM)
|
||||||
|
|
||||||
desired_username = await (
|
desired_username = (
|
||||||
self.password_auth_provider.get_username_for_registration(
|
await (
|
||||||
auth_result,
|
self.password_auth_provider.get_username_for_registration(
|
||||||
params,
|
auth_result,
|
||||||
|
params,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -682,9 +684,11 @@ class RegisterRestServlet(RestServlet):
|
||||||
session_id
|
session_id
|
||||||
)
|
)
|
||||||
|
|
||||||
display_name = await (
|
display_name = (
|
||||||
self.password_auth_provider.get_displayname_for_registration(
|
await (
|
||||||
auth_result, params
|
self.password_auth_provider.get_displayname_for_registration(
|
||||||
|
auth_result, params
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,6 @@ async def respond_with_responder(
|
||||||
logger.debug("Responding to media request with responder %s", responder)
|
logger.debug("Responding to media request with responder %s", responder)
|
||||||
add_file_headers(request, media_type, file_size, upload_name)
|
add_file_headers(request, media_type, file_size, upload_name)
|
||||||
try:
|
try:
|
||||||
|
|
||||||
await responder.write_to_consumer(request)
|
await responder.write_to_consumer(request)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# The majority of the time this will be due to the client having gone
|
# The majority of the time this will be due to the client having gone
|
||||||
|
|
|
@ -38,7 +38,6 @@ class ThumbnailError(Exception):
|
||||||
|
|
||||||
|
|
||||||
class Thumbnailer:
|
class Thumbnailer:
|
||||||
|
|
||||||
FORMATS = {"image/jpeg": "JPEG", "image/png": "PNG"}
|
FORMATS = {"image/jpeg": "JPEG", "image/png": "PNG"}
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
|
@ -721,8 +721,8 @@ class DeviceInboxWorkerStore(SQLBaseStore):
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
for (user_id, messages_by_device) in edu["messages"].items():
|
for user_id, messages_by_device in edu["messages"].items():
|
||||||
for (device_id, msg) in messages_by_device.items():
|
for device_id, msg in messages_by_device.items():
|
||||||
with start_active_span("store_outgoing_to_device_message"):
|
with start_active_span("store_outgoing_to_device_message"):
|
||||||
set_tag(SynapseTags.TO_DEVICE_EDU_ID, edu["sender"])
|
set_tag(SynapseTags.TO_DEVICE_EDU_ID, edu["sender"])
|
||||||
set_tag(SynapseTags.TO_DEVICE_EDU_ID, edu["message_id"])
|
set_tag(SynapseTags.TO_DEVICE_EDU_ID, edu["message_id"])
|
||||||
|
@ -959,7 +959,6 @@ class DeviceInboxBackgroundUpdateStore(SQLBaseStore):
|
||||||
def _remove_dead_devices_from_device_inbox_txn(
|
def _remove_dead_devices_from_device_inbox_txn(
|
||||||
txn: LoggingTransaction,
|
txn: LoggingTransaction,
|
||||||
) -> Tuple[int, bool]:
|
) -> Tuple[int, bool]:
|
||||||
|
|
||||||
if "max_stream_id" in progress:
|
if "max_stream_id" in progress:
|
||||||
max_stream_id = progress["max_stream_id"]
|
max_stream_id = progress["max_stream_id"]
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -512,7 +512,7 @@ class DeviceWorkerStore(RoomMemberWorkerStore, EndToEndKeyWorkerStore):
|
||||||
results.append(("org.matrix.signing_key_update", result))
|
results.append(("org.matrix.signing_key_update", result))
|
||||||
|
|
||||||
if issue_8631_logger.isEnabledFor(logging.DEBUG):
|
if issue_8631_logger.isEnabledFor(logging.DEBUG):
|
||||||
for (user_id, edu) in results:
|
for user_id, edu in results:
|
||||||
issue_8631_logger.debug(
|
issue_8631_logger.debug(
|
||||||
"device update to %s for %s from %s to %s: %s",
|
"device update to %s for %s from %s to %s: %s",
|
||||||
destination,
|
destination,
|
||||||
|
@ -1316,7 +1316,7 @@ class DeviceWorkerStore(RoomMemberWorkerStore, EndToEndKeyWorkerStore):
|
||||||
)
|
)
|
||||||
"""
|
"""
|
||||||
count = 0
|
count = 0
|
||||||
for (destination, user_id, stream_id, device_id) in rows:
|
for destination, user_id, stream_id, device_id in rows:
|
||||||
txn.execute(
|
txn.execute(
|
||||||
delete_sql, (destination, user_id, stream_id, stream_id, device_id)
|
delete_sql, (destination, user_id, stream_id, stream_id, device_id)
|
||||||
)
|
)
|
||||||
|
|
|
@ -108,7 +108,7 @@ class EndToEndRoomKeyStore(SQLBaseStore):
|
||||||
raise StoreError(404, "No backup with that version exists")
|
raise StoreError(404, "No backup with that version exists")
|
||||||
|
|
||||||
values = []
|
values = []
|
||||||
for (room_id, session_id, room_key) in room_keys:
|
for room_id, session_id, room_key in room_keys:
|
||||||
values.append(
|
values.append(
|
||||||
(
|
(
|
||||||
user_id,
|
user_id,
|
||||||
|
|
|
@ -268,7 +268,7 @@ class EndToEndKeyWorkerStore(EndToEndKeyBackgroundStore, CacheInvalidationWorker
|
||||||
)
|
)
|
||||||
|
|
||||||
# add each cross-signing signature to the correct device in the result dict.
|
# add each cross-signing signature to the correct device in the result dict.
|
||||||
for (user_id, key_id, device_id, signature) in cross_sigs_result:
|
for user_id, key_id, device_id, signature in cross_sigs_result:
|
||||||
target_device_result = result[user_id][device_id]
|
target_device_result = result[user_id][device_id]
|
||||||
# We've only looked up cross-signatures for non-deleted devices with key
|
# We've only looked up cross-signatures for non-deleted devices with key
|
||||||
# data.
|
# data.
|
||||||
|
@ -311,7 +311,7 @@ class EndToEndKeyWorkerStore(EndToEndKeyBackgroundStore, CacheInvalidationWorker
|
||||||
# devices.
|
# devices.
|
||||||
user_list = []
|
user_list = []
|
||||||
user_device_list = []
|
user_device_list = []
|
||||||
for (user_id, device_id) in query_list:
|
for user_id, device_id in query_list:
|
||||||
if device_id is None:
|
if device_id is None:
|
||||||
user_list.append(user_id)
|
user_list.append(user_id)
|
||||||
else:
|
else:
|
||||||
|
@ -353,7 +353,7 @@ class EndToEndKeyWorkerStore(EndToEndKeyBackgroundStore, CacheInvalidationWorker
|
||||||
|
|
||||||
txn.execute(sql, query_params)
|
txn.execute(sql, query_params)
|
||||||
|
|
||||||
for (user_id, device_id, display_name, key_json) in txn:
|
for user_id, device_id, display_name, key_json in txn:
|
||||||
assert device_id is not None
|
assert device_id is not None
|
||||||
if include_deleted_devices:
|
if include_deleted_devices:
|
||||||
deleted_devices.remove((user_id, device_id))
|
deleted_devices.remove((user_id, device_id))
|
||||||
|
@ -382,7 +382,7 @@ class EndToEndKeyWorkerStore(EndToEndKeyBackgroundStore, CacheInvalidationWorker
|
||||||
signature_query_clauses = []
|
signature_query_clauses = []
|
||||||
signature_query_params = []
|
signature_query_params = []
|
||||||
|
|
||||||
for (user_id, device_id) in device_query:
|
for user_id, device_id in device_query:
|
||||||
signature_query_clauses.append(
|
signature_query_clauses.append(
|
||||||
"target_user_id = ? AND target_device_id = ? AND user_id = ?"
|
"target_user_id = ? AND target_device_id = ? AND user_id = ?"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1612,7 +1612,6 @@ class EventFederationWorkerStore(SignatureWorkerStore, EventsWorkerStore, SQLBas
|
||||||
latest_events: List[str],
|
latest_events: List[str],
|
||||||
limit: int,
|
limit: int,
|
||||||
) -> List[str]:
|
) -> List[str]:
|
||||||
|
|
||||||
seen_events = set(earliest_events)
|
seen_events = set(earliest_events)
|
||||||
front = set(latest_events) - seen_events
|
front = set(latest_events) - seen_events
|
||||||
event_results: List[str] = []
|
event_results: List[str] = []
|
||||||
|
|
|
@ -469,7 +469,6 @@ class PersistEventsStore:
|
||||||
txn: LoggingTransaction,
|
txn: LoggingTransaction,
|
||||||
events: List[EventBase],
|
events: List[EventBase],
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
||||||
# We only care about state events, so this if there are no state events.
|
# We only care about state events, so this if there are no state events.
|
||||||
if not any(e.is_state() for e in events):
|
if not any(e.is_state() for e in events):
|
||||||
return
|
return
|
||||||
|
|
|
@ -709,7 +709,7 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
|
||||||
|
|
||||||
nbrows = 0
|
nbrows = 0
|
||||||
last_row_event_id = ""
|
last_row_event_id = ""
|
||||||
for (event_id, event_json_raw) in results:
|
for event_id, event_json_raw in results:
|
||||||
try:
|
try:
|
||||||
event_json = db_to_json(event_json_raw)
|
event_json = db_to_json(event_json_raw)
|
||||||
|
|
||||||
|
@ -1167,7 +1167,7 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
|
||||||
results = list(txn)
|
results = list(txn)
|
||||||
# (event_id, parent_id, rel_type) for each relation
|
# (event_id, parent_id, rel_type) for each relation
|
||||||
relations_to_insert: List[Tuple[str, str, str]] = []
|
relations_to_insert: List[Tuple[str, str, str]] = []
|
||||||
for (event_id, event_json_raw) in results:
|
for event_id, event_json_raw in results:
|
||||||
try:
|
try:
|
||||||
event_json = db_to_json(event_json_raw)
|
event_json = db_to_json(event_json_raw)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
@ -1493,7 +1493,7 @@ class EventsWorkerStore(SQLBaseStore):
|
||||||
|
|
||||||
txn.execute(redactions_sql + clause, args)
|
txn.execute(redactions_sql + clause, args)
|
||||||
|
|
||||||
for (redacter, redacted) in txn:
|
for redacter, redacted in txn:
|
||||||
d = event_dict.get(redacted)
|
d = event_dict.get(redacted)
|
||||||
if d:
|
if d:
|
||||||
d.redactions.append(redacter)
|
d.redactions.append(redacter)
|
||||||
|
|
|
@ -196,7 +196,6 @@ class MediaRepositoryStore(MediaRepositoryBackgroundUpdateStore):
|
||||||
def get_local_media_by_user_paginate_txn(
|
def get_local_media_by_user_paginate_txn(
|
||||||
txn: LoggingTransaction,
|
txn: LoggingTransaction,
|
||||||
) -> Tuple[List[Dict[str, Any]], int]:
|
) -> Tuple[List[Dict[str, Any]], int]:
|
||||||
|
|
||||||
# Set ordering
|
# Set ordering
|
||||||
order_by_column = MediaSortOrder(order_by).value
|
order_by_column = MediaSortOrder(order_by).value
|
||||||
|
|
||||||
|
|
|
@ -344,7 +344,6 @@ class PusherWorkerStore(SQLBaseStore):
|
||||||
last_user = progress.get("last_user", "")
|
last_user = progress.get("last_user", "")
|
||||||
|
|
||||||
def _delete_pushers(txn: LoggingTransaction) -> int:
|
def _delete_pushers(txn: LoggingTransaction) -> int:
|
||||||
|
|
||||||
sql = """
|
sql = """
|
||||||
SELECT name FROM users
|
SELECT name FROM users
|
||||||
WHERE deactivated = ? and name > ?
|
WHERE deactivated = ? and name > ?
|
||||||
|
@ -392,7 +391,6 @@ class PusherWorkerStore(SQLBaseStore):
|
||||||
last_pusher = progress.get("last_pusher", 0)
|
last_pusher = progress.get("last_pusher", 0)
|
||||||
|
|
||||||
def _delete_pushers(txn: LoggingTransaction) -> int:
|
def _delete_pushers(txn: LoggingTransaction) -> int:
|
||||||
|
|
||||||
sql = """
|
sql = """
|
||||||
SELECT p.id, access_token FROM pushers AS p
|
SELECT p.id, access_token FROM pushers AS p
|
||||||
LEFT JOIN access_tokens AS a ON (p.access_token = a.id)
|
LEFT JOIN access_tokens AS a ON (p.access_token = a.id)
|
||||||
|
@ -449,7 +447,6 @@ class PusherWorkerStore(SQLBaseStore):
|
||||||
last_pusher = progress.get("last_pusher", 0)
|
last_pusher = progress.get("last_pusher", 0)
|
||||||
|
|
||||||
def _delete_pushers(txn: LoggingTransaction) -> int:
|
def _delete_pushers(txn: LoggingTransaction) -> int:
|
||||||
|
|
||||||
sql = """
|
sql = """
|
||||||
SELECT p.id, p.user_name, p.app_id, p.pushkey
|
SELECT p.id, p.user_name, p.app_id, p.pushkey
|
||||||
FROM pushers AS p
|
FROM pushers AS p
|
||||||
|
|
|
@ -887,7 +887,6 @@ class ReceiptsBackgroundUpdateStore(SQLBaseStore):
|
||||||
def _populate_receipt_event_stream_ordering_txn(
|
def _populate_receipt_event_stream_ordering_txn(
|
||||||
txn: LoggingTransaction,
|
txn: LoggingTransaction,
|
||||||
) -> bool:
|
) -> bool:
|
||||||
|
|
||||||
if "max_stream_id" in progress:
|
if "max_stream_id" in progress:
|
||||||
max_stream_id = progress["max_stream_id"]
|
max_stream_id = progress["max_stream_id"]
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -2168,7 +2168,6 @@ class RoomStore(RoomBackgroundUpdateStore, RoomWorkerStore):
|
||||||
def _get_event_report_txn(
|
def _get_event_report_txn(
|
||||||
txn: LoggingTransaction, report_id: int
|
txn: LoggingTransaction, report_id: int
|
||||||
) -> Optional[Dict[str, Any]]:
|
) -> Optional[Dict[str, Any]]:
|
||||||
|
|
||||||
sql = """
|
sql = """
|
||||||
SELECT
|
SELECT
|
||||||
er.id,
|
er.id,
|
||||||
|
|
|
@ -122,7 +122,6 @@ class SearchWorkerStore(SQLBaseStore):
|
||||||
|
|
||||||
|
|
||||||
class SearchBackgroundUpdateStore(SearchWorkerStore):
|
class SearchBackgroundUpdateStore(SearchWorkerStore):
|
||||||
|
|
||||||
EVENT_SEARCH_UPDATE_NAME = "event_search"
|
EVENT_SEARCH_UPDATE_NAME = "event_search"
|
||||||
EVENT_SEARCH_ORDER_UPDATE_NAME = "event_search_order"
|
EVENT_SEARCH_ORDER_UPDATE_NAME = "event_search_order"
|
||||||
EVENT_SEARCH_USE_GIN_POSTGRES_NAME = "event_search_postgres_gin"
|
EVENT_SEARCH_USE_GIN_POSTGRES_NAME = "event_search_postgres_gin"
|
||||||
|
@ -615,7 +614,6 @@ class SearchStore(SearchBackgroundUpdateStore):
|
||||||
"""
|
"""
|
||||||
count_args = [search_query] + count_args
|
count_args = [search_query] + count_args
|
||||||
elif isinstance(self.database_engine, Sqlite3Engine):
|
elif isinstance(self.database_engine, Sqlite3Engine):
|
||||||
|
|
||||||
# We use CROSS JOIN here to ensure we use the right indexes.
|
# We use CROSS JOIN here to ensure we use the right indexes.
|
||||||
# https://sqlite.org/optoverview.html#crossjoin
|
# https://sqlite.org/optoverview.html#crossjoin
|
||||||
#
|
#
|
||||||
|
|
|
@ -490,7 +490,6 @@ class StateGroupWorkerStore(EventsWorkerStore, SQLBaseStore):
|
||||||
|
|
||||||
|
|
||||||
class MainStateBackgroundUpdateStore(RoomMemberWorkerStore):
|
class MainStateBackgroundUpdateStore(RoomMemberWorkerStore):
|
||||||
|
|
||||||
CURRENT_STATE_INDEX_UPDATE_NAME = "current_state_members_idx"
|
CURRENT_STATE_INDEX_UPDATE_NAME = "current_state_members_idx"
|
||||||
EVENT_STATE_GROUP_INDEX_UPDATE_NAME = "event_to_state_groups_sg_index"
|
EVENT_STATE_GROUP_INDEX_UPDATE_NAME = "event_to_state_groups_sg_index"
|
||||||
DELETE_CURRENT_STATE_UPDATE_NAME = "delete_old_current_state_events"
|
DELETE_CURRENT_STATE_UPDATE_NAME = "delete_old_current_state_events"
|
||||||
|
|
|
@ -461,7 +461,7 @@ class StatsStore(StateDeltasStore):
|
||||||
insert_cols = []
|
insert_cols = []
|
||||||
qargs = []
|
qargs = []
|
||||||
|
|
||||||
for (key, val) in chain(
|
for key, val in chain(
|
||||||
keyvalues.items(), absolutes.items(), additive_relatives.items()
|
keyvalues.items(), absolutes.items(), additive_relatives.items()
|
||||||
):
|
):
|
||||||
insert_cols.append(key)
|
insert_cols.append(key)
|
||||||
|
|
|
@ -87,6 +87,7 @@ MAX_STREAM_SIZE = 1000
|
||||||
_STREAM_TOKEN = "stream"
|
_STREAM_TOKEN = "stream"
|
||||||
_TOPOLOGICAL_TOKEN = "topological"
|
_TOPOLOGICAL_TOKEN = "topological"
|
||||||
|
|
||||||
|
|
||||||
# Used as return values for pagination APIs
|
# Used as return values for pagination APIs
|
||||||
@attr.s(slots=True, frozen=True, auto_attribs=True)
|
@attr.s(slots=True, frozen=True, auto_attribs=True)
|
||||||
class _EventDictReturn:
|
class _EventDictReturn:
|
||||||
|
|
|
@ -573,7 +573,6 @@ class TransactionWorkerStore(CacheInvalidationWorkerStore):
|
||||||
def get_destination_rooms_paginate_txn(
|
def get_destination_rooms_paginate_txn(
|
||||||
txn: LoggingTransaction,
|
txn: LoggingTransaction,
|
||||||
) -> Tuple[List[JsonDict], int]:
|
) -> Tuple[List[JsonDict], int]:
|
||||||
|
|
||||||
if direction == Direction.BACKWARDS:
|
if direction == Direction.BACKWARDS:
|
||||||
order = "DESC"
|
order = "DESC"
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -98,7 +98,6 @@ class UserDirectoryBackgroundUpdateStore(StateDeltasStore):
|
||||||
async def _populate_user_directory_createtables(
|
async def _populate_user_directory_createtables(
|
||||||
self, progress: JsonDict, batch_size: int
|
self, progress: JsonDict, batch_size: int
|
||||||
) -> int:
|
) -> int:
|
||||||
|
|
||||||
# Get all the rooms that we want to process.
|
# Get all the rooms that we want to process.
|
||||||
def _make_staging_area(txn: LoggingTransaction) -> None:
|
def _make_staging_area(txn: LoggingTransaction) -> None:
|
||||||
sql = (
|
sql = (
|
||||||
|
|
|
@ -251,7 +251,6 @@ class StateGroupBackgroundUpdateStore(SQLBaseStore):
|
||||||
|
|
||||||
|
|
||||||
class StateBackgroundUpdateStore(StateGroupBackgroundUpdateStore):
|
class StateBackgroundUpdateStore(StateGroupBackgroundUpdateStore):
|
||||||
|
|
||||||
STATE_GROUP_DEDUPLICATION_UPDATE_NAME = "state_group_state_deduplication"
|
STATE_GROUP_DEDUPLICATION_UPDATE_NAME = "state_group_state_deduplication"
|
||||||
STATE_GROUP_INDEX_UPDATE_NAME = "state_group_state_type_index"
|
STATE_GROUP_INDEX_UPDATE_NAME = "state_group_state_type_index"
|
||||||
STATE_GROUPS_ROOM_INDEX_UPDATE_NAME = "state_groups_room_id_idx"
|
STATE_GROUPS_ROOM_INDEX_UPDATE_NAME = "state_groups_room_id_idx"
|
||||||
|
|
|
@ -257,14 +257,11 @@ class StateGroupDataStore(StateBackgroundUpdateStore, SQLBaseStore):
|
||||||
member_filter, non_member_filter = state_filter.get_member_split()
|
member_filter, non_member_filter = state_filter.get_member_split()
|
||||||
|
|
||||||
# Now we look them up in the member and non-member caches
|
# Now we look them up in the member and non-member caches
|
||||||
(
|
non_member_state, incomplete_groups_nm = self._get_state_for_groups_using_cache(
|
||||||
non_member_state,
|
|
||||||
incomplete_groups_nm,
|
|
||||||
) = self._get_state_for_groups_using_cache(
|
|
||||||
groups, self._state_group_cache, state_filter=non_member_filter
|
groups, self._state_group_cache, state_filter=non_member_filter
|
||||||
)
|
)
|
||||||
|
|
||||||
(member_state, incomplete_groups_m,) = self._get_state_for_groups_using_cache(
|
member_state, incomplete_groups_m = self._get_state_for_groups_using_cache(
|
||||||
groups, self._state_group_members_cache, state_filter=member_filter
|
groups, self._state_group_members_cache, state_filter=member_filter
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -563,7 +563,7 @@ def _apply_module_schemas(
|
||||||
"""
|
"""
|
||||||
# This is the old way for password_auth_provider modules to make changes
|
# This is the old way for password_auth_provider modules to make changes
|
||||||
# to the database. This should instead be done using the module API
|
# to the database. This should instead be done using the module API
|
||||||
for (mod, _config) in config.authproviders.password_providers:
|
for mod, _config in config.authproviders.password_providers:
|
||||||
if not hasattr(mod, "get_db_schema_files"):
|
if not hasattr(mod, "get_db_schema_files"):
|
||||||
continue
|
continue
|
||||||
modname = ".".join((mod.__module__, mod.__name__))
|
modname = ".".join((mod.__module__, mod.__name__))
|
||||||
|
@ -591,7 +591,7 @@ def _apply_module_schema_files(
|
||||||
(modname,),
|
(modname,),
|
||||||
)
|
)
|
||||||
applied_deltas = {d for d, in cur}
|
applied_deltas = {d for d, in cur}
|
||||||
for (name, stream) in names_and_streams:
|
for name, stream in names_and_streams:
|
||||||
if name in applied_deltas:
|
if name in applied_deltas:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ class StateFilter:
|
||||||
|
|
||||||
def to_types(self) -> Iterable[Tuple[str, Optional[str]]]:
|
def to_types(self) -> Iterable[Tuple[str, Optional[str]]]:
|
||||||
"""The inverse to `from_types`."""
|
"""The inverse to `from_types`."""
|
||||||
for (event_type, state_keys) in self.types.items():
|
for event_type, state_keys in self.types.items():
|
||||||
if state_keys is None:
|
if state_keys is None:
|
||||||
yield event_type, None
|
yield event_type, None
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -98,7 +98,6 @@ class EvictionReason(Enum):
|
||||||
|
|
||||||
@attr.s(slots=True, auto_attribs=True)
|
@attr.s(slots=True, auto_attribs=True)
|
||||||
class CacheMetric:
|
class CacheMetric:
|
||||||
|
|
||||||
_cache: Sized
|
_cache: Sized
|
||||||
_cache_type: str
|
_cache_type: str
|
||||||
_cache_name: str
|
_cache_name: str
|
||||||
|
|
|
@ -183,7 +183,7 @@ def check_requirements(extra: Optional[str] = None) -> None:
|
||||||
deps_unfulfilled = []
|
deps_unfulfilled = []
|
||||||
errors = []
|
errors = []
|
||||||
|
|
||||||
for (requirement, must_be_installed) in dependencies:
|
for requirement, must_be_installed in dependencies:
|
||||||
try:
|
try:
|
||||||
dist: metadata.Distribution = metadata.distribution(requirement.name)
|
dist: metadata.Distribution = metadata.distribution(requirement.name)
|
||||||
except metadata.PackageNotFoundError:
|
except metadata.PackageNotFoundError:
|
||||||
|
|
|
@ -211,7 +211,6 @@ def _check_yield_points(
|
||||||
result = Failure()
|
result = Failure()
|
||||||
|
|
||||||
if current_context() != expected_context:
|
if current_context() != expected_context:
|
||||||
|
|
||||||
# This happens because the context is lost sometime *after* the
|
# This happens because the context is lost sometime *after* the
|
||||||
# previous yield and *after* the current yield. E.g. the
|
# previous yield and *after* the current yield. E.g. the
|
||||||
# deferred we waited on didn't follow the rules, or we forgot to
|
# deferred we waited on didn't follow the rules, or we forgot to
|
||||||
|
|
|
@ -34,12 +34,10 @@ def make_test(main):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def _main(loops):
|
def _main(loops):
|
||||||
|
|
||||||
reactor = make_reactor()
|
reactor = make_reactor()
|
||||||
|
|
||||||
file_out = StringIO()
|
file_out = StringIO()
|
||||||
with redirect_stderr(file_out):
|
with redirect_stderr(file_out):
|
||||||
|
|
||||||
d = Deferred()
|
d = Deferred()
|
||||||
d.addCallback(lambda _: ensureDeferred(main(reactor, loops)))
|
d.addCallback(lambda _: ensureDeferred(main(reactor, loops)))
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,6 @@ from synapse.util import Clock
|
||||||
|
|
||||||
|
|
||||||
class LineCounter(LineOnlyReceiver):
|
class LineCounter(LineOnlyReceiver):
|
||||||
|
|
||||||
delimiter = b"\n"
|
delimiter = b"\n"
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|
|
@ -24,7 +24,6 @@ from tests.test_utils import make_awaitable
|
||||||
|
|
||||||
|
|
||||||
class RoomComplexityTests(unittest.FederatingHomeserverTestCase):
|
class RoomComplexityTests(unittest.FederatingHomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets,
|
admin.register_servlets,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
@ -37,7 +36,6 @@ class RoomComplexityTests(unittest.FederatingHomeserverTestCase):
|
||||||
return config
|
return config
|
||||||
|
|
||||||
def test_complexity_simple(self) -> None:
|
def test_complexity_simple(self) -> None:
|
||||||
|
|
||||||
u1 = self.register_user("u1", "pass")
|
u1 = self.register_user("u1", "pass")
|
||||||
u1_token = self.login("u1", "pass")
|
u1_token = self.login("u1", "pass")
|
||||||
|
|
||||||
|
@ -71,7 +69,6 @@ class RoomComplexityTests(unittest.FederatingHomeserverTestCase):
|
||||||
self.assertEqual(complexity, 1.23)
|
self.assertEqual(complexity, 1.23)
|
||||||
|
|
||||||
def test_join_too_large(self) -> None:
|
def test_join_too_large(self) -> None:
|
||||||
|
|
||||||
u1 = self.register_user("u1", "pass")
|
u1 = self.register_user("u1", "pass")
|
||||||
|
|
||||||
handler = self.hs.get_room_member_handler()
|
handler = self.hs.get_room_member_handler()
|
||||||
|
@ -131,7 +128,6 @@ class RoomComplexityTests(unittest.FederatingHomeserverTestCase):
|
||||||
self.assertEqual(f.value.errcode, Codes.RESOURCE_LIMIT_EXCEEDED)
|
self.assertEqual(f.value.errcode, Codes.RESOURCE_LIMIT_EXCEEDED)
|
||||||
|
|
||||||
def test_join_too_large_once_joined(self) -> None:
|
def test_join_too_large_once_joined(self) -> None:
|
||||||
|
|
||||||
u1 = self.register_user("u1", "pass")
|
u1 = self.register_user("u1", "pass")
|
||||||
u1_token = self.login("u1", "pass")
|
u1_token = self.login("u1", "pass")
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ from tests.unittest import override_config
|
||||||
|
|
||||||
|
|
||||||
class FederationServerTests(unittest.FederatingHomeserverTestCase):
|
class FederationServerTests(unittest.FederatingHomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets,
|
admin.register_servlets,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
|
|
@ -113,7 +113,6 @@ async def mock_get_file(
|
||||||
headers: Optional[RawHeaders] = None,
|
headers: Optional[RawHeaders] = None,
|
||||||
is_allowed_content_type: Optional[Callable[[str], bool]] = None,
|
is_allowed_content_type: Optional[Callable[[str], bool]] = None,
|
||||||
) -> Tuple[int, Dict[bytes, List[bytes]], str, int]:
|
) -> Tuple[int, Dict[bytes, List[bytes]], str, int]:
|
||||||
|
|
||||||
fake_response = FakeResponse(code=404)
|
fake_response = FakeResponse(code=404)
|
||||||
if url == "http://my.server/me.png":
|
if url == "http://my.server/me.png":
|
||||||
fake_response = FakeResponse(
|
fake_response = FakeResponse(
|
||||||
|
|
|
@ -31,7 +31,6 @@ EXPT_NUM_STATE_EVTS_IN_FRESH_PRIVATE_ROOM = 6
|
||||||
|
|
||||||
|
|
||||||
class StatsRoomTests(unittest.HomeserverTestCase):
|
class StatsRoomTests(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets_for_client_rest_resource,
|
admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
|
|
@ -46,7 +46,6 @@ class SrvResolverTestCase(unittest.TestCase):
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def do_lookup() -> Generator["Deferred[object]", object, List[Server]]:
|
def do_lookup() -> Generator["Deferred[object]", object, List[Server]]:
|
||||||
|
|
||||||
with LoggingContext("one") as ctx:
|
with LoggingContext("one") as ctx:
|
||||||
resolve_d = resolver.resolve_service(service_name)
|
resolve_d = resolver.resolve_service(service_name)
|
||||||
result: List[Server]
|
result: List[Server]
|
||||||
|
|
|
@ -149,7 +149,7 @@ class BlacklistingAgentTest(TestCase):
|
||||||
self.allowed_domain, self.allowed_ip = b"allowed.test", b"5.1.1.1"
|
self.allowed_domain, self.allowed_ip = b"allowed.test", b"5.1.1.1"
|
||||||
|
|
||||||
# Configure the reactor's DNS resolver.
|
# Configure the reactor's DNS resolver.
|
||||||
for (domain, ip) in (
|
for domain, ip in (
|
||||||
(self.safe_domain, self.safe_ip),
|
(self.safe_domain, self.safe_ip),
|
||||||
(self.unsafe_domain, self.unsafe_ip),
|
(self.unsafe_domain, self.unsafe_ip),
|
||||||
(self.allowed_domain, self.allowed_ip),
|
(self.allowed_domain, self.allowed_ip),
|
||||||
|
|
|
@ -33,7 +33,6 @@ from tests.unittest import HomeserverTestCase, override_config
|
||||||
|
|
||||||
|
|
||||||
class TestBulkPushRuleEvaluator(HomeserverTestCase):
|
class TestBulkPushRuleEvaluator(HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets_for_client_rest_resource,
|
admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
|
|
@ -39,7 +39,6 @@ class _User:
|
||||||
|
|
||||||
|
|
||||||
class EmailPusherTests(HomeserverTestCase):
|
class EmailPusherTests(HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
@ -48,7 +47,6 @@ class EmailPusherTests(HomeserverTestCase):
|
||||||
hijack_auth = False
|
hijack_auth = False
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
config = self.default_config()
|
config = self.default_config()
|
||||||
config["email"] = {
|
config["email"] = {
|
||||||
"enable_notifs": True,
|
"enable_notifs": True,
|
||||||
|
|
|
@ -64,7 +64,6 @@ def patch__eq__(cls: object) -> Callable[[], None]:
|
||||||
|
|
||||||
|
|
||||||
class EventsWorkerStoreTestCase(BaseSlavedStoreTestCase):
|
class EventsWorkerStoreTestCase(BaseSlavedStoreTestCase):
|
||||||
|
|
||||||
STORE_TYPE = EventsWorkerStore
|
STORE_TYPE = EventsWorkerStore
|
||||||
|
|
||||||
def setUp(self) -> None:
|
def setUp(self) -> None:
|
||||||
|
|
|
@ -28,7 +28,6 @@ from tests import unittest
|
||||||
|
|
||||||
|
|
||||||
class DeviceRestTestCase(unittest.HomeserverTestCase):
|
class DeviceRestTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -291,7 +290,6 @@ class DeviceRestTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class DevicesRestTestCase(unittest.HomeserverTestCase):
|
class DevicesRestTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -415,7 +413,6 @@ class DevicesRestTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class DeleteDevicesRestTestCase(unittest.HomeserverTestCase):
|
class DeleteDevicesRestTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
|
|
@ -34,7 +34,6 @@ INVALID_TIMESTAMP_IN_S = 1893456000 # 2030-01-01 in seconds
|
||||||
|
|
||||||
|
|
||||||
class DeleteMediaByIDTestCase(unittest.HomeserverTestCase):
|
class DeleteMediaByIDTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_media_repo,
|
synapse.rest.admin.register_servlets_for_media_repo,
|
||||||
|
@ -196,7 +195,6 @@ class DeleteMediaByIDTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class DeleteMediaByDateSizeTestCase(unittest.HomeserverTestCase):
|
class DeleteMediaByDateSizeTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_media_repo,
|
synapse.rest.admin.register_servlets_for_media_repo,
|
||||||
|
@ -594,7 +592,6 @@ class DeleteMediaByDateSizeTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class QuarantineMediaByIDTestCase(unittest.HomeserverTestCase):
|
class QuarantineMediaByIDTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_media_repo,
|
synapse.rest.admin.register_servlets_for_media_repo,
|
||||||
|
@ -724,7 +721,6 @@ class QuarantineMediaByIDTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class ProtectMediaByIDTestCase(unittest.HomeserverTestCase):
|
class ProtectMediaByIDTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_media_repo,
|
synapse.rest.admin.register_servlets_for_media_repo,
|
||||||
|
@ -821,7 +817,6 @@ class ProtectMediaByIDTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class PurgeMediaCacheTestCase(unittest.HomeserverTestCase):
|
class PurgeMediaCacheTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_media_repo,
|
synapse.rest.admin.register_servlets_for_media_repo,
|
||||||
|
|
|
@ -1990,7 +1990,6 @@ class RoomMessagesTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class JoinAliasRoomTestCase(unittest.HomeserverTestCase):
|
class JoinAliasRoomTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
|
|
@ -28,7 +28,6 @@ from tests.unittest import override_config
|
||||||
|
|
||||||
|
|
||||||
class ServerNoticeTestCase(unittest.HomeserverTestCase):
|
class ServerNoticeTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets,
|
synapse.rest.admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
|
|
@ -40,7 +40,6 @@ from tests.unittest import override_config
|
||||||
|
|
||||||
|
|
||||||
class PasswordResetTestCase(unittest.HomeserverTestCase):
|
class PasswordResetTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
account.register_servlets,
|
account.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
|
@ -408,7 +407,6 @@ class PasswordResetTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class DeactivateTestCase(unittest.HomeserverTestCase):
|
class DeactivateTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -492,7 +490,6 @@ class DeactivateTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class WhoamiTestCase(unittest.HomeserverTestCase):
|
class WhoamiTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -567,7 +564,6 @@ class WhoamiTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class ThreepidEmailRestTestCase(unittest.HomeserverTestCase):
|
class ThreepidEmailRestTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
account.register_servlets,
|
account.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
|
|
@ -52,7 +52,6 @@ class DummyRecaptchaChecker(UserInteractiveAuthChecker):
|
||||||
|
|
||||||
|
|
||||||
class FallbackAuthTests(unittest.HomeserverTestCase):
|
class FallbackAuthTests(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
auth.register_servlets,
|
auth.register_servlets,
|
||||||
register.register_servlets,
|
register.register_servlets,
|
||||||
|
@ -60,7 +59,6 @@ class FallbackAuthTests(unittest.HomeserverTestCase):
|
||||||
hijack_auth = False
|
hijack_auth = False
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
config = self.default_config()
|
config = self.default_config()
|
||||||
|
|
||||||
config["enable_registration_captcha"] = True
|
config["enable_registration_captcha"] = True
|
||||||
|
|
|
@ -26,7 +26,6 @@ from tests.unittest import override_config
|
||||||
|
|
||||||
|
|
||||||
class CapabilitiesTestCase(unittest.HomeserverTestCase):
|
class CapabilitiesTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
capabilities.register_servlets,
|
capabilities.register_servlets,
|
||||||
|
|
|
@ -38,7 +38,6 @@ class ConsentResourceTestCase(unittest.HomeserverTestCase):
|
||||||
hijack_auth = False
|
hijack_auth = False
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
config = self.default_config()
|
config = self.default_config()
|
||||||
config["form_secret"] = "123abc"
|
config["form_secret"] = "123abc"
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ from tests.unittest import override_config
|
||||||
|
|
||||||
|
|
||||||
class DirectoryTestCase(unittest.HomeserverTestCase):
|
class DirectoryTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets_for_client_rest_resource,
|
admin.register_servlets_for_client_rest_resource,
|
||||||
directory.register_servlets,
|
directory.register_servlets,
|
||||||
|
|
|
@ -26,7 +26,6 @@ from tests import unittest
|
||||||
|
|
||||||
|
|
||||||
class EphemeralMessageTestCase(unittest.HomeserverTestCase):
|
class EphemeralMessageTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
user_id = "@user:test"
|
user_id = "@user:test"
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
|
|
|
@ -38,7 +38,6 @@ class EventStreamPermissionsTestCase(unittest.HomeserverTestCase):
|
||||||
]
|
]
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
config = self.default_config()
|
config = self.default_config()
|
||||||
config["enable_registration_captcha"] = False
|
config["enable_registration_captcha"] = False
|
||||||
config["enable_registration"] = True
|
config["enable_registration"] = True
|
||||||
|
@ -51,7 +50,6 @@ class EventStreamPermissionsTestCase(unittest.HomeserverTestCase):
|
||||||
return hs
|
return hs
|
||||||
|
|
||||||
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
||||||
|
|
||||||
# register an account
|
# register an account
|
||||||
self.user_id = self.register_user("sid1", "pass")
|
self.user_id = self.register_user("sid1", "pass")
|
||||||
self.token = self.login(self.user_id, "pass")
|
self.token = self.login(self.user_id, "pass")
|
||||||
|
@ -142,7 +140,6 @@ class GetEventsTestCase(unittest.HomeserverTestCase):
|
||||||
]
|
]
|
||||||
|
|
||||||
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
||||||
|
|
||||||
# register an account
|
# register an account
|
||||||
self.user_id = self.register_user("sid1", "pass")
|
self.user_id = self.register_user("sid1", "pass")
|
||||||
self.token = self.login(self.user_id, "pass")
|
self.token = self.login(self.user_id, "pass")
|
||||||
|
|
|
@ -25,7 +25,6 @@ PATH_PREFIX = "/_matrix/client/v2_alpha"
|
||||||
|
|
||||||
|
|
||||||
class FilterTestCase(unittest.HomeserverTestCase):
|
class FilterTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
user_id = "@apple:test"
|
user_id = "@apple:test"
|
||||||
hijack_auth = True
|
hijack_auth = True
|
||||||
EXAMPLE_FILTER = {"room": {"timeline": {"types": ["m.room.message"]}}}
|
EXAMPLE_FILTER = {"room": {"timeline": {"types": ["m.room.message"]}}}
|
||||||
|
|
|
@ -89,7 +89,6 @@ ADDITIONAL_LOGIN_FLOWS = [
|
||||||
|
|
||||||
|
|
||||||
class LoginRestServletTestCase(unittest.HomeserverTestCase):
|
class LoginRestServletTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -737,7 +736,6 @@ class MultiSSOTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class CASTestCase(unittest.HomeserverTestCase):
|
class CASTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
]
|
]
|
||||||
|
|
|
@ -26,7 +26,6 @@ endpoint = "/_matrix/client/unstable/org.matrix.msc3882/login/token"
|
||||||
|
|
||||||
|
|
||||||
class LoginTokenRequestServletTestCase(unittest.HomeserverTestCase):
|
class LoginTokenRequestServletTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
admin.register_servlets,
|
admin.register_servlets,
|
||||||
|
|
|
@ -35,7 +35,6 @@ class PresenceTestCase(unittest.HomeserverTestCase):
|
||||||
servlets = [presence.register_servlets]
|
servlets = [presence.register_servlets]
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
self.presence_handler = Mock(spec=PresenceHandler)
|
self.presence_handler = Mock(spec=PresenceHandler)
|
||||||
self.presence_handler.set_state.return_value = make_awaitable(None)
|
self.presence_handler.set_state.return_value = make_awaitable(None)
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,6 @@ from tests import unittest
|
||||||
|
|
||||||
|
|
||||||
class ProfileTestCase(unittest.HomeserverTestCase):
|
class ProfileTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets_for_client_rest_resource,
|
admin.register_servlets_for_client_rest_resource,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -324,7 +323,6 @@ class ProfileTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class ProfilesRestrictedTestCase(unittest.HomeserverTestCase):
|
class ProfilesRestrictedTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets_for_client_rest_resource,
|
admin.register_servlets_for_client_rest_resource,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -404,7 +402,6 @@ class ProfilesRestrictedTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class OwnProfileUnrestrictedTestCase(unittest.HomeserverTestCase):
|
class OwnProfileUnrestrictedTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets_for_client_rest_resource,
|
admin.register_servlets_for_client_rest_resource,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
|
|
@ -40,7 +40,6 @@ from tests.unittest import override_config
|
||||||
|
|
||||||
|
|
||||||
class RegisterRestServletTestCase(unittest.HomeserverTestCase):
|
class RegisterRestServletTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
register.register_servlets,
|
register.register_servlets,
|
||||||
|
@ -797,7 +796,6 @@ class RegisterRestServletTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class AccountValidityTestCase(unittest.HomeserverTestCase):
|
class AccountValidityTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
register.register_servlets,
|
register.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
|
@ -913,7 +911,6 @@ class AccountValidityTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase):
|
class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
register.register_servlets,
|
register.register_servlets,
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
|
@ -1132,7 +1129,6 @@ class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class AccountValidityBackgroundJobTestCase(unittest.HomeserverTestCase):
|
class AccountValidityBackgroundJobTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [synapse.rest.admin.register_servlets_for_client_rest_resource]
|
servlets = [synapse.rest.admin.register_servlets_for_client_rest_resource]
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
|
@ -25,7 +25,6 @@ endpoint = "/_matrix/client/unstable/org.matrix.msc3886/rendezvous"
|
||||||
|
|
||||||
|
|
||||||
class RendezvousServletTestCase(unittest.HomeserverTestCase):
|
class RendezvousServletTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
rendezvous.register_servlets,
|
rendezvous.register_servlets,
|
||||||
]
|
]
|
||||||
|
|
|
@ -65,7 +65,6 @@ class RoomBase(unittest.HomeserverTestCase):
|
||||||
servlets = [room.register_servlets, room.register_deprecated_servlets]
|
servlets = [room.register_servlets, room.register_deprecated_servlets]
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
self.hs = self.setup_test_homeserver(
|
self.hs = self.setup_test_homeserver(
|
||||||
"red",
|
"red",
|
||||||
federation_http_client=None,
|
federation_http_client=None,
|
||||||
|
@ -92,7 +91,6 @@ class RoomPermissionsTestCase(RoomBase):
|
||||||
rmcreator_id = "@notme:red"
|
rmcreator_id = "@notme:red"
|
||||||
|
|
||||||
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
||||||
|
|
||||||
self.helper.auth_user_id = self.rmcreator_id
|
self.helper.auth_user_id = self.rmcreator_id
|
||||||
# create some rooms under the name rmcreator_id
|
# create some rooms under the name rmcreator_id
|
||||||
self.uncreated_rmid = "!aa:test"
|
self.uncreated_rmid = "!aa:test"
|
||||||
|
@ -1127,7 +1125,6 @@ class RoomInviteRatelimitTestCase(RoomBase):
|
||||||
|
|
||||||
|
|
||||||
class RoomJoinTestCase(RoomBase):
|
class RoomJoinTestCase(RoomBase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets,
|
admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -2102,7 +2099,6 @@ class RoomSearchTestCase(unittest.HomeserverTestCase):
|
||||||
hijack_auth = False
|
hijack_auth = False
|
||||||
|
|
||||||
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
|
||||||
|
|
||||||
# Register the user who does the searching
|
# Register the user who does the searching
|
||||||
self.user_id2 = self.register_user("user", "pass")
|
self.user_id2 = self.register_user("user", "pass")
|
||||||
self.access_token = self.login("user", "pass")
|
self.access_token = self.login("user", "pass")
|
||||||
|
@ -2195,7 +2191,6 @@ class RoomSearchTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class PublicRoomsRestrictedTestCase(unittest.HomeserverTestCase):
|
class PublicRoomsRestrictedTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
@ -2203,7 +2198,6 @@ class PublicRoomsRestrictedTestCase(unittest.HomeserverTestCase):
|
||||||
]
|
]
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
self.url = b"/_matrix/client/r0/publicRooms"
|
self.url = b"/_matrix/client/r0/publicRooms"
|
||||||
|
|
||||||
config = self.default_config()
|
config = self.default_config()
|
||||||
|
@ -2225,7 +2219,6 @@ class PublicRoomsRestrictedTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class PublicRoomsRoomTypeFilterTestCase(unittest.HomeserverTestCase):
|
class PublicRoomsRoomTypeFilterTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
@ -2233,7 +2226,6 @@ class PublicRoomsRoomTypeFilterTestCase(unittest.HomeserverTestCase):
|
||||||
]
|
]
|
||||||
|
|
||||||
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
|
||||||
|
|
||||||
config = self.default_config()
|
config = self.default_config()
|
||||||
config["allow_public_rooms_without_auth"] = True
|
config["allow_public_rooms_without_auth"] = True
|
||||||
self.hs = self.setup_test_homeserver(config=config)
|
self.hs = self.setup_test_homeserver(config=config)
|
||||||
|
@ -2414,7 +2406,6 @@ class PublicRoomsTestRemoteSearchFallbackTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class PerRoomProfilesForbiddenTestCase(unittest.HomeserverTestCase):
|
class PerRoomProfilesForbiddenTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
@ -2983,7 +2974,6 @@ class RelationsTestCase(PaginationTestCase):
|
||||||
|
|
||||||
|
|
||||||
class ContextTestCase(unittest.HomeserverTestCase):
|
class ContextTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
||||||
room.register_servlets,
|
room.register_servlets,
|
||||||
|
@ -3359,7 +3349,6 @@ class RoomCanonicalAliasTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
|
|
||||||
class ThreepidInviteTestCase(unittest.HomeserverTestCase):
|
class ThreepidInviteTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
admin.register_servlets,
|
admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
|
@ -3438,7 +3427,8 @@ class ThreepidInviteTestCase(unittest.HomeserverTestCase):
|
||||||
"""
|
"""
|
||||||
Test allowing/blocking threepid invites with a spam-check module.
|
Test allowing/blocking threepid invites with a spam-check module.
|
||||||
|
|
||||||
In this test, we use the more recent API in which callbacks return a `Union[Codes, Literal["NOT_SPAM"]]`."""
|
In this test, we use the more recent API in which callbacks return a `Union[Codes, Literal["NOT_SPAM"]]`.
|
||||||
|
"""
|
||||||
# Mock a few functions to prevent the test from failing due to failing to talk to
|
# Mock a few functions to prevent the test from failing due to failing to talk to
|
||||||
# a remote IS. We keep the mock for make_and_store_3pid_invite around so we
|
# a remote IS. We keep the mock for make_and_store_3pid_invite around so we
|
||||||
# can check its call_count later on during the test.
|
# can check its call_count later on during the test.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue