summary refs log tree commit diff
path: root/tests/http/test_fedclient.py
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2020-10-01 11:22:36 +0100
committerRichard van der Hoff <richard@matrix.org>2020-10-01 11:22:36 +0100
commitdb13a8607e94b2a31734fd964fd92292c5015057 (patch)
treea3e2e229550295a75958e12519bd4af002cf19ee /tests/http/test_fedclient.py
parentRevert federation-transaction-transmission backoff hacks (diff)
parentAdd prometheus metrics to track federation delays (#8430) (diff)
downloadsynapse-db13a8607e94b2a31734fd964fd92292c5015057.tar.xz
Merge remote-tracking branch 'origin/develop' into matrix-org-hotfixes
Diffstat (limited to 'tests/http/test_fedclient.py')
-rw-r--r--tests/http/test_fedclient.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/tests/http/test_fedclient.py b/tests/http/test_fedclient.py

index 5604af3795..212484a7fe 100644 --- a/tests/http/test_fedclient.py +++ b/tests/http/test_fedclient.py
@@ -318,14 +318,14 @@ class FederationClientTests(HomeserverTestCase): r = self.successResultOf(d) self.assertEqual(r.code, 200) - def test_client_headers_no_body(self): + @parameterized.expand(["get_json", "post_json", "delete_json", "put_json"]) + def test_timeout_reading_body(self, method_name: str): """ If the HTTP request is connected, but gets no response before being - timed out, it'll give a ResponseNeverReceived. + timed out, it'll give a RequestSendFailed with can_retry. """ - d = defer.ensureDeferred( - self.cl.post_json("testserv:8008", "foo/bar", timeout=10000) - ) + method = getattr(self.cl, method_name) + d = defer.ensureDeferred(method("testserv:8008", "foo/bar", timeout=10000)) self.pump() @@ -349,7 +349,9 @@ class FederationClientTests(HomeserverTestCase): self.reactor.advance(10.5) f = self.failureResultOf(d) - self.assertIsInstance(f.value, TimeoutError) + self.assertIsInstance(f.value, RequestSendFailed) + self.assertTrue(f.value.can_retry) + self.assertIsInstance(f.value.inner_exception, defer.TimeoutError) def test_client_requires_trailing_slashes(self): """