@@ -411,7 +411,9 @@ def test_get_artifact_download_url_for_sha():
411
411
report_size_deltas .get_artifact_download_url_for_run .assert_called_once_with (run_id = run_id )
412
412
413
413
414
- def test_get_artifact_download_url_for_run ():
414
+ @pytest .mark .parametrize ("expired" , [True , False ])
415
+ @pytest .mark .parametrize ("artifact_name" , ["test_sketches_reports_source" , "incorrect-artifact-name" ])
416
+ def test_get_artifact_download_url_for_run (expired , artifact_name ):
415
417
repository_name = "test_name/test_repo"
416
418
sketches_reports_source = "test_sketches_reports_source"
417
419
archive_download_url = "archive_download_url"
@@ -420,29 +422,35 @@ def test_get_artifact_download_url_for_run():
420
422
report_size_deltas = get_reportsizedeltas_object (repository_name = repository_name ,
421
423
sketches_reports_source = sketches_reports_source )
422
424
423
- json_data = {"artifacts" : [{"name" : sketches_reports_source , "archive_download_url" : archive_download_url },
424
- {"name" : "bar123" , "archive_download_url" : "wrong_artifact_url" }]}
425
+ json_data = {
426
+ "artifacts" : [
427
+ {
428
+ "name" : artifact_name ,
429
+ "archive_download_url" : archive_download_url ,
430
+ "expired" : expired
431
+ },
432
+ {
433
+ "name" : "bar123" ,
434
+ "archive_download_url" : "wrong_artifact_url" ,
435
+ "expired" : False
436
+ }
437
+ ]
438
+ }
425
439
report_size_deltas .api_request = unittest .mock .MagicMock (return_value = {"json_data" : json_data ,
426
440
"additional_pages" : False ,
427
441
"page_count" : 1 })
428
442
429
- # Artifact name match
430
- assert archive_download_url == report_size_deltas .get_artifact_download_url_for_run (run_id = run_id )
443
+ download_url = report_size_deltas .get_artifact_download_url_for_run (run_id = run_id )
444
+ if not expired and artifact_name == sketches_reports_source :
445
+ assert download_url == archive_download_url
446
+ else :
447
+ assert download_url is None
431
448
432
449
report_size_deltas .api_request .assert_called_once_with (
433
450
request = "repos/" + repository_name + "/actions/runs/" + str (run_id )
434
451
+ "/artifacts" ,
435
452
page_number = 1 )
436
453
437
- json_data = {"artifacts" : [{"name" : "foo123" , "archive_download_url" : "test_artifact_url" },
438
- {"name" : "bar123" , "archive_download_url" : "wrong_artifact_url" }]}
439
- report_size_deltas .api_request = unittest .mock .MagicMock (return_value = {"json_data" : json_data ,
440
- "additional_pages" : False ,
441
- "page_count" : 1 })
442
-
443
- # No artifact name match
444
- assert report_size_deltas .get_artifact_download_url_for_run (run_id = run_id ) is None
445
-
446
454
447
455
@pytest .mark .parametrize ("test_artifact_name, expected_success" ,
448
456
[("correct-artifact-name" , True ),
0 commit comments