Skip to content

Commit 3ecfc0d

Browse files
committed
remove buckets
1 parent 3c496f5 commit 3ecfc0d

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

tests/aws-cpp-sdk-s3-crt-integration-tests/BucketAndObjectOperationTest.cpp

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
#include <aws/s3-crt/model/PutBucketVersioningRequest.h>
5151
#include <aws/s3-crt/model/VersioningConfiguration.h>
5252
#include <aws/s3-crt/model/BucketVersioningStatus.h>
53+
#include <aws/s3-crt/model/ListObjectVersionsRequest.h>
5354
#include <aws/s3-crt/ClientConfiguration.h>
5455
#include <aws/testing/ProxyConfig.h>
5556
#include <aws/testing/platform/PlatformTesting.h>
@@ -92,6 +93,7 @@ namespace
9293
static std::string BASE_EVENT_STREAM_ERRORS_IN_EVENT_TEST_BUCKET_NAME = "errorsinevent";
9394
static std::string BASE_CHECKSUMS_BUCKET_NAME = "checksums-crt";
9495
static std::string BASE_CRT_CREDENTIALS_TEST_BUCKET_NAME = "crt-credentials-test";
96+
static std::string BASE_VERSIONED_COPY_BUCKET_NAME = "versionedcopytest";
9597
static const char* ALLOCATION_TAG = "BucketAndObjectOperationTest";
9698
static const char* TEST_OBJ_KEY = "TestObjectKey";
9799
static const char* TEST_NOT_MODIFIED_OBJ_KEY = "TestNotModifiedObjectKey";
@@ -132,7 +134,8 @@ namespace
132134
std::ref(BASE_EVENT_STREAM_LARGE_FILE_TEST_BUCKET_NAME),
133135
std::ref(BASE_EVENT_STREAM_ERRORS_IN_EVENT_TEST_BUCKET_NAME),
134136
std::ref(BASE_CHECKSUMS_BUCKET_NAME),
135-
std::ref(BASE_CRT_CREDENTIALS_TEST_BUCKET_NAME)
137+
std::ref(BASE_CRT_CREDENTIALS_TEST_BUCKET_NAME),
138+
std::ref(BASE_VERSIONED_COPY_BUCKET_NAME)
136139
};
137140

138141
for (auto& testBucketName : TEST_BUCKETS)
@@ -1082,7 +1085,7 @@ namespace
10821085

10831086
TEST_F(BucketAndObjectOperationTest, TestMultipartCopyOnVersionedBucketDoesNotRequireGetObjectVersion)
10841087
{
1085-
Aws::String fullBucketName = CalculateBucketName(BASE_PUT_MULTIPART_BUCKET_NAME.c_str());
1088+
Aws::String fullBucketName = CalculateBucketName(BASE_VERSIONED_COPY_BUCKET_NAME.c_str());
10861089
SCOPED_TRACE(Aws::String("FullBucketName ") + fullBucketName);
10871090
CreateBucketRequest createBucketRequest;
10881091
createBucketRequest.SetBucket(fullBucketName);
@@ -1126,6 +1129,26 @@ namespace
11261129
.WithCopySource(fullBucketName + "/" + sourceKey);
11271130
auto copyOutcome = Client->CopyObject(copyRequest);
11281131
AWS_ASSERT_SUCCESS(copyOutcome);
1132+
1133+
// Clean up: delete all object versions so the bucket can be deleted
1134+
ListObjectVersionsRequest listVersionsRequest;
1135+
listVersionsRequest.SetBucket(fullBucketName);
1136+
auto listVersionsOutcome = Client->ListObjectVersions(listVersionsRequest);
1137+
if (listVersionsOutcome.IsSuccess())
1138+
{
1139+
for (const auto& version : listVersionsOutcome.GetResult().GetVersions())
1140+
{
1141+
DeleteObjectRequest deleteRequest;
1142+
deleteRequest.SetBucket(fullBucketName);
1143+
deleteRequest.SetKey(version.GetKey());
1144+
deleteRequest.SetVersionId(version.GetVersionId());
1145+
Client->DeleteObject(deleteRequest);
1146+
}
1147+
}
1148+
1149+
DeleteBucketRequest deleteBucketRequest;
1150+
deleteBucketRequest.SetBucket(fullBucketName);
1151+
Client->DeleteBucket(deleteBucketRequest);
11291152
}
11301153

11311154
TEST_F(BucketAndObjectOperationTest, TestObjectOperationWithEventStream)

0 commit comments

Comments
 (0)