diff options
-rw-r--r-- | synapse/handlers/message.py | 13 | ||||
-rw-r--r-- | tests/handlers/test_register.py | 6 |
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" |