11import pytest
22
3- from gardenlinux .constants import RETRYING_MAX_ATTEMPTS , S3_DOWNLOADS_DIR
3+ from gardenlinux .constants import S3_DOWNLOADS_DIR
44from gardenlinux .features import CName
55from gardenlinux .github .release_notes .helpers import download_metadata_file
66from gardenlinux .s3 import S3Artifacts
1515
1616
1717def test_download_metadata_file (downloads_dir , release_s3_bucket ):
18- release_s3_bucket .upload_file (RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
19- f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " )
18+ release_s3_bucket .upload_file (
19+ RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
20+ f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " ,
21+ )
2022
2123 s3_artifacts = S3Artifacts (TEST_GARDENLINUX_RELEASE_BUCKET_NAME )
2224 s3_artifacts ._bucket = release_s3_bucket
2325
24- cname = CName ("test-aws-gardener_prod" , "amd64" , "{0}-{1}" .format (TEST_GARDENLINUX_RELEASE , TEST_GARDENLINUX_COMMIT_SHORT ))
25- download_metadata_file (s3_artifacts ,
26- cname .cname ,
27- TEST_GARDENLINUX_RELEASE ,
28- TEST_GARDENLINUX_COMMIT_SHORT ,
29- S3_DOWNLOADS_DIR )
26+ cname = CName (
27+ "test-aws-gardener_prod" ,
28+ "amd64" ,
29+ "{0}-{1}" .format (TEST_GARDENLINUX_RELEASE , TEST_GARDENLINUX_COMMIT_SHORT ),
30+ )
31+ download_metadata_file (
32+ s3_artifacts ,
33+ cname .cname ,
34+ TEST_GARDENLINUX_RELEASE ,
35+ TEST_GARDENLINUX_COMMIT_SHORT ,
36+ S3_DOWNLOADS_DIR ,
37+ )
3038 assert (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml" ).exists ()
3139
3240
3341def test_download_metadata_file_no_such_release (downloads_dir , release_s3_bucket ):
34- release_s3_bucket .upload_file (RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
35- f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " )
42+ release_s3_bucket .upload_file (
43+ RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
44+ f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " ,
45+ )
3646 s3_artifacts = S3Artifacts (TEST_GARDENLINUX_RELEASE_BUCKET_NAME )
3747 s3_artifacts ._bucket = release_s3_bucket
3848
@@ -41,17 +51,19 @@ def test_download_metadata_file_no_such_release(downloads_dir, release_s3_bucket
4151 cname = CName ("aws-gardener_prod" , "amd64" , "{0}-{1}" .format (release , commit ))
4252
4353 with pytest .raises (IndexError ):
44- download_metadata_file (s3_artifacts ,
45- cname .cname ,
46- release ,
47- commit ,
48- S3_DOWNLOADS_DIR )
49- assert not ( S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml" ).exists ()
54+ download_metadata_file (
55+ s3_artifacts , cname .cname , release , commit , S3_DOWNLOADS_DIR
56+ )
57+ assert not (
58+ S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml"
59+ ).exists ()
5060
5161
5262def test_download_metadata_file_no_such_commit (downloads_dir , release_s3_bucket ):
53- release_s3_bucket .upload_file (RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
54- f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " )
63+ release_s3_bucket .upload_file (
64+ RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
65+ f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " ,
66+ )
5567
5668 s3_artifacts = S3Artifacts (TEST_GARDENLINUX_RELEASE_BUCKET_NAME )
5769 s3_artifacts ._bucket = release_s3_bucket
@@ -61,17 +73,21 @@ def test_download_metadata_file_no_such_commit(downloads_dir, release_s3_bucket)
6173 cname = CName ("test-aws-gardener_prod" , "amd64" , "{0}-{1}" .format (release , commit ))
6274
6375 with pytest .raises (IndexError ):
64- download_metadata_file (s3_artifacts ,
65- cname .cname ,
66- release ,
67- commit ,
68- S3_DOWNLOADS_DIR )
69- assert not (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml" ).exists ()
70-
71-
72- def test_download_metadata_file_no_such_release_and_commit (downloads_dir , release_s3_bucket ):
73- release_s3_bucket .upload_file (RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
74- f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " )
76+ download_metadata_file (
77+ s3_artifacts , cname .cname , release , commit , S3_DOWNLOADS_DIR
78+ )
79+ assert not (
80+ S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml"
81+ ).exists ()
82+
83+
84+ def test_download_metadata_file_no_such_release_and_commit (
85+ downloads_dir , release_s3_bucket
86+ ):
87+ release_s3_bucket .upload_file (
88+ RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml" ,
89+ f"meta/singles/test-aws-gardener_prod-amd64-{ TEST_GARDENLINUX_RELEASE } -{ TEST_GARDENLINUX_COMMIT } " ,
90+ )
7591
7692 s3_artifacts = S3Artifacts (TEST_GARDENLINUX_RELEASE_BUCKET_NAME )
7793 s3_artifacts ._bucket = release_s3_bucket
@@ -81,24 +97,9 @@ def test_download_metadata_file_no_such_release_and_commit(downloads_dir, releas
8197 cname = CName ("test-aws-gardener_prod" , "amd64" , "{0}-{1}" .format (release , commit ))
8298
8399 with pytest .raises (IndexError ):
84- download_metadata_file (s3_artifacts ,
85- cname .cname ,
86- release ,
87- commit ,
88- S3_DOWNLOADS_DIR )
89- assert not (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml" ).exists ()
90-
91-
92- def test_download_metadata_uses_retrying_strategy (downloads_dir , blackhole_s3_bucket ):
93- s3_artifacts = S3Artifacts (TEST_GARDENLINUX_RELEASE_BUCKET_NAME )
94- s3_artifacts ._bucket ._bucket = blackhole_s3_bucket
95-
96- cname = CName ("test-aws-gardener_prod" , "amd64" , "{0}-{1}" .format ("foo" , "bar" ))
97-
98- with pytest .raises (IOError ) as exn :
99- download_metadata_file (s3_artifacts ,
100- cname .cname ,
101- "foo" ,
102- "bar" ,
103- S3_DOWNLOADS_DIR )
104- assert str (exn .value ) == f"Download attempt # { RETRYING_MAX_ATTEMPTS } failed"
100+ download_metadata_file (
101+ s3_artifacts , cname .cname , release , commit , S3_DOWNLOADS_DIR
102+ )
103+ assert not (
104+ S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml"
105+ ).exists ()
0 commit comments