diff --git a/tests/unittest.py b/tests/unittest.py
index fac254ff10..27403de908 100644
--- a/tests/unittest.py
+++ b/tests/unittest.py
@@ -262,6 +262,7 @@ class HomeserverTestCase(TestCase):
access_token=None,
request=SynapseRequest,
shorthand=True,
+ federation_auth_origin=None,
):
"""
Create a SynapseRequest at the path using the method and containing the
@@ -275,15 +276,18 @@ class HomeserverTestCase(TestCase):
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 isinstance(content, dict):
content = json.dumps(content).encode('utf8')
return make_request(
- self.reactor, method, path, content, access_token, request, shorthand
+ self.reactor, method, path, content, access_token, request, shorthand,
+ federation_auth_origin,
)
def render(self, request):
@@ -310,6 +314,9 @@ class HomeserverTestCase(TestCase):
"""
kwargs = dict(kwargs)
kwargs.update(self._hs_args)
+ if "config" not in kwargs:
+ config = self.default_config()
+ kwargs["config"] = config
hs = setup_test_homeserver(self.addCleanup, *args, **kwargs)
stor = hs.get_datastore()
@@ -326,12 +333,21 @@ class HomeserverTestCase(TestCase):
"""
self.reactor.pump([by] * 100)
- def get_success(self, d):
+ def get_success(self, d, by=0.0):
if not isinstance(d, Deferred):
return d
- self.pump()
+ self.pump(by=by)
return self.successResultOf(d)
+ def get_failure(self, d, exc):
+ """
+ Run a Deferred and get a Failure from it. The failure must be of the type `exc`.
+ """
+ if not isinstance(d, Deferred):
+ return d
+ self.pump()
+ return self.failureResultOf(d, exc)
+
def register_user(self, username, password, admin=False):
"""
Register a user. Requires the Admin API be registered.
|