summary refs log tree commit diff
path: root/tests/config/test_registration_config.py
diff options
context:
space:
mode:
authorShay <hillerys@element.io>2022-03-25 10:11:01 -0700
committerGitHub <noreply@github.com>2022-03-25 10:11:01 -0700
commit3c41d87b67d3a62edfc660b4fe8f2545f5dbee4f (patch)
treeb11ef0e94c7bbe343f976836a92ca9905c4f6016 /tests/config/test_registration_config.py
parentAdd cache for `get_membership_from_event_ids` (#12272) (diff)
downloadsynapse-3c41d87b67d3a62edfc660b4fe8f2545f5dbee4f.tar.xz
Add restrictions by default to open registration in Synapse (#12091)
Diffstat (limited to '')
-rw-r--r--tests/config/test_registration_config.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/tests/config/test_registration_config.py b/tests/config/test_registration_config.py
index 17a84d20d8..2acdb6ac61 100644
--- a/tests/config/test_registration_config.py
+++ b/tests/config/test_registration_config.py
@@ -11,14 +11,16 @@
 # 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 import ConfigError
 from synapse.config.homeserver import HomeServerConfig
 
-from tests.unittest import TestCase
+from tests.config.utils import ConfigFileTestCase
 from tests.utils import default_config
 
 
-class RegistrationConfigTestCase(TestCase):
+class RegistrationConfigTestCase(ConfigFileTestCase):
     def test_session_lifetime_must_not_be_exceeded_by_smaller_lifetimes(self):
         """
         session_lifetime should logically be larger than, or at least as large as,
@@ -76,3 +78,19 @@ class RegistrationConfigTestCase(TestCase):
         HomeServerConfig().parse_config_dict(
             {"session_lifetime": "31m", "refresh_token_lifetime": "31m", **config_dict}
         )
+
+    def test_refuse_to_start_if_open_registration_and_no_verification(self):
+        self.generate_config()
+        self.add_lines_to_config(
+            [
+                " ",
+                "enable_registration: true",
+                "registrations_require_3pid: []",
+                "enable_registration_captcha: false",
+                "registration_requires_token: false",
+            ]
+        )
+
+        # Test that allowing open registration without verification raises an error
+        with self.assertRaises(ConfigError):
+            synapse.app.homeserver.setup(["-c", self.config_file])