44import cloud .localstack .LocalstackTestRunner ;
55
66import software .amazon .awssdk .core .SdkSystemSetting ;
7- import software .amazon .awssdk .services .sqs .*;
8- import software .amazon .awssdk .services .sqs .model .*;
97import software .amazon .awssdk .services .kinesis .*;
108import software .amazon .awssdk .services .kinesis .model .*;
9+ import software .amazon .awssdk .services .s3 .*;
10+ import software .amazon .awssdk .services .s3 .model .*;
11+ import software .amazon .awssdk .services .sns .*;
12+ import software .amazon .awssdk .services .sns .model .*;
13+ import software .amazon .awssdk .services .sqs .*;
14+ import software .amazon .awssdk .services .sqs .model .*;
1115import software .amazon .awssdk .auth .credentials .*;
1216import software .amazon .awssdk .regions .Region ;
1317import software .amazon .awssdk .utils .Logger ;
@@ -32,8 +36,7 @@ public void testCreateSqsQueueV2() throws Exception {
3236 CreateQueueRequest request = CreateQueueRequest .builder ().queueName (queueName ).build ();
3337 SqsAsyncClient sqsClient = TestUtils .getClientSQSAsyncV2 ();
3438 CreateQueueResponse queue = sqsClient .createQueue (request ).get ();
35- // TODO fix classpath for v2 and finalize test
36- System .out .println (queue );
39+ Assert .assertTrue (queue .queueUrl ().contains ("queue/" + queueName ));
3740 }
3841
3942 @ Test
@@ -43,8 +46,36 @@ public void testCreateKinesisStreamV2() throws Exception {
4346 CreateStreamRequest request = CreateStreamRequest .builder ()
4447 .streamName (streamName ).shardCount (1 ).build ();
4548 CreateStreamResponse response = kinesisClient .createStream (request ).get ();
46- // TODO fix classpath for v2 and finalize test
47- System .out .println (response );
49+ Assert .assertNotNull (response );
50+ }
51+
52+ @ Test
53+ public void testS3CreateListBuckets () throws Exception {
54+ String bucketName = "test-b-9716" ;
55+ S3AsyncClient s3Client = TestUtils .getClientS3AsyncV2 ();
56+ CreateBucketRequest request = CreateBucketRequest .builder ().bucket (bucketName ).build ();
57+ CreateBucketResponse response = s3Client .createBucket (request ).get ();
58+ Assert .assertNotNull (response );
59+ ListBucketsRequest listRequest = ListBucketsRequest .builder ().build ();
60+ ListBucketsResponse buckets = s3Client .listBuckets (listRequest ).get ();
61+ Bucket bucket = buckets .buckets ().stream ().filter (b -> b .name ().equals (bucketName )).findFirst ().get ();
62+ Assert .assertNotNull (bucket );
4863 }
4964
65+ @ Test
66+ public void testSendSNSMessage () throws Exception {
67+ // Test integration of SNS messaging with LocalStack using SDK v2
68+
69+ final String topicName = "test-t-6210" ;
70+ final SnsAsyncClient clientSNS = TestUtils .getClientSNSAsyncV2 ();
71+ CreateTopicResponse createTopicResponse = clientSNS .createTopic (
72+ CreateTopicRequest .builder ().name (topicName ).build ()).get ();
73+
74+ String topicArn = createTopicResponse .topicArn ();
75+ Assert .assertNotNull (topicArn );
76+ PublishRequest publishRequest = PublishRequest .builder ().topicArn (topicArn ).subject ("test subject" ).message ("message test." ).build ();
77+
78+ PublishResponse publishResponse = clientSNS .publish (publishRequest ).get ();
79+ Assert .assertNotNull (publishResponse .messageId ());
80+ }
5081}
0 commit comments