diff --git a/tests/app/test_homeserver_start.py b/tests/app/test_homeserver_start.py
index 788c935537..cd117b7394 100644
--- a/tests/app/test_homeserver_start.py
+++ b/tests/app/test_homeserver_start.py
@@ -25,6 +25,8 @@ class HomeserverAppStartTestCase(ConfigFileTestCase):
# Add a blank line as otherwise the next addition ends up on a line with a comment
self.add_lines_to_config([" "])
self.add_lines_to_config(["worker_app: test_worker_app"])
+ self.add_lines_to_config(["worker_replication_host: 127.0.0.1"])
+ self.add_lines_to_config(["worker_replication_http_port: 0"])
# Ensure that starting master process with worker config raises an exception
with self.assertRaises(ConfigError):
diff --git a/tests/app/test_openid_listener.py b/tests/app/test_openid_listener.py
index 6e0413400e..5a965f233b 100644
--- a/tests/app/test_openid_listener.py
+++ b/tests/app/test_openid_listener.py
@@ -42,6 +42,7 @@ class FederationReaderOpenIDListenerTests(HomeserverTestCase):
# have to tell the FederationHandler not to try to access stuff that is only
# in the primary store.
conf["worker_app"] = "yes"
+ conf["instance_map"] = {"main": {"host": "127.0.0.1", "port": 0}}
return conf
diff --git a/tests/config/test_workers.py b/tests/config/test_workers.py
index 49a6bdf408..086359fd71 100644
--- a/tests/config/test_workers.py
+++ b/tests/config/test_workers.py
@@ -17,7 +17,7 @@ from unittest.mock import Mock
from immutabledict import immutabledict
from synapse.config import ConfigError
-from synapse.config.workers import WorkerConfig
+from synapse.config.workers import InstanceLocationConfig, WorkerConfig
from tests.unittest import TestCase
@@ -94,6 +94,7 @@ class WorkerDutyConfigTestCase(TestCase):
# so that it doesn't raise an exception here.
# (This is not read by `_should_this_worker_perform_duty`.)
"notify_appservices": False,
+ "instance_map": {"main": {"host": "127.0.0.1", "port": 0}},
},
)
@@ -138,7 +139,9 @@ class WorkerDutyConfigTestCase(TestCase):
"""
main_process_config = self._make_worker_config(
- worker_app="synapse.app.homeserver", worker_name=None
+ worker_app="synapse.app.homeserver",
+ worker_name=None,
+ extras={"instance_map": {"main": {"host": "127.0.0.1", "port": 0}}},
)
self.assertTrue(
@@ -203,6 +206,7 @@ class WorkerDutyConfigTestCase(TestCase):
# so that it doesn't raise an exception here.
# (This is not read by `_should_this_worker_perform_duty`.)
"notify_appservices": False,
+ "instance_map": {"main": {"host": "127.0.0.1", "port": 0}},
},
)
@@ -236,7 +240,9 @@ class WorkerDutyConfigTestCase(TestCase):
Tests new config options. This is for the master's config.
"""
main_process_config = self._make_worker_config(
- worker_app="synapse.app.homeserver", worker_name=None
+ worker_app="synapse.app.homeserver",
+ worker_name=None,
+ extras={"instance_map": {"main": {"host": "127.0.0.1", "port": 0}}},
)
self.assertTrue(
@@ -262,7 +268,9 @@ class WorkerDutyConfigTestCase(TestCase):
Tests new config options. This is for the worker's config.
"""
appservice_worker_config = self._make_worker_config(
- worker_app="synapse.app.generic_worker", worker_name="worker1"
+ worker_app="synapse.app.generic_worker",
+ worker_name="worker1",
+ extras={"instance_map": {"main": {"host": "127.0.0.1", "port": 0}}},
)
self.assertTrue(
@@ -298,6 +306,7 @@ class WorkerDutyConfigTestCase(TestCase):
extras={
"notify_appservices_from_worker": "worker2",
"update_user_directory_from_worker": "worker1",
+ "instance_map": {"main": {"host": "127.0.0.1", "port": 0}},
},
)
self.assertFalse(worker1_config.should_notify_appservices)
@@ -309,7 +318,33 @@ class WorkerDutyConfigTestCase(TestCase):
extras={
"notify_appservices_from_worker": "worker2",
"update_user_directory_from_worker": "worker1",
+ "instance_map": {"main": {"host": "127.0.0.1", "port": 0}},
},
)
self.assertTrue(worker2_config.should_notify_appservices)
self.assertFalse(worker2_config.should_update_user_directory)
+
+ def test_worker_instance_map_compat(self) -> None:
+ """
+ Test that `worker_replication_*` settings are compatibly handled by
+ adding them to the instance map as a `main` entry.
+ """
+
+ worker1_config = self._make_worker_config(
+ worker_app="synapse.app.generic_worker",
+ worker_name="worker1",
+ extras={
+ "notify_appservices_from_worker": "worker2",
+ "update_user_directory_from_worker": "worker1",
+ "worker_replication_host": "127.0.0.42",
+ "worker_replication_http_port": 1979,
+ },
+ )
+ self.assertEqual(
+ worker1_config.instance_map,
+ {
+ "master": InstanceLocationConfig(
+ host="127.0.0.42", port=1979, tls=False
+ ),
+ },
+ )
diff --git a/tests/replication/test_federation_ack.py b/tests/replication/test_federation_ack.py
index 12668b34c5..cf59b1a204 100644
--- a/tests/replication/test_federation_ack.py
+++ b/tests/replication/test_federation_ack.py
@@ -32,6 +32,7 @@ class FederationAckTestCase(HomeserverTestCase):
config["worker_app"] = "synapse.app.generic_worker"
config["worker_name"] = "federation_sender1"
config["federation_sender_instances"] = ["federation_sender1"]
+ config["instance_map"] = {"main": {"host": "127.0.0.1", "port": 0}}
return config
def make_homeserver(self, reactor: MemoryReactor, clock: Clock) -> HomeServer:
diff --git a/tests/storage/test_rollback_worker.py b/tests/storage/test_rollback_worker.py
index 966aafea6f..6861d3a6c9 100644
--- a/tests/storage/test_rollback_worker.py
+++ b/tests/storage/test_rollback_worker.py
@@ -55,6 +55,7 @@ class WorkerSchemaTests(HomeserverTestCase):
# Mark this as a worker app.
conf["worker_app"] = "yes"
+ conf["instance_map"] = {"main": {"host": "127.0.0.1", "port": 0}}
return conf
|