99from gardenlinux .apt .debsource import DebsrcFile
1010from gardenlinux .features import CName
1111from gardenlinux .github .__main__ import (
12- GARDENLINUX_GITHUB_RELEASE_BUCKET_NAME , _get_package_list ,
13- download_metadata_file , get_variant_from_flavor )
12+ GARDENLINUX_GITHUB_RELEASE_BUCKET_NAME , RELEASE_ID_FILE , _get_package_list ,
13+ download_metadata_file , get_file_extension_for_platform ,
14+ get_platform_display_name , get_platform_release_note_data ,
15+ get_variant_from_flavor , write_to_release_id_file )
1416from gardenlinux .s3 import S3Artifacts
1517
1618GARDENLINUX_RELEASE = "1877.3"
@@ -59,6 +61,15 @@ def downloads_dir():
5961 shutil .rmtree (S3_DOWNLOADS_DIR )
6062
6163
64+ @pytest .fixture
65+ def release_id_file ():
66+ with open (RELEASE_ID_FILE , "w" ):
67+ pass
68+ os .chmod (RELEASE_ID_FILE , 0 )
69+ yield
70+ os .remove (RELEASE_ID_FILE )
71+
72+
6273@pytest .mark .parametrize ("flavor" , TEST_FLAVORS )
6374def test_get_variant_from_flavor (flavor ):
6475 assert get_variant_from_flavor (flavor [0 ]) == flavor [1 ]
@@ -77,6 +88,23 @@ def test_get_package_list():
7788 assert isinstance (_get_package_list (GARDENLINUX_RELEASE ), DebsrcFile )
7889
7990
91+ def test_get_platform_release_note_data_invalid_platform ():
92+ assert get_platform_release_note_data ("_" , "foo" ) is None
93+
94+
95+ def test_get_file_extension_for_platform_invalid_platform ():
96+ assert get_file_extension_for_platform ("foo" ) == ".raw"
97+
98+
99+ def test_get_platform_display_name_invalid_platform ():
100+ assert get_platform_display_name ("foo" ) == "FOO"
101+
102+
103+ def test_write_to_release_id_file_broken_file_permissions (release_id_file ):
104+ with pytest .raises (SystemExit ):
105+ write_to_release_id_file (GARDENLINUX_RELEASE )
106+
107+
80108def test_download_metadata_file (downloads_dir ):
81109 s3_artifacts = S3Artifacts (GARDENLINUX_GITHUB_RELEASE_BUCKET_NAME )
82110 cname = CName ("aws-gardener_prod" , "amd64" , "{0}-{1}" .format (GARDENLINUX_RELEASE , GARDENLINUX_COMMIT_SHORT ))
@@ -152,3 +180,7 @@ def test_github_release_page(monkeypatch, downloads_dir):
152180 with open (release_fixture_path ) as md :
153181 release_notes_fixture = md .read ()
154182 assert generated_release_notes == release_notes_fixture
183+
184+
185+ def test_upload_to_github_release_page ():
186+ pass
0 commit comments