@@ -168,6 +168,29 @@ def resp_delete_package_file(no_content):
168168 yield rsps
169169
170170
171+ @pytest .fixture
172+ def resp_delete_package_file_list (no_content ):
173+ with responses .RequestsMock () as rsps :
174+ rsps .add (
175+ method = responses .GET ,
176+ url = re .compile (
177+ r"http://localhost/api/v4/projects/1/packages/1/package_files"
178+ ),
179+ json = package_file_content ,
180+ content_type = "application/json" ,
181+ status = 200 ,
182+ )
183+ for pkg_file_id in range (25 , 28 ):
184+ rsps .add (
185+ method = responses .DELETE ,
186+ url = f"http://localhost/api/v4/projects/1/packages/1/package_files/{ pkg_file_id } " ,
187+ json = no_content ,
188+ content_type = "application/json" ,
189+ status = 204 ,
190+ )
191+ yield rsps
192+
193+
171194@pytest .fixture
172195def resp_list_package_files ():
173196 with responses .RequestsMock () as rsps :
@@ -242,11 +265,21 @@ def test_list_project_package_files(project, resp_list_package_files):
242265 assert package_files [0 ].id == 25
243266
244267
245- def test_delete_project_package_file (project , resp_delete_package_file ):
268+ def test_delete_project_package_file_from_package_object (
269+ project , resp_delete_package_file
270+ ):
246271 package = project .packages .get (1 , lazy = True )
247272 package .package_files .delete (1 )
248273
249274
275+ def test_delete_project_package_file_from_package_file_object (
276+ project , resp_delete_package_file_list
277+ ):
278+ package = project .packages .get (1 , lazy = True )
279+ for package_file in package .package_files .list ():
280+ package_file .delete ()
281+
282+
250283def test_upload_generic_package (tmp_path , project , resp_upload_generic_package ):
251284 path = tmp_path / file_name
252285 path .write_text (file_content )
0 commit comments