|
|
|
@ -27,17 +27,19 @@ logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FederationSenderTestCase(BaseMultiWorkerStreamTestCase): |
|
|
|
|
""" |
|
|
|
|
Various tests for federation sending on workers. |
|
|
|
|
|
|
|
|
|
Federation sending is disabled by default, it will be enabled in each test by |
|
|
|
|
updating 'federation_sender_instances'. |
|
|
|
|
""" |
|
|
|
|
|
|
|
|
|
servlets = [ |
|
|
|
|
login.register_servlets, |
|
|
|
|
register_servlets_for_client_rest_resource, |
|
|
|
|
room.register_servlets, |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
def default_config(self): |
|
|
|
|
conf = super().default_config() |
|
|
|
|
conf["send_federation"] = False |
|
|
|
|
return conf |
|
|
|
|
|
|
|
|
|
def test_send_event_single_sender(self): |
|
|
|
|
"""Test that using a single federation sender worker correctly sends a |
|
|
|
|
new event. |
|
|
|
@ -46,8 +48,11 @@ class FederationSenderTestCase(BaseMultiWorkerStreamTestCase): |
|
|
|
|
mock_client.put_json.return_value = make_awaitable({}) |
|
|
|
|
|
|
|
|
|
self.make_worker_hs( |
|
|
|
|
"synapse.app.federation_sender", |
|
|
|
|
{"send_federation": False}, |
|
|
|
|
"synapse.app.generic_worker", |
|
|
|
|
{ |
|
|
|
|
"worker_name": "federation_sender1", |
|
|
|
|
"federation_sender_instances": ["federation_sender1"], |
|
|
|
|
}, |
|
|
|
|
federation_http_client=mock_client, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
@ -73,11 +78,13 @@ class FederationSenderTestCase(BaseMultiWorkerStreamTestCase): |
|
|
|
|
mock_client1 = Mock(spec=["put_json"]) |
|
|
|
|
mock_client1.put_json.return_value = make_awaitable({}) |
|
|
|
|
self.make_worker_hs( |
|
|
|
|
"synapse.app.federation_sender", |
|
|
|
|
"synapse.app.generic_worker", |
|
|
|
|
{ |
|
|
|
|
"send_federation": True, |
|
|
|
|
"worker_name": "sender1", |
|
|
|
|
"federation_sender_instances": ["sender1", "sender2"], |
|
|
|
|
"worker_name": "federation_sender1", |
|
|
|
|
"federation_sender_instances": [ |
|
|
|
|
"federation_sender1", |
|
|
|
|
"federation_sender2", |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
federation_http_client=mock_client1, |
|
|
|
|
) |
|
|
|
@ -85,11 +92,13 @@ class FederationSenderTestCase(BaseMultiWorkerStreamTestCase): |
|
|
|
|
mock_client2 = Mock(spec=["put_json"]) |
|
|
|
|
mock_client2.put_json.return_value = make_awaitable({}) |
|
|
|
|
self.make_worker_hs( |
|
|
|
|
"synapse.app.federation_sender", |
|
|
|
|
"synapse.app.generic_worker", |
|
|
|
|
{ |
|
|
|
|
"send_federation": True, |
|
|
|
|
"worker_name": "sender2", |
|
|
|
|
"federation_sender_instances": ["sender1", "sender2"], |
|
|
|
|
"worker_name": "federation_sender2", |
|
|
|
|
"federation_sender_instances": [ |
|
|
|
|
"federation_sender1", |
|
|
|
|
"federation_sender2", |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
federation_http_client=mock_client2, |
|
|
|
|
) |
|
|
|
@ -136,11 +145,13 @@ class FederationSenderTestCase(BaseMultiWorkerStreamTestCase): |
|
|
|
|
mock_client1 = Mock(spec=["put_json"]) |
|
|
|
|
mock_client1.put_json.return_value = make_awaitable({}) |
|
|
|
|
self.make_worker_hs( |
|
|
|
|
"synapse.app.federation_sender", |
|
|
|
|
"synapse.app.generic_worker", |
|
|
|
|
{ |
|
|
|
|
"send_federation": True, |
|
|
|
|
"worker_name": "sender1", |
|
|
|
|
"federation_sender_instances": ["sender1", "sender2"], |
|
|
|
|
"worker_name": "federation_sender1", |
|
|
|
|
"federation_sender_instances": [ |
|
|
|
|
"federation_sender1", |
|
|
|
|
"federation_sender2", |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
federation_http_client=mock_client1, |
|
|
|
|
) |
|
|
|
@ -148,11 +159,13 @@ class FederationSenderTestCase(BaseMultiWorkerStreamTestCase): |
|
|
|
|
mock_client2 = Mock(spec=["put_json"]) |
|
|
|
|
mock_client2.put_json.return_value = make_awaitable({}) |
|
|
|
|
self.make_worker_hs( |
|
|
|
|
"synapse.app.federation_sender", |
|
|
|
|
"synapse.app.generic_worker", |
|
|
|
|
{ |
|
|
|
|
"send_federation": True, |
|
|
|
|
"worker_name": "sender2", |
|
|
|
|
"federation_sender_instances": ["sender1", "sender2"], |
|
|
|
|
"worker_name": "federation_sender2", |
|
|
|
|
"federation_sender_instances": [ |
|
|
|
|
"federation_sender1", |
|
|
|
|
"federation_sender2", |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
federation_http_client=mock_client2, |
|
|
|
|
) |
|
|
|
|