diff --git a/tests/http/test_fedclient.py b/tests/http/test_matrixfederationclient.py
index 006dbab093..be9eaf34e8 100644
--- a/tests/http/test_fedclient.py
+++ b/tests/http/test_matrixfederationclient.py
@@ -617,3 +617,17 @@ class FederationClientTests(HomeserverTestCase):
self.assertIsInstance(f.value, RequestSendFailed)
self.assertTrue(transport.disconnecting)
+
+ def test_build_auth_headers_rejects_falsey_destinations(self) -> None:
+ with self.assertRaises(ValueError):
+ self.cl.build_auth_headers(None, b"GET", b"https://example.com")
+ with self.assertRaises(ValueError):
+ self.cl.build_auth_headers(b"", b"GET", b"https://example.com")
+ with self.assertRaises(ValueError):
+ self.cl.build_auth_headers(
+ None, b"GET", b"https://example.com", destination_is=b""
+ )
+ with self.assertRaises(ValueError):
+ self.cl.build_auth_headers(
+ b"", b"GET", b"https://example.com", destination_is=b""
+ )
diff --git a/tests/rest/client/test_profile.py b/tests/rest/client/test_profile.py
index 77c3ced42e..29bed0e872 100644
--- a/tests/rest/client/test_profile.py
+++ b/tests/rest/client/test_profile.py
@@ -13,6 +13,8 @@
# limitations under the License.
"""Tests REST events for /profile paths."""
+import urllib.parse
+from http import HTTPStatus
from typing import Any, Dict, Optional
from twisted.test.proto_helpers import MemoryReactor
@@ -49,6 +51,12 @@ class ProfileTestCase(unittest.HomeserverTestCase):
res = self._get_displayname()
self.assertEqual(res, "owner")
+ def test_get_displayname_rejects_bad_username(self) -> None:
+ channel = self.make_request(
+ "GET", f"/profile/{urllib.parse.quote('@alice:')}/displayname"
+ )
+ self.assertEqual(channel.code, HTTPStatus.BAD_REQUEST, channel.result)
+
def test_set_displayname(self) -> None:
channel = self.make_request(
"PUT",
diff --git a/tests/test_types.py b/tests/test_types.py
index 0b10dae848..d8d82a517e 100644
--- a/tests/test_types.py
+++ b/tests/test_types.py
@@ -26,10 +26,21 @@ class UserIDTestCase(unittest.HomeserverTestCase):
self.assertEqual("test", user.domain)
self.assertEqual(True, self.hs.is_mine(user))
- def test_pase_empty(self):
+ def test_parse_rejects_empty_id(self):
with self.assertRaises(SynapseError):
UserID.from_string("")
+ def test_parse_rejects_missing_sigil(self):
+ with self.assertRaises(SynapseError):
+ UserID.from_string("alice:example.com")
+
+ def test_parse_rejects_missing_separator(self):
+ with self.assertRaises(SynapseError):
+ UserID.from_string("@alice.example.com")
+
+ def test_validation_rejects_missing_domain(self):
+ self.assertFalse(UserID.is_valid("@alice:"))
+
def test_build(self):
user = UserID("5678efgh", "my.domain")
|