@@ -23,7 +23,6 @@ import org.junit.jupiter.api.TestInfo
2323import software.amazon.awssdk.core.sync.RequestBody
2424import software.amazon.awssdk.services.s3.S3Client
2525import software.amazon.awssdk.services.s3.model.BucketVersioningStatus
26- import java.io.File
2726
2827internal class ListObjectVersionsIT : S3TestBase () {
2928 private val s3Client: S3Client = createS3Client()
@@ -47,6 +46,43 @@ internal class ListObjectVersionsIT : S3TestBase() {
4746 RequestBody .fromFile(UPLOAD_FILE )
4847 ).versionId()
4948
49+ val version2 = s3Client.putObject(
50+ {
51+ it.bucket(bucketName)
52+ it.key(" $UPLOAD_FILE_NAME -1" )
53+ },
54+ RequestBody .fromFile(UPLOAD_FILE )
55+ ).versionId()
56+
57+ s3Client.listObjectVersions {
58+ it.bucket(bucketName)
59+ }.also {
60+ assertThat(it.versions())
61+ .hasSize(2 )
62+ .extracting(" versionId" , " isLatest" )
63+ .containsExactly(Tuple (version2, true ), Tuple (version1, false ))
64+ }
65+ }
66+
67+ @Test
68+ @S3VerifiedSuccess(year = 2025 )
69+ fun listObjectVersions_differentObjects (testInfo : TestInfo ) {
70+ val bucketName = givenBucket(testInfo)
71+ s3Client.putBucketVersioning {
72+ it.bucket(bucketName)
73+ it.versioningConfiguration {
74+ it.status(BucketVersioningStatus .ENABLED )
75+ }
76+ }
77+
78+ val version1 = s3Client.putObject(
79+ {
80+ it.bucket(bucketName)
81+ it.key(" $UPLOAD_FILE_NAME -1" )
82+ },
83+ RequestBody .fromFile(UPLOAD_FILE )
84+ ).versionId()
85+
5086 val version2 = s3Client.putObject(
5187 {
5288 it.bucket(bucketName)
@@ -61,7 +97,7 @@ internal class ListObjectVersionsIT : S3TestBase() {
6197 assertThat(it.versions())
6298 .hasSize(2 )
6399 .extracting(" versionId" , " isLatest" )
64- .containsExactlyInAnyOrder (Tuple (version1, true ), Tuple (version2, true ))
100+ .containsExactly (Tuple (version1, true ), Tuple (version2, true ))
65101 }
66102 }
67103
@@ -146,7 +182,7 @@ internal class ListObjectVersionsIT : S3TestBase() {
146182 assertThat(it.deleteMarkers())
147183 .hasSize(1 )
148184 .extracting(" key" )
149- .containsExactlyInAnyOrder (" $UPLOAD_FILE_NAME -3" )
185+ .containsExactly (" $UPLOAD_FILE_NAME -3" )
150186 }
151187 }
152188}
0 commit comments