[JAVA-26119] Merged aws-s3-update-object module with aws-s3

This commit is contained in:
panos-kakos
2023-10-17 19:13:25 +03:00
parent 5d6e1a21ff
commit 573132d239
12 changed files with 33 additions and 324 deletions
@@ -45,6 +45,13 @@ public class S3Application {
new File("/Users/user/Document/hello.txt")
);
s3Service.updateObject(
AWS_BUCKET,
"Document/hello2.txt",
new File("/Users/user/Document/hello2.txt")
);
//listing objects
s3Service.listObjects(AWS_BUCKET);
@@ -24,6 +24,7 @@ import software.amazon.awssdk.services.s3.model.GetObjectRequest;
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
import software.amazon.awssdk.services.s3.model.HeadBucketRequest;
import software.amazon.awssdk.services.s3.model.HeadObjectRequest;
import software.amazon.awssdk.services.s3.model.HeadObjectResponse;
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
@@ -99,7 +100,13 @@ class S3Service {
.key(key)
.build();
return s3Client.putObject(request, Path.of(file.toURI()) );
return s3Client.putObject(request, Path.of(file.toURI()));
}
//updating object
public PutObjectResponse updateObject(String bucketName, String key, java.io.File file) {
return this.putObject(bucketName, key, file);
}
//listing objects
@@ -110,6 +117,7 @@ class S3Service {
ListObjectsV2Response listObjectsV2Response = s3Client.listObjectsV2(listObjectsV2Request);
for(S3Object os : listObjectsV2Response.contents()) {
System.out.println(os.key());
}
}
@@ -11,6 +11,8 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import java.io.File;
import java.nio.file.Path;
import java.util.Collections;
import software.amazon.awssdk.services.s3.S3Client;
@@ -23,6 +25,7 @@ import software.amazon.awssdk.services.s3.model.HeadBucketRequest;
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
class S3ServiceIntegrationTest {
@@ -38,6 +41,8 @@ class S3ServiceIntegrationTest {
private final String AWS_BUCKET = "baeldung-tutorial-s3";
private File file = new File("/Users/user/Document/hello2.txt");
@BeforeEach
public void setup() {
MockitoAnnotations.openMocks(this);
@@ -75,6 +80,17 @@ class S3ServiceIntegrationTest {
verify(s3Client).createBucket(bucketRequest);
}
@Test
void whenVerifyingUploadOfS3Object_thenCorrect() {
PutObjectRequest request = PutObjectRequest.builder()
.bucket(BUCKET_NAME)
.key(KEY_NAME)
.build();
s3Service.putObject(BUCKET_NAME, KEY_NAME, file);
verify(s3Client).putObject(request, Path.of(file.toURI()) );
}
@Test
void whenVerifyingListBuckets_thenCorrect() {
when(s3Client.listBuckets()).thenReturn(ListBucketsResponse.builder().buckets(Collections.emptyList()).build());