Bladeren bron

special case server_notices_mxid

Neil Johnson 5 jaren geleden
bovenliggende
commit
ba1fbf7d5b
2 gewijzigde bestanden met toevoegingen van 9 en 1 verwijderingen
  1. 1 1
      synapse/server_notices/resource_limits_server_notices.py
  2. 8 0
      tests/api/test_auth.py

+ 1 - 1
synapse/server_notices/resource_limits_server_notices.py

@@ -173,7 +173,7 @@ class ResourceLimitsServerNotices(object):
             referenced_events = pinned_state_event.content.get('pinned')
 
         events = yield self._store.get_events(referenced_events)
-        for event_id, event in events.iteritems():
+        for event_id, event in iteritems(events):
             if event.type == EventTypes.ServerNoticeLimitReached:
                 currently_blocked = True
                 # remove event in case we need to disable blocking later on.

+ 8 - 0
tests/api/test_auth.py

@@ -476,3 +476,11 @@ class AuthTestCase(unittest.TestCase):
         self.assertEquals(e.exception.admin_uri, self.hs.config.admin_uri)
         self.assertEquals(e.exception.errcode, Codes.RESOURCE_LIMIT_EXCEED)
         self.assertEquals(e.exception.code, 403)
+
+    @defer.inlineCallbacks
+    def test_server_notices_mxid_special_cased(self):
+        self.hs.config.hs_disabled = True
+        user = "@user:server"
+        self.hs.config.server_notices_mxid = user
+        self.hs.config.hs_disabled_message = "Reason for being disabled"
+        yield self.auth.check_auth_blocking(user)