Skip to content

Commit ec34758

Browse files
committed
Test 'Blob.rewrite' w/ 'user_project' set. (#4093)
Test 'Blob.rewrite' w/ 'user_project' set.
1 parent 39b5271 commit ec34758

File tree

1 file changed

+55
-1
lines changed

1 file changed

+55
-1
lines changed

storage/tests/system.py

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,8 +771,62 @@ def test_rewrite_rotate_encryption_key(self):
771771
# Not adding 'dest' to 'self.case_blobs_to_delete': it is the
772772
# same object as 'source'.
773773

774-
self.assertEqual(token, None)
774+
self.assertIsNone(token)
775775
self.assertEqual(rewritten, len(source_data))
776776
self.assertEqual(total, len(source_data))
777777

778778
self.assertEqual(dest.download_as_string(), source_data)
779+
780+
def test_rewrite_add_key_with_user_project(self):
781+
file_data = self.FILES['simple']
782+
new_bucket_name = 'rewrite-key-up' + unique_resource_id('-')
783+
created = Config.CLIENT.create_bucket(
784+
new_bucket_name, requester_pays=True)
785+
try:
786+
with_user_project = Config.CLIENT.bucket(
787+
new_bucket_name, user_project=USER_PROJECT)
788+
789+
source = with_user_project.blob('source')
790+
source.upload_from_filename(file_data['path'])
791+
source_data = source.download_as_string()
792+
793+
KEY = os.urandom(32)
794+
dest = with_user_project.blob('dest', encryption_key=KEY)
795+
token, rewritten, total = dest.rewrite(source)
796+
797+
self.assertEqual(token, None)
798+
self.assertEqual(rewritten, len(source_data))
799+
self.assertEqual(total, len(source_data))
800+
801+
self.assertEqual(source.download_as_string(),
802+
dest.download_as_string())
803+
finally:
804+
retry_429(created.delete)(force=True)
805+
806+
def test_rewrite_rotate_with_user_project(self):
807+
BLOB_NAME = 'rotating-keys'
808+
file_data = self.FILES['simple']
809+
new_bucket_name = 'rewrite-rotate-up' + unique_resource_id('-')
810+
created = Config.CLIENT.create_bucket(
811+
new_bucket_name, requester_pays=True)
812+
try:
813+
with_user_project = Config.CLIENT.bucket(
814+
new_bucket_name, user_project=USER_PROJECT)
815+
816+
SOURCE_KEY = os.urandom(32)
817+
source = with_user_project.blob(
818+
BLOB_NAME, encryption_key=SOURCE_KEY)
819+
source.upload_from_filename(file_data['path'])
820+
source_data = source.download_as_string()
821+
822+
DEST_KEY = os.urandom(32)
823+
dest = with_user_project.blob(BLOB_NAME, encryption_key=DEST_KEY)
824+
token, rewritten, total = dest.rewrite(source)
825+
826+
self.assertEqual(token, None)
827+
self.assertEqual(rewritten, len(source_data))
828+
self.assertEqual(total, len(source_data))
829+
830+
self.assertEqual(dest.download_as_string(), source_data)
831+
finally:
832+
retry_429(created.delete)(force=True)

0 commit comments

Comments
 (0)