forked from MirrorHub/synapse
Fix and add test to deprecated quarantine media admin api (#6756)
This commit is contained in:
parent
5e52d8563b
commit
aa9b00fb2f
3 changed files with 13 additions and 5 deletions
1
changelog.d/6756.feature
Normal file
1
changelog.d/6756.feature
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add new quarantine media admin APIs to quarantine by media ID or by user who uploaded the media.
|
|
@ -36,7 +36,7 @@ class QuarantineMediaInRoom(RestServlet):
|
||||||
historical_admin_path_patterns("/room/(?P<room_id>[^/]+)/media/quarantine")
|
historical_admin_path_patterns("/room/(?P<room_id>[^/]+)/media/quarantine")
|
||||||
+
|
+
|
||||||
# This path kept around for legacy reasons
|
# This path kept around for legacy reasons
|
||||||
historical_admin_path_patterns("/quarantine_media/(?P<room_id>![^/]+)")
|
historical_admin_path_patterns("/quarantine_media/(?P<room_id>[^/]+)")
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
|
|
|
@ -516,7 +516,7 @@ class QuarantineMediaTestCase(unittest.HomeserverTestCase):
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_quarantine_all_media_in_room(self):
|
def test_quarantine_all_media_in_room(self, override_url_template=None):
|
||||||
self.register_user("room_admin", "pass", admin=True)
|
self.register_user("room_admin", "pass", admin=True)
|
||||||
admin_user_tok = self.login("room_admin", "pass")
|
admin_user_tok = self.login("room_admin", "pass")
|
||||||
|
|
||||||
|
@ -555,9 +555,12 @@ class QuarantineMediaTestCase(unittest.HomeserverTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
# Quarantine all media in the room
|
# Quarantine all media in the room
|
||||||
url = "/_synapse/admin/v1/room/%s/media/quarantine" % urllib.parse.quote(
|
if override_url_template:
|
||||||
room_id
|
url = override_url_template % urllib.parse.quote(room_id)
|
||||||
)
|
else:
|
||||||
|
url = "/_synapse/admin/v1/room/%s/media/quarantine" % urllib.parse.quote(
|
||||||
|
room_id
|
||||||
|
)
|
||||||
request, channel = self.make_request("POST", url, access_token=admin_user_tok,)
|
request, channel = self.make_request("POST", url, access_token=admin_user_tok,)
|
||||||
self.render(request)
|
self.render(request)
|
||||||
self.pump(1.0)
|
self.pump(1.0)
|
||||||
|
@ -611,6 +614,10 @@ class QuarantineMediaTestCase(unittest.HomeserverTestCase):
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_quaraantine_all_media_in_room_deprecated_api_path(self):
|
||||||
|
# Perform the above test with the deprecated API path
|
||||||
|
self.test_quarantine_all_media_in_room("/_synapse/admin/v1/quarantine_media/%s")
|
||||||
|
|
||||||
def test_quarantine_all_media_by_user(self):
|
def test_quarantine_all_media_by_user(self):
|
||||||
self.register_user("user_admin", "pass", admin=True)
|
self.register_user("user_admin", "pass", admin=True)
|
||||||
admin_user_tok = self.login("user_admin", "pass")
|
admin_user_tok = self.login("user_admin", "pass")
|
||||||
|
|
Loading…
Reference in a new issue