Skip to content

Commit

Permalink
Closed loop 2040682: multipart upload ops with 0 size(no body) while …
Browse files Browse the repository at this point in the history
…uploading part (#5611)

Signed-off-by: Parikshith Byregowda <pbyregow@redhat.com>
  • Loading branch information
parikshithb committed Apr 14, 2022
1 parent 8788656 commit b895a9e
Showing 1 changed file with 44 additions and 1 deletion.
45 changes: 44 additions & 1 deletion tests/manage/mcg/test_multipart_upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@
complete_multipart_upload,
sync_object_directory,
)
from ocs_ci.framework.pytest_customization.marks import skipif_managed_service
from ocs_ci.framework.pytest_customization.marks import (
skipif_managed_service,
tier3,
bugzilla,
)

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -104,3 +108,42 @@ def test_multipart_upload_operations(
result_object_path=f"{res_dir}/{key}",
awscli_pod=awscli_pod_session,
), "Checksum comparision between original and result object failed"

@tier3
@pytest.mark.polarion_id("OCS-2775")
@bugzilla("2040682")
def test_multipart_with_no_body(self, mcg_obj, bucket_factory):
"""
Test Multipart upload with no body while uploading the part
"""
bucket = bucket_factory(amount=1, interface="OC")[0].name
object_key = "ObjKey-" + str(uuid.uuid4().hex)

# Create & list Multipart Upload on the Bucket
logger.info(
f"Initiating Multipart Upload on Bucket: {bucket} with Key {object_key}"
)
upload_id = create_multipart_upload(mcg_obj, bucket, object_key)
logger.info(
f"Listing the Multipart Upload : {list_multipart_upload(mcg_obj, bucket)['Uploads']}"
)

# Uploading individual part with no body to the Bucket
logger.info(
f"Uploading individual parts to the bucket: {bucket} with no body specified"
)
part_etag = mcg_obj.s3_client.upload_part(
Bucket=bucket, Key=object_key, UploadId=upload_id, PartNumber=1
)["ETag"]
uploaded_part = [{"ETag": part_etag, "PartNumber": 1}]

# Listing the Uploaded part
logger.info(
f"Listing the individual part: {list_uploaded_parts(mcg_obj, bucket, object_key, upload_id)['Parts']}"
)

# Completing the Multipart Upload
logger.info(
f"Completing the Multipart Upload with a part and no body on bucket: {bucket}"
)
complete_multipart_upload(mcg_obj, bucket, object_key, upload_id, uploaded_part)

0 comments on commit b895a9e

Please sign in to comment.