@@ -577,7 +577,7 @@ class QuarantineMediaByIDTestCase(unittest.HomeserverTestCase):
577
577
def prepare (self , reactor , clock , hs ):
578
578
media_repo = hs .get_media_repository_resource ()
579
579
self .store = hs .get_datastore ()
580
- server_name = hs .hostname
580
+ self . server_name = hs .hostname
581
581
582
582
self .admin_user = self .register_user ("admin" , "pass" , admin = True )
583
583
self .admin_user_tok = self .login ("admin" , "pass" )
@@ -599,33 +599,34 @@ def prepare(self, reactor, clock, hs):
599
599
server_and_media_id = response ["content_uri" ][6 :] # Cut off 'mxc://'
600
600
self .media_id = server_and_media_id .split ("/" )[1 ]
601
601
602
- self .url = "/_synapse/admin/v1/media/quarantine/%s/%s" % (
603
- server_name ,
604
- self .media_id ,
605
- )
602
+ self .url = "/_synapse/admin/v1/media/%s/%s/%s"
606
603
607
- @parameterized .expand (["POST " , "DELETE " ])
608
- def test_no_auth (self , method : str ):
604
+ @parameterized .expand (["quarantine " , "unquarantine " ])
605
+ def test_no_auth (self , action : str ):
609
606
"""
610
607
Try to protect media without authentication.
611
608
"""
612
609
613
- channel = self .make_request (method , self .url , b"{}" )
610
+ channel = self .make_request (
611
+ "POST" ,
612
+ self .url % (action , self .server_name , self .media_id ),
613
+ b"{}" ,
614
+ )
614
615
615
616
self .assertEqual (401 , int (channel .result ["code" ]), msg = channel .result ["body" ])
616
617
self .assertEqual (Codes .MISSING_TOKEN , channel .json_body ["errcode" ])
617
618
618
- @parameterized .expand (["POST " , "DELETE " ])
619
- def test_requester_is_no_admin (self , method : str ):
619
+ @parameterized .expand (["quarantine " , "unquarantine " ])
620
+ def test_requester_is_no_admin (self , action : str ):
620
621
"""
621
622
If the user is not a server admin, an error is returned.
622
623
"""
623
624
self .other_user = self .register_user ("user" , "pass" )
624
625
self .other_user_token = self .login ("user" , "pass" )
625
626
626
627
channel = self .make_request (
627
- method ,
628
- self .url ,
628
+ "POST" ,
629
+ self .url % ( action , self . server_name , self . media_id ) ,
629
630
access_token = self .other_user_token ,
630
631
)
631
632
@@ -641,7 +642,11 @@ def test_quarantine_media(self):
641
642
self .assertFalse (media_info ["quarantined_by" ])
642
643
643
644
# quarantining
644
- channel = self .make_request ("POST" , self .url , access_token = self .admin_user_tok )
645
+ channel = self .make_request (
646
+ "POST" ,
647
+ self .url % ("quarantine" , self .server_name , self .media_id ),
648
+ access_token = self .admin_user_tok ,
649
+ )
645
650
646
651
self .assertEqual (200 , channel .code , msg = channel .json_body )
647
652
self .assertFalse (channel .json_body )
@@ -651,7 +656,9 @@ def test_quarantine_media(self):
651
656
652
657
# remove from quarantine
653
658
channel = self .make_request (
654
- "DELETE" , self .url , access_token = self .admin_user_tok
659
+ "POST" ,
660
+ self .url % ("unquarantine" , self .server_name , self .media_id ),
661
+ access_token = self .admin_user_tok ,
655
662
)
656
663
657
664
self .assertEqual (200 , channel .code , msg = channel .json_body )
0 commit comments