Skip to content

Commit 852e9a2

Browse files
authored
fix failing tests (#96)
1 parent 5b47a83 commit 852e9a2

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

src/test/java/cloud/localstack/awssdkv2/BasicFeaturesSDKV2Test.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
import cloud.localstack.Constants;
44
import cloud.localstack.LocalstackTestRunner;
5+
import cloud.localstack.awssdkv1.sample.SQSLambdaHandler;
56
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
67
import cloud.localstack.sample.LambdaHandler;
8+
import cloud.localstack.utils.LocalTestUtil;
9+
import com.amazonaws.services.s3.model.ObjectListing;
710
import io.thundra.jexter.junit4.core.sysprop.SystemPropertySandboxRule;
11+
import lombok.SneakyThrows;
812
import lombok.val;
13+
import org.assertj.core.api.Assertions;
914
import org.junit.Assert;
1015
import org.junit.BeforeClass;
1116
import org.junit.ClassRule;
@@ -40,10 +45,7 @@
4045
import software.amazon.awssdk.services.iam.model.User;
4146
import software.amazon.awssdk.services.kinesis.KinesisAsyncClient;
4247
import software.amazon.awssdk.services.kinesis.KinesisClient;
43-
import software.amazon.awssdk.services.kinesis.model.CreateStreamRequest;
44-
import software.amazon.awssdk.services.kinesis.model.CreateStreamResponse;
45-
import software.amazon.awssdk.services.kinesis.model.PutRecordRequest;
46-
import software.amazon.awssdk.services.kinesis.model.PutRecordResponse;
48+
import software.amazon.awssdk.services.kinesis.model.*;
4749
import software.amazon.awssdk.services.lambda.model.CreateFunctionRequest;
4850
import software.amazon.awssdk.services.lambda.model.CreateFunctionResponse;
4951
import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse;
@@ -152,6 +154,7 @@ public void testCreateKinesisRecordAsyncV2() throws Exception {
152154
KinesisAsyncClient kinesisAsyncClient = TestUtils.getClientKinesisAsyncV2();
153155
validateCreateKinesisRecordV2(
154156
createReq -> kinesisAsyncClient.createStream(createReq).get(),
157+
describeReq -> kinesisAsyncClient.describeStream(describeReq).get(),
155158
putReq -> kinesisAsyncClient.putRecord(putReq).get()
156159
);
157160
}
@@ -161,12 +164,14 @@ public void testCreateKinesisRecordV2() throws Exception {
161164
KinesisClient kinesisClient = TestUtils.getClientKinesisV2();
162165
validateCreateKinesisRecordV2(
163166
createReq -> kinesisClient.createStream(createReq),
167+
describeReq -> kinesisClient.describeStream(describeReq),
164168
putReq -> kinesisClient.putRecord(putReq)
165169
);
166170
}
167171

168172
protected static void validateCreateKinesisRecordV2(
169173
ThrowingFunction<CreateStreamRequest, CreateStreamResponse> createAction,
174+
ThrowingFunction<DescribeStreamRequest, DescribeStreamResponse> describeAction,
170175
ThrowingFunction<PutRecordRequest, PutRecordResponse> putAction
171176
) throws Exception {
172177
String streamName = "test-s-"+UUID.randomUUID().toString();
@@ -175,6 +180,18 @@ protected static void validateCreateKinesisRecordV2(
175180
CreateStreamResponse response = createAction.apply(request);
176181
Assert.assertNotNull(response);
177182

183+
// wait for the stream to become active
184+
DescribeStreamRequest describeStreamRequest = DescribeStreamRequest.builder().streamName(streamName).build();
185+
Runnable check = new Runnable() {
186+
@SneakyThrows
187+
public void run() {
188+
DescribeStreamResponse describeResponse = describeAction.apply(describeStreamRequest);
189+
Assert.assertNotNull(describeResponse);
190+
Assert.assertEquals(describeResponse.streamDescription().streamStatus(), StreamStatus.ACTIVE);
191+
}
192+
};
193+
LocalTestUtil.retry(check, 5, 1);
194+
178195
SdkBytes payload = SdkBytes.fromByteBuffer(ByteBuffer.wrap(String.format("testData-%d", 1).getBytes()));
179196
PutRecordRequest.Builder putRecordRequest = PutRecordRequest.builder();
180197
putRecordRequest.streamName(streamName);

0 commit comments

Comments
 (0)