summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2019-03-18 18:30:07 +0000
committerRichard van der Hoff <richard@matrix.org>2019-03-18 18:30:07 +0000
commit0a5382062c0121980204eedcaf7c53298675afa4 (patch)
treeed0b3d9382a5fa7b5b316dbc2101012d4de0678a
parentAdd ratelimiting on login (#4821) (diff)
downloadsynapse-0a5382062c0121980204eedcaf7c53298675afa4.tar.xz
broken registration test, for neil to look at
-rw-r--r--synapse/handlers/message.py13
-rw-r--r--tests/handlers/test_register.py6
2 files changed, 16 insertions, 3 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index c762b58902..55787563c0 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -243,7 +243,14 @@ class EventCreationHandler(object):
 
         self.spam_checker = hs.get_spam_checker()
 
-        if self.config.block_events_without_consent_error is not None:
+        self._block_events_without_consent_error = (
+            self.config.block_events_without_consent_error
+        )
+
+        # we need to construct a ConsentURIBuilder here, as it checks that the necessary
+        # config options, but *only* if we have a configuration for which we are
+        # going to need it.
+        if self._block_events_without_consent_error:
             self._consent_uri_builder = ConsentURIBuilder(self.config)
 
     @defer.inlineCallbacks
@@ -378,7 +385,7 @@ class EventCreationHandler(object):
         Raises:
             ConsentNotGivenError: if the user has not given consent yet
         """
-        if self.config.block_events_without_consent_error is None:
+        if self._block_events_without_consent_error is None:
             return
 
         # exempt AS users from needing consent
@@ -405,7 +412,7 @@ class EventCreationHandler(object):
         consent_uri = self._consent_uri_builder.build_user_consent_uri(
             requester.user.localpart,
         )
-        msg = self.config.block_events_without_consent_error % {
+        msg = self._block_events_without_consent_error % {
             'consent_uri': consent_uri,
         }
         raise ConsentNotGivenError(
diff --git a/tests/handlers/test_register.py b/tests/handlers/test_register.py
index c9c1506273..ef6ad127fc 100644
--- a/tests/handlers/test_register.py
+++ b/tests/handlers/test_register.py
@@ -187,6 +187,12 @@ class RegistrationTestCase(unittest.TestCase):
 
     @defer.inlineCallbacks
     def test_auto_create_auto_join_where_no_consent(self):
+        """XXX what is this trying to test? I *think* it is trying to test
+        that we are not auto-joined to the server notices room if
+        block_events_without_consent_error is set, but (a) that doesn't seem to be
+        a sensible thing to test for, and (b) it doesn't work anyway because you can't
+        change the config after the EventCreationHandler has been instantiated.
+        """
         self.hs.config.user_consent_at_registration = True
         self.hs.config.block_events_without_consent_error = "Error"
         room_alias_str = "#room:test"