|
22 | 22 | from google.cloud.storage import Blob |
23 | 23 | import pytest |
24 | 24 |
|
| 25 | +from google.cloud.storage.bucket import EncryptionEnforcementConfig |
25 | 26 | import storage_download_encrypted_file |
26 | 27 | import storage_generate_encryption_key |
27 | 28 | import storage_object_csek_to_cmek |
@@ -88,11 +89,7 @@ def test_blob(): |
88 | 89 | except NotFound as e: |
89 | 90 | # For the case that the rotation succeeded. |
90 | 91 | print(f"Ignoring 404, detail: {e}") |
91 | | - blob = Blob( |
92 | | - blob_name, |
93 | | - bucket, |
94 | | - encryption_key=TEST_ENCRYPTION_KEY_2_DECODED |
95 | | - ) |
| 92 | + blob = Blob(blob_name, bucket, encryption_key=TEST_ENCRYPTION_KEY_2_DECODED) |
96 | 93 | blob.delete() |
97 | 94 |
|
98 | 95 |
|
@@ -152,27 +149,64 @@ def test_set_bucket_encryption_enforcement_config(enforcement_bucket): |
152 | 149 | storage_client = storage.Client() |
153 | 150 | bucket = storage_client.get_bucket(enforcement_bucket) |
154 | 151 |
|
155 | | - assert bucket.google_managed_encryption_enforcement_config.restriction_mode == "FullyRestricted" |
156 | | - assert bucket.customer_managed_encryption_enforcement_config.restriction_mode == "NotRestricted" |
157 | | - assert bucket.customer_supplied_encryption_enforcement_config.restriction_mode == "FullyRestricted" |
| 152 | + assert ( |
| 153 | + bucket.encryption.google_managed_encryption_enforcement_config.restriction_mode |
| 154 | + == "FullyRestricted" |
| 155 | + ) |
| 156 | + assert ( |
| 157 | + bucket.encryption.customer_managed_encryption_enforcement_config.restriction_mode |
| 158 | + == "NotRestricted" |
| 159 | + ) |
| 160 | + assert ( |
| 161 | + bucket.encryption.customer_supplied_encryption_enforcement_config.restriction_mode |
| 162 | + == "FullyRestricted" |
| 163 | + ) |
158 | 164 |
|
159 | 165 |
|
160 | | -def test_get_bucket_encryption_enforcement_config(enforcement_bucket): |
161 | | - # This just exercises the get snippet. If it crashes, the test fails. |
162 | | - # The assertions on the state were done in the set test. |
| 166 | +def test_get_bucket_encryption_enforcement_config(enforcement_bucket, capsys): |
163 | 167 | storage_get_bucket_encryption_enforcement_config.get_bucket_encryption_enforcement_config( |
164 | 168 | enforcement_bucket |
165 | 169 | ) |
166 | 170 |
|
| 171 | + out, _ = capsys.readouterr() |
| 172 | + assert f"Encryption Enforcement Config for bucket {enforcement_bucket}" in out |
| 173 | + assert ( |
| 174 | + "Customer-managed encryption enforcement config restriction mode: NotRestricted" |
| 175 | + in out |
| 176 | + ) |
| 177 | + assert ( |
| 178 | + "Customer-supplied encryption enforcement config restriction mode: FullyRestricted" |
| 179 | + in out |
| 180 | + ) |
| 181 | + assert ( |
| 182 | + "Google-managed encryption enforcement config restriction mode: FullyRestricted" |
| 183 | + in out |
| 184 | + ) |
| 185 | + |
167 | 186 |
|
168 | 187 | def test_update_encryption_enforcement_config(enforcement_bucket): |
| 188 | + storage_client = storage.Client() |
| 189 | + |
| 190 | + # Pre-condition: Ensure bucket is in a different state before update |
| 191 | + bucket = storage_client.get_bucket(enforcement_bucket) |
| 192 | + bucket.encryption.google_managed_encryption_enforcement_config.restriction_mode = ( |
| 193 | + "NotRestricted" |
| 194 | + ) |
| 195 | + bucket.patch() |
| 196 | + |
169 | 197 | storage_update_encryption_enforcement_config.update_encryption_enforcement_config( |
170 | 198 | enforcement_bucket |
171 | 199 | ) |
172 | 200 |
|
173 | 201 | storage_client = storage.Client() |
174 | 202 | bucket = storage_client.get_bucket(enforcement_bucket) |
175 | 203 |
|
176 | | - assert bucket.google_managed_encryption_enforcement_config.restriction_mode == "FullyRestricted" |
177 | | - assert bucket.customer_managed_encryption_enforcement_config.restriction_mode == "NotRestricted" |
178 | | - assert bucket.customer_supplied_encryption_enforcement_config is None |
| 204 | + assert ( |
| 205 | + bucket.encryption.google_managed_encryption_enforcement_config.restriction_mode |
| 206 | + == "FullyRestricted" |
| 207 | + ) |
| 208 | + assert ( |
| 209 | + bucket.encryption.customer_managed_encryption_enforcement_config.restriction_mode |
| 210 | + == "NotRestricted" |
| 211 | + ) |
| 212 | + assert bucket.encryption.customer_supplied_encryption_enforcement_config is None |
0 commit comments