mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-09 07:42:20 -04:00
Fix destination_is
errors seen in sentry. (#13041)
* Rename test_fedclient to match its source file * Require at least one destination to be truthy * Explicitly validate user ID in profile endpoint GETs Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
This commit is contained in:
parent
aef398457f
commit
c99b511db9
7 changed files with 59 additions and 8 deletions
|
@ -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""
|
||||
)
|
|
@ -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",
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue