public class S3IntegrationTest {
private static final String BUCKET_NAME = "my-s3-bucket";
private static final String FILE_NAME = "test.txt";
private AmazonS3 s3Client;
@Before
public void setup() {
AWSCredentialsProvider credentialsProvider = new DefaultAWSCredentialsProviderChain();
s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(credentialsProvider)
.withRegion(Regions.US_EAST_1)
.build();
}
@After
public void cleanup() {
if (s3Client.doesBucketExistV2(BUCKET_NAME)) {
s3Client.deleteObject(BUCKET_NAME, FILE_NAME);
s3Client.deleteBucket(BUCKET_NAME);
}
}
@Test
public void testS3Integration() {
s3Client.createBucket(BUCKET_NAME);
String content = "Hello, AWS S3!";
byte[] contentBytes = content.getBytes();
InputStream inputStream = new ByteArrayInputStream(contentBytes);
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(contentBytes.length);
s3Client.putObject(BUCKET_NAME, FILE_NAME, inputStream, objectMetadata);
S3Object s3Object = s3Client.getObject(BUCKET_NAME, FILE_NAME);
InputStream downloadedInputStream = s3Object.getObjectContent();
String downloadedContent = new BufferedReader(new InputStreamReader(downloadedInputStream)).lines()
.collect(Collectors.joining("
"));
assertEquals(content, downloadedContent);
}
}