From b95486db7a3511cec4f97db9f013328252d59bb3 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Fri, 10 Apr 2026 17:10:28 +0100 Subject: [PATCH] Reinstate pumps needed by Postgres tests --- tests/http/test_matrixfederationclient.py | 12 ++++++ tests/replication/test_multi_media_repo.py | 48 ++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/tests/http/test_matrixfederationclient.py b/tests/http/test_matrixfederationclient.py index 4d083c30ed..feab304f9a 100644 --- a/tests/http/test_matrixfederationclient.py +++ b/tests/http/test_matrixfederationclient.py @@ -847,6 +847,9 @@ class FederationClientProxyTests(BaseMultiWorkerStreamTestCase): self.hs.get_federation_http_client().get_json("remoteserv:8008", "foo/bar") ) + # Needed under Postgres + self.pump() + # Make sure that the request was proxied through the `federation_sender` worker mock_agent_on_federation_sender.request.assert_called_once_with( b"GET", @@ -896,6 +899,9 @@ class FederationClientProxyTests(BaseMultiWorkerStreamTestCase): self.hs.get_federation_http_client().get_json("remoteserv:8008", "foo/bar") ) + # Needed under Postgres + self.pump(0.1) + # Make sure that the request was proxied through the `federation_sender` worker mock_agent_on_federation_sender.request.assert_called_with( b"GET", @@ -970,6 +976,9 @@ class FederationClientProxyTests(BaseMultiWorkerStreamTestCase): ) ) + # Needed under Postgres + self.pump() + # Make sure that the request was proxied through the `federation_sender` worker mock_agent_on_federation_sender.request.assert_called_once_with( b"GET", @@ -1061,6 +1070,9 @@ class FederationClientProxyTests(BaseMultiWorkerStreamTestCase): self.hs.get_federation_http_client().get_json("remoteserv:8008", "foo/bar") ) + # Needed under Postgres + self.pump(0.1) + # Make sure that the request was *NOT* proxied through the `federation_sender` # worker mock_agent_on_federation_sender.request.assert_not_called() diff --git a/tests/replication/test_multi_media_repo.py b/tests/replication/test_multi_media_repo.py index 059a08c3f2..cc2850dc14 100644 --- a/tests/replication/test_multi_media_repo.py +++ b/tests/replication/test_multi_media_repo.py @@ -98,6 +98,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): await_result=False, ) + # Needed under Postgres + self.pump() + clients = self.reactor.tcpClients self.assertGreaterEqual(len(clients), 1) (host, port, client_factory, _timeout, _bindAddress) = clients.pop() @@ -160,6 +163,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request.write(b"Hello!") request.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel.code, 200) self.assertEqual(channel.result["body"], b"Hello!") @@ -184,6 +190,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request1.write(b"Hello!") request1.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel1.code, 200, channel1.result["body"]) self.assertEqual(channel1.result["body"], b"Hello!") @@ -193,6 +202,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request2.write(b"Hello!") request2.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel2.code, 200, channel2.result["body"]) self.assertEqual(channel2.result["body"], b"Hello!") @@ -226,6 +238,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request1.write(b"Hello!") request1.finish() + # Needed under Postgres + self.pump(0.1) + # With local storage disabled and no storage providers, # we expect a 404 error self.assertEqual(channel1.code, 404, channel1.result["body"]) @@ -236,6 +251,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request2.write(b"Hello!") request2.finish() + # Needed under Postgres + self.pump(0.1) + # Same for the second request self.assertEqual(channel2.code, 404, channel2.result["body"]) @@ -262,6 +280,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request1.write(SMALL_PNG) request1.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel1.code, 200, channel1.result["body"]) self.assertEqual(channel1.result["body"], SMALL_PNG) @@ -270,6 +291,9 @@ class MediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request2.write(SMALL_PNG) request2.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel2.code, 200, channel2.result["body"]) self.assertEqual(channel2.result["body"], SMALL_PNG) @@ -345,6 +369,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): await_result=False, ) + # Needed under Postgres + self.pump() + clients = self.reactor.tcpClients self.assertGreaterEqual(len(clients), 1) (host, port, client_factory, _timeout, _bindAddress) = clients.pop() @@ -409,6 +436,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request.write(self.file_data) request.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel.code, 200) self.assertEqual(channel.result["body"], b"file_to_stream") @@ -435,6 +465,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request1.write(self.file_data) request1.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel1.code, 200, channel1.result["body"]) self.assertEqual(channel1.result["body"], b"file_to_stream") @@ -447,6 +480,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request2.write(self.file_data) request2.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel2.code, 200, channel2.result["body"]) self.assertEqual(channel2.result["body"], b"file_to_stream") @@ -479,6 +515,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request1.write(self.file_data) request1.finish() + # Needed under Postgres + self.pump(0.1) + # With local storage disabled and no storage providers, # we expect a 404 error self.assertEqual(channel1.code, 404, channel1.result["body"]) @@ -492,6 +531,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request2.write(self.file_data) request2.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel2.code, 404, channel2.result["body"]) # With local storage disabled, no files should be stored locally @@ -522,6 +564,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request1.write(b"\r\n--6067d4698f8d40a0a794ea7d7379d53a--\r\n\r\n") request1.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel1.code, 200, channel1.result["body"]) self.assertEqual(channel1.result["body"], SMALL_PNG) @@ -535,6 +580,9 @@ class AuthenticatedMediaRepoShardTestCase(BaseMultiWorkerStreamTestCase): request2.write(b"\r\n--6067d4698f8d40a0a794ea7d7379d53a--\r\n\r\n") request2.finish() + # Needed under Postgres + self.pump(0.1) + self.assertEqual(channel2.code, 200, channel2.result["body"]) self.assertEqual(channel2.result["body"], SMALL_PNG)