Skip to content

Commit e2a39bd

Browse files
committed
chore(tests): assert StorageClass#STANDARD in some responses
Some S3 APIs return STANDARD, while others do not. Just ran these tests against S3 APIs and they pass. See also #2736
1 parent cf74628 commit e2a39bd

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/GetPutDeleteObjectIT.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ internal class GetPutDeleteObjectIT : S3TestBase() {
536536
)
537537
}.also {
538538
assertThat(it.eTag()).isEqualTo(eTag.trim('"'))
539-
// default storageClass is STANDARD, which is never returned from APIs except by GetObjectAttributes
539+
// GetObjectAttributes returns the default storageClass "STANDARD", even though other APIs may not.
540540
assertThat(it.storageClass()).isEqualTo(StorageClass.STANDARD)
541541
assertThat(it.objectSize()).isEqualTo(UPLOAD_FILE_LENGTH)
542542
assertThat(it.checksum().checksumSHA1()).isEqualTo(expectedChecksum)

integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/ListObjectsIT.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import software.amazon.awssdk.services.s3.model.ChecksumAlgorithm
2929
import software.amazon.awssdk.services.s3.model.CommonPrefix
3030
import software.amazon.awssdk.services.s3.model.EncodingType
3131
import software.amazon.awssdk.services.s3.model.NoSuchBucketException
32+
import software.amazon.awssdk.services.s3.model.ObjectStorageClass
3233
import software.amazon.awssdk.services.s3.model.S3Object
3334
import software.amazon.awssdk.utils.http.SdkHttpUtils
3435

@@ -103,6 +104,14 @@ internal class ListObjectsIT : S3TestBase() {
103104
Tuple(arrayListOf(ChecksumAlgorithm.SHA256)),
104105
Tuple(arrayListOf(ChecksumAlgorithm.SHA256)),
105106
)
107+
// ListObjects returns the default storageClass "STANDARD", even though other APIs may not.
108+
assertThat(it.contents())
109+
.hasSize(2)
110+
.extracting(S3Object::storageClass)
111+
.containsOnly(
112+
Tuple(ObjectStorageClass.STANDARD),
113+
Tuple(ObjectStorageClass.STANDARD),
114+
)
106115
}
107116
}
108117

@@ -168,6 +177,8 @@ internal class ListObjectsIT : S3TestBase() {
168177
listing.contents().also {
169178
assertThat(it).hasSize(1)
170179
assertThat(it[0].key()).isEqualTo(key)
180+
// ListObjectsV2 returns the default storageClass "STANDARD", even though other APIs may not.
181+
assertThat(it[0].storageClass()).isEqualTo(ObjectStorageClass.STANDARD)
171182
}
172183
}
173184
}

integration-tests/src/test/kotlin/com/adobe/testing/s3mock/its/VersionsIT.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import software.amazon.awssdk.services.s3.S3Client
2727
import software.amazon.awssdk.services.s3.model.BucketVersioningStatus
2828
import software.amazon.awssdk.services.s3.model.ChecksumAlgorithm
2929
import software.amazon.awssdk.services.s3.model.ObjectAttributes
30+
import software.amazon.awssdk.services.s3.model.ObjectVersionStorageClass
3031
import software.amazon.awssdk.services.s3.model.S3Exception
3132
import software.amazon.awssdk.services.s3.model.StorageClass
3233

@@ -100,7 +101,7 @@ internal class VersionsIT : S3TestBase() {
100101
)
101102
}.also {
102103
assertThat(it.versionId()).isEqualTo(versionId)
103-
// default storageClass is STANDARD, which is never returned from APIs
104+
// GetObjectAttributes returns the default storageClass "STANDARD", even though other APIs may not.
104105
assertThat(it.storageClass()).isEqualTo(StorageClass.STANDARD)
105106
assertThat(it.objectSize()).isEqualTo(UPLOAD_FILE_LENGTH)
106107
assertThat(it.checksum().checksumSHA1()).isEqualTo(expectedChecksum)
@@ -260,6 +261,8 @@ internal class VersionsIT : S3TestBase() {
260261
assertThat(listObjectVersions.hasVersions()).isTrue
261262
assertThat(listObjectVersions.versions()[0].key()).isEqualTo(UPLOAD_FILE_NAME)
262263
assertThat(listObjectVersions.versions()[0].versionId()).isEqualTo(versionId)
264+
// ListObjectVersions returns the default storageClass "STANDARD", even though other APIs may not.
265+
assertThat(listObjectVersions.versions()[0].storageClass()).isEqualTo(ObjectVersionStorageClass.STANDARD)
263266

264267
assertThatThrownBy {
265268
s3Client.getObject {

0 commit comments

Comments
 (0)