diff options
author | Shay <hillerys@element.io> | 2021-11-30 10:12:18 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 10:12:18 -0800 |
commit | 70cbb1a5e311f609b624e3fae1a1712db639c51e (patch) | |
tree | 4739879593a329054d0df2b02464d6d7e534440e /tests | |
parent | Expose worker & homeserver as entrypoints in `setup.py` (#11449) (diff) | |
download | synapse-70cbb1a5e311f609b624e3fae1a1712db639c51e.tar.xz |
Don't start Synapse master process if `worker_app` is set (#11416)
* Add check to catch syanpse master process starting when workers are configured * add test to verify that starting master process with worker config raises error * newsfragment * specify config.worker.worker_app in check * update test * report specific config option that triggered the error Co-authored-by: reivilibre <oliverw@matrix.org> * clarify error message Co-authored-by: reivilibre <oliverw@matrix.org> Co-authored-by: reivilibre <oliverw@matrix.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/app/test_homeserver_start.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/app/test_homeserver_start.py b/tests/app/test_homeserver_start.py new file mode 100644 index 0000000000..cbcada0451 --- /dev/null +++ b/tests/app/test_homeserver_start.py @@ -0,0 +1,31 @@ +# Copyright 2021 The Matrix.org Foundation C.I.C. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import synapse.app.homeserver +from synapse.config._base import ConfigError + +from tests.config.utils import ConfigFileTestCase + + +class HomeserverAppStartTestCase(ConfigFileTestCase): + def test_wrong_start_caught(self): + # Generate a config with a worker_app + self.generate_config() + # 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"]) + + # Ensure that starting master process with worker config raises an exception + with self.assertRaises(ConfigError): + synapse.app.homeserver.setup(["-c", self.config_file]) |