Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Commit 798e4df

Browse files
committed
fix tests
1 parent 7eb6b93 commit 798e4df

File tree

4 files changed

+84
-33
lines changed

4 files changed

+84
-33
lines changed

samples/snippets/encryption_test.py

Lines changed: 48 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from google.cloud.storage import Blob
2323
import pytest
2424

25+
from google.cloud.storage.bucket import EncryptionEnforcementConfig
2526
import storage_download_encrypted_file
2627
import storage_generate_encryption_key
2728
import storage_object_csek_to_cmek
@@ -88,11 +89,7 @@ def test_blob():
8889
except NotFound as e:
8990
# For the case that the rotation succeeded.
9091
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)
9693
blob.delete()
9794

9895

@@ -152,27 +149,64 @@ def test_set_bucket_encryption_enforcement_config(enforcement_bucket):
152149
storage_client = storage.Client()
153150
bucket = storage_client.get_bucket(enforcement_bucket)
154151

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+
)
158164

159165

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):
163167
storage_get_bucket_encryption_enforcement_config.get_bucket_encryption_enforcement_config(
164168
enforcement_bucket
165169
)
166170

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+
167186

168187
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+
169197
storage_update_encryption_enforcement_config.update_encryption_enforcement_config(
170198
enforcement_bucket
171199
)
172200

173201
storage_client = storage.Client()
174202
bucket = storage_client.get_bucket(enforcement_bucket)
175203

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

samples/snippets/storage_get_bucket_encryption_enforcement_config.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,21 @@ def get_bucket_encryption_enforcement_config(bucket_name):
2626

2727
print(f"Encryption Enforcement Config for bucket {bucket.name}:")
2828

29-
cmek_config = bucket.customer_managed_encryption_enforcement_config
30-
csek_config = bucket.customer_supplied_encryption_enforcement_config
31-
gmek_config = bucket.google_managed_encryption_enforcement_config
29+
cmek_config = bucket.encryption.customer_managed_encryption_enforcement_config
30+
csek_config = bucket.encryption.customer_supplied_encryption_enforcement_config
31+
gmek_config = bucket.encryption.google_managed_encryption_enforcement_config
32+
33+
print(
34+
f"Customer-managed encryption enforcement config restriction mode: {cmek_config.restriction_mode if cmek_config else None}"
35+
)
36+
print(
37+
f"Customer-supplied encryption enforcement config restriction mode: {csek_config.restriction_mode if csek_config else None}"
38+
)
39+
print(
40+
f"Google-managed encryption enforcement config restriction mode: {gmek_config.restriction_mode if gmek_config else None}"
41+
)
42+
3243

33-
print(f"Customer-managed encryption enforcement config restriction mode: {cmek_config.restriction_mode if cmek_config else None}")
34-
print(f"Customer-supplied encryption enforcement config restriction mode: {csek_config.restriction_mode if csek_config else None}")
35-
print(f"Google-managed encryption enforcement config restriction mode: {gmek_config.restriction_mode if gmek_config else None}")
3644
# [END storage_get_bucket_encryption_enforcement_config]
3745

3846

samples/snippets/storage_set_bucket_encryption_enforcement_config.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,27 @@ def set_bucket_encryption_enforcement_config(bucket_name):
2727

2828
# Setting restriction_mode to "FullyRestricted" for Google-managed encryption (GMEK)
2929
# means objects cannot be created using the default Google-managed keys.
30-
bucket.google_managed_encryption_enforcement_config = EncryptionEnforcementConfig(
31-
restriction_mode="FullyRestricted"
30+
bucket.encryption.google_managed_encryption_enforcement_config = (
31+
EncryptionEnforcementConfig(restriction_mode="FullyRestricted")
3232
)
3333

3434
# Setting restriction_mode to "NotRestricted" for Customer-managed encryption (CMEK)
3535
# ensures that objects ARE permitted to be created using Cloud KMS keys.
36-
bucket.customer_managed_encryption_enforcement_config = EncryptionEnforcementConfig(
37-
restriction_mode="NotRestricted"
36+
bucket.encryption.customer_managed_encryption_enforcement_config = (
37+
EncryptionEnforcementConfig(restriction_mode="NotRestricted")
3838
)
3939

4040
# Setting restriction_mode to "FullyRestricted" for Customer-supplied encryption (CSEK)
4141
# prevents objects from being created using raw, client-side provided keys.
42-
bucket.customer_supplied_encryption_enforcement_config = EncryptionEnforcementConfig(
43-
restriction_mode="FullyRestricted"
42+
bucket.encryption.customer_supplied_encryption_enforcement_config = (
43+
EncryptionEnforcementConfig(restriction_mode="FullyRestricted")
4444
)
4545

4646
bucket.create()
4747

4848
print(f"Created bucket {bucket.name} with Encryption Enforcement Config.")
49+
50+
4951
# [END storage_set_bucket_encryption_enforcement_config]
5052

5153

samples/snippets/storage_update_encryption_enforcement_config.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,30 @@
1919

2020
def update_encryption_enforcement_config(bucket_name):
2121
"""Updates the encryption enforcement policy for a bucket."""
22-
# The ID of your GCS bucket
22+
# The ID of your GCS bucket with CMEK restricted
2323
# bucket_name = "your-unique-bucket-name"
2424

2525
storage_client = storage.Client()
2626
bucket = storage_client.get_bucket(bucket_name)
2727

28-
# 1. Update a specific type (e.g., change GMEK to FullyRestricted)
29-
bucket.google_managed_encryption_enforcement_config = EncryptionEnforcementConfig(restriction_mode="FullyRestricted")
30-
bucket.customer_managed_encryption_enforcement_config = EncryptionEnforcementConfig(restriction_mode="NotRestricted")
28+
# Update a specific type (e.g., change GMEK to FullyRestricted)
29+
bucket.encryption.google_managed_encryption_enforcement_config = (
30+
EncryptionEnforcementConfig(restriction_mode="FullyRestricted")
31+
)
3132

32-
# 2. Remove a specific type (e.g., remove CSEK enforcement)
33-
bucket.customer_supplied_encryption_enforcement_config = None
33+
# Update another type (e.g., change CMEK to NotRestricted)
34+
bucket.encryption.customer_managed_encryption_enforcement_config = (
35+
EncryptionEnforcementConfig(restriction_mode="NotRestricted")
36+
)
3437

3538
bucket.patch()
3639

3740
print(f"Encryption enforcement policy updated for bucket {bucket.name}.")
38-
print("GMEK is now fully restricted, CMEK is now not restricted, and CSEK enforcement has been removed.")
41+
print(
42+
"GMEK is now fully restricted, CMEK is now not restricted, and CSEK enforcement has been removed."
43+
)
44+
45+
3946
# [END storage_update_encryption_enforcement_config]
4047

4148

0 commit comments

Comments
 (0)