9
9
from gardenlinux .apt .debsource import DebsrcFile
10
10
from gardenlinux .features import CName
11
11
from 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 )
14
16
from gardenlinux .s3 import S3Artifacts
15
17
16
18
GARDENLINUX_RELEASE = "1877.3"
@@ -59,6 +61,15 @@ def downloads_dir():
59
61
shutil .rmtree (S3_DOWNLOADS_DIR )
60
62
61
63
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
+
62
73
@pytest .mark .parametrize ("flavor" , TEST_FLAVORS )
63
74
def test_get_variant_from_flavor (flavor ):
64
75
assert get_variant_from_flavor (flavor [0 ]) == flavor [1 ]
@@ -77,6 +88,23 @@ def test_get_package_list():
77
88
assert isinstance (_get_package_list (GARDENLINUX_RELEASE ), DebsrcFile )
78
89
79
90
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
+
80
108
def test_download_metadata_file (downloads_dir ):
81
109
s3_artifacts = S3Artifacts (GARDENLINUX_GITHUB_RELEASE_BUCKET_NAME )
82
110
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):
152
180
with open (release_fixture_path ) as md :
153
181
release_notes_fixture = md .read ()
154
182
assert generated_release_notes == release_notes_fixture
183
+
184
+
185
+ def test_upload_to_github_release_page ():
186
+ pass
0 commit comments