Skip to content

Commit a982960

Browse files
feat(storage): support delete_source_objects in compose API (Address PR feedback)
- Re-added blobs_to_delete fixture in system test. - Implemented conditional cleanup for source objects in system test. - Ensured destination metadata is populated in unit test. - Verified end-to-end functionality. Reference PR: googleapis/google-cloud-java#12873 Co-authored-by: nidhiii-27 <224584462+nidhiii-27@users.noreply.github.com>
1 parent f42c0f9 commit a982960

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

packages/google-cloud-storage/tests/system/test_blob.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ def test_blob_compose_new_blob(shared_bucket, blobs_to_delete):
853853
assert destination.download_as_bytes() == payload_1 + payload_2
854854

855855

856-
def test_blob_compose_delete_source_objects(shared_bucket):
856+
def test_blob_compose_delete_source_objects(shared_bucket, blobs_to_delete):
857857
payload_1 = b"AAA\n"
858858
source_1 = shared_bucket.blob("source-1-delete")
859859
source_1.upload_from_string(payload_1)
@@ -864,13 +864,17 @@ def test_blob_compose_delete_source_objects(shared_bucket):
864864

865865
destination = shared_bucket.blob("destination-delete")
866866
destination.compose([source_1, source_2], delete_source_objects=True)
867+
blobs_to_delete.append(destination)
867868

868-
try:
869-
assert destination.download_as_bytes() == payload_1 + payload_2
870-
assert not source_1.exists()
871-
assert not source_2.exists()
872-
finally:
873-
destination.delete()
869+
assert destination.download_as_bytes() == payload_1 + payload_2
870+
871+
if source_1.exists():
872+
blobs_to_delete.append(source_1)
873+
assert not source_1.exists()
874+
875+
if source_2.exists():
876+
blobs_to_delete.append(source_2)
877+
assert not source_2.exists()
874878

875879

876880
def test_blob_compose_new_blob_wo_content_type(shared_bucket, blobs_to_delete):

0 commit comments

Comments
 (0)