mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-06 12:14:12 -04:00
Fix the exception that is raised when invalid JSON is encountered. (#8291)
This commit is contained in:
parent
192e98111d
commit
b86764662b
6 changed files with 167 additions and 2 deletions
|
@ -15,6 +15,8 @@
|
|||
# limitations under the License.
|
||||
import logging
|
||||
|
||||
from parameterized import parameterized
|
||||
|
||||
from synapse.events import make_event_from_dict
|
||||
from synapse.federation.federation_server import server_matches_acl_event
|
||||
from synapse.rest import admin
|
||||
|
@ -23,6 +25,37 @@ from synapse.rest.client.v1 import login, room
|
|||
from tests import unittest
|
||||
|
||||
|
||||
class FederationServerTests(unittest.FederatingHomeserverTestCase):
|
||||
|
||||
servlets = [
|
||||
admin.register_servlets,
|
||||
room.register_servlets,
|
||||
login.register_servlets,
|
||||
]
|
||||
|
||||
@parameterized.expand([(b"",), (b"foo",), (b'{"limit": Infinity}',)])
|
||||
def test_bad_request(self, query_content):
|
||||
"""
|
||||
Querying with bad data returns a reasonable error code.
|
||||
"""
|
||||
u1 = self.register_user("u1", "pass")
|
||||
u1_token = self.login("u1", "pass")
|
||||
|
||||
room_1 = self.helper.create_room_as(u1, tok=u1_token)
|
||||
self.inject_room_member(room_1, "@user:other.example.com", "join")
|
||||
|
||||
"/get_missing_events/(?P<room_id>[^/]*)/?"
|
||||
|
||||
request, channel = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/federation/v1/get_missing_events/%s" % (room_1,),
|
||||
query_content,
|
||||
)
|
||||
self.render(request)
|
||||
self.assertEquals(400, channel.code, channel.result)
|
||||
self.assertEqual(channel.json_body["errcode"], "M_NOT_JSON")
|
||||
|
||||
|
||||
class ServerACLsTestCase(unittest.TestCase):
|
||||
def test_blacklisted_server(self):
|
||||
e = _create_acl_event({"allow": ["*"], "deny": ["evil.com"]})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue