summary refs log tree commit diff
path: root/tests/api
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2019-03-19 11:04:12 +0000
committerRichard van der Hoff <richard@matrix.org>2019-03-19 11:30:54 +0000
commit0dbfae03f96ae14672bbdc5cf5c3aecd93636803 (patch)
treea5ed2778f54aa2da8c698bc5612402c0fdb356f9 /tests/api
parentComment out most options in the generated config. (#4863) (diff)
downloadsynapse-0dbfae03f96ae14672bbdc5cf5c3aecd93636803.tar.xz
Enforce hs_disabled_message correctly
Fixes a bug where hs_disabled_message was not enforced for 3pid-based requests
if there was no server_notices_mxid configured.
Diffstat (limited to 'tests/api')
-rw-r--r--tests/api/test_auth.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/api/test_auth.py b/tests/api/test_auth.py
index d77f20e876..d0d36f96fa 100644
--- a/tests/api/test_auth.py
+++ b/tests/api/test_auth.py
@@ -345,6 +345,23 @@ class AuthTestCase(unittest.TestCase):
         self.assertEquals(e.exception.code, 403)
 
     @defer.inlineCallbacks
+    def test_hs_disabled_no_server_notices_user(self):
+        """Check that 'hs_disabled_message' works correctly when there is no
+        server_notices user.
+        """
+        # this should be the default, but we had a bug where the test was doing the wrong
+        # thing, so let's make it explicit
+        self.hs.config.server_notices_mxid = None
+
+        self.hs.config.hs_disabled = True
+        self.hs.config.hs_disabled_message = "Reason for being disabled"
+        with self.assertRaises(ResourceLimitError) as e:
+            yield self.auth.check_auth_blocking()
+        self.assertEquals(e.exception.admin_contact, self.hs.config.admin_contact)
+        self.assertEquals(e.exception.errcode, Codes.RESOURCE_LIMIT_EXCEEDED)
+        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"