diff --git a/tests/server.py b/tests/server.py
index fc1e76d146..ea26dea623 100644
--- a/tests/server.py
+++ b/tests/server.py
@@ -119,14 +119,7 @@ class FakeSite:
server_version_string = b"1"
site_tag = "test"
-
- @property
- def access_logger(self):
- class FakeLogger:
- def info(self, *args, **kwargs):
- pass
-
- return FakeLogger()
+ access_logger = logging.getLogger("synapse.access.http.fake")
def make_request(
@@ -137,6 +130,7 @@ def make_request(
access_token=None,
request=SynapseRequest,
shorthand=True,
+ federation_auth_origin=None,
):
"""
Make a web request using the given method and path, feed it the
@@ -150,9 +144,11 @@ def make_request(
a dict.
shorthand: Whether to try and be helpful and prefix the given URL
with the usual REST API path, if it doesn't contain it.
+ federation_auth_origin (bytes|None): if set to not-None, we will add a fake
+ Authorization header pretenting to be the given server name.
Returns:
- A synapse.http.site.SynapseRequest.
+ Tuple[synapse.http.site.SynapseRequest, channel]
"""
if not isinstance(method, bytes):
method = method.encode('ascii')
@@ -184,6 +180,11 @@ def make_request(
b"Authorization", b"Bearer " + access_token.encode('ascii')
)
+ if federation_auth_origin is not None:
+ req.requestHeaders.addRawHeader(
+ b"Authorization", b"X-Matrix origin=%s,key=,sig=" % (federation_auth_origin,)
+ )
+
if content:
req.requestHeaders.addRawHeader(b"Content-Type", b"application/json")
@@ -288,9 +289,6 @@ def setup_test_homeserver(cleanup_func, *args, **kwargs):
**kwargs
)
- pool.runWithConnection = runWithConnection
- pool.runInteraction = runInteraction
-
class ThreadPool:
"""
Threadless thread pool.
@@ -316,8 +314,12 @@ def setup_test_homeserver(cleanup_func, *args, **kwargs):
return d
clock.threadpool = ThreadPool()
- pool.threadpool = ThreadPool()
- pool.running = True
+
+ if pool:
+ pool.runWithConnection = runWithConnection
+ pool.runInteraction = runInteraction
+ pool.threadpool = ThreadPool()
+ pool.running = True
return d
|