mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
Add tests
This commit is contained in:
parent
3ecec5ede2
commit
5c6f61f81c
@ -20,7 +20,7 @@ import json
|
||||
from mock import Mock
|
||||
|
||||
from synapse.api.constants import UserTypes
|
||||
from synapse.rest.client.v1 import admin, login
|
||||
from synapse.rest.client.v1 import admin, login, room
|
||||
|
||||
from tests import unittest
|
||||
|
||||
@ -353,3 +353,68 @@ class UserRegisterTestCase(unittest.HomeserverTestCase):
|
||||
|
||||
self.assertEqual(400, int(channel.result["code"]), msg=channel.result["body"])
|
||||
self.assertEqual('Invalid user type', channel.json_body["error"])
|
||||
|
||||
|
||||
class ShutdownRoomTestCase(unittest.HomeserverTestCase):
|
||||
servlets = [
|
||||
admin.register_servlets,
|
||||
login.register_servlets,
|
||||
room.register_servlets,
|
||||
]
|
||||
|
||||
def prepare(self, reactor, clock, hs):
|
||||
self.event_creation_handler = hs.get_event_creation_handler()
|
||||
hs.config.user_consent_version = "1"
|
||||
|
||||
self._consent_uri_builder = Mock()
|
||||
self._consent_uri_builder.build_user_consent_uri.return_value = (
|
||||
"http://example.com"
|
||||
)
|
||||
|
||||
self.store = hs.get_datastore()
|
||||
|
||||
@unittest.DEBUG
|
||||
def test_shutdown_room_conset(self):
|
||||
admin_user = self.register_user("admin", "pass", admin=True)
|
||||
admin_user_tok = self.login("admin", "pass")
|
||||
|
||||
other_user = self.register_user("user", "pass")
|
||||
other_user_token = self.login("user", "pass")
|
||||
|
||||
room_id = self.helper.create_room_as(other_user, tok=other_user_token)
|
||||
|
||||
# Assert one user in room
|
||||
users_in_room = self.get_success(
|
||||
self.store.get_users_in_room(room_id),
|
||||
)
|
||||
self.assertEqual([other_user], users_in_room)
|
||||
|
||||
# Enable require consent to send events
|
||||
self.event_creation_handler._block_events_without_consent_error = "Error"
|
||||
self.event_creation_handler._consent_uri_builder = self._consent_uri_builder
|
||||
|
||||
# Assert that the user is getting consent error
|
||||
self.helper.send(room_id, body="foo", tok=other_user_token, expect_code=403)
|
||||
|
||||
# Mark the admin user as having consented
|
||||
self.get_success(
|
||||
self.store.user_set_consent_version(admin_user, "1"),
|
||||
)
|
||||
|
||||
# Test that the admin can still send shutdown
|
||||
url = "admin/shutdown_room/" + room_id
|
||||
request, channel = self.make_request(
|
||||
"POST",
|
||||
url.encode('ascii'),
|
||||
json.dumps({"new_room_user_id": admin_user}),
|
||||
access_token=admin_user_tok,
|
||||
)
|
||||
self.render(request)
|
||||
|
||||
self.assertEqual(200, int(channel.result["code"]), msg=channel.result["body"])
|
||||
|
||||
# Assert there is now no longer anyone in the room
|
||||
users_in_room = self.get_success(
|
||||
self.store.get_users_in_room(room_id),
|
||||
)
|
||||
self.assertEqual([], users_in_room)
|
||||
|
Loading…
Reference in New Issue
Block a user