Skip to content

Commit 52d5e52

Browse files
committed
refactor logging config; fix Kinesis CBOR tests
1 parent 7e8c822 commit 52d5e52

File tree

10 files changed

+83
-68
lines changed

10 files changed

+83
-68
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,12 @@
128128
<version>2.14.1</version>
129129
<scope>provided</scope>
130130
</dependency>
131+
<dependency>
132+
<groupId>org.apache.logging.log4j</groupId>
133+
<artifactId>log4j-jcl</artifactId>
134+
<version>2.14.1</version>
135+
<scope>provided</scope>
136+
</dependency>
131137

132138
<!-- test dependencies -->
133139
<dependency>

src/test/java/cloud/localstack/awssdkv1/CWMetricsTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
44
import cloud.localstack.LocalstackTestRunner;
5-
import cloud.localstack.awssdkv1.TestUtils;
65

76
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
87
import com.amazonaws.services.cloudwatch.model.*;

src/test/java/cloud/localstack/awssdkv1/CloudWatchLogsTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import com.amazonaws.services.logs.model.PutLogEventsRequest;
2222

2323
import cloud.localstack.LocalstackTestRunner;
24-
import cloud.localstack.awssdkv1.TestUtils;
2524
import cloud.localstack.docker.LocalstackDockerExtension;
2625
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
2726

src/test/java/cloud/localstack/awssdkv1/IAMTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import cloud.localstack.LocalstackTestRunner;
77
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
8-
import cloud.localstack.awssdkv1.TestUtils;
98

109
import java.util.*;
1110
import java.util.concurrent.atomic.AtomicBoolean;

src/test/java/cloud/localstack/awssdkv1/KMSTest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
package cloud.localstack.awssdkv1;
22

3-
import cloud.localstack.awssdkv1.PowerMockLocalStack;
4-
5-
import static org.junit.jupiter.api.Assertions.assertEquals;
6-
import static org.junit.jupiter.api.Assertions.assertNotNull;
7-
83
import java.nio.ByteBuffer;
94

105
import com.amazonaws.services.kms.AWSKMS;
Lines changed: 70 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package cloud.localstack.awssdkv1;
22

33
import cloud.localstack.LocalstackTestRunner;
4-
import cloud.localstack.awssdkv1.TestUtils;
4+
import cloud.localstack.docker.annotation.*;
55

66
import com.amazonaws.services.kinesis.AmazonKinesisAsync;
77
import com.amazonaws.services.kinesis.model.CreateStreamRequest;
@@ -10,6 +10,7 @@
1010
import com.amazonaws.services.kinesis.model.GetRecordsResult;
1111
import com.amazonaws.services.kinesis.model.GetShardIteratorRequest;
1212
import com.amazonaws.SDKGlobalConfiguration;
13+
import com.amazonaws.services.kinesis.model.ResourceInUseException;
1314

1415
import org.junit.Assert;
1516
import org.junit.Test;
@@ -21,51 +22,75 @@
2122
import java.nio.ByteBuffer;
2223

2324
@RunWith(LocalstackTestRunner.class)
25+
@LocalstackDockerProperties(ignoreDockerRunErrors=true)
2426
public class KinesisConsumerTest {
2527

26-
@Test
27-
public void testGetRecordCBOR() throws Exception {
28-
String streamName = "test-s-" + UUID.randomUUID().toString();
29-
AmazonKinesisAsync kinesisClient = TestUtils.getClientKinesisAsync();
28+
@Test
29+
public void testGetRecordCBOR() throws Exception {
30+
String valueBefore = this.getCborDisableConfig();
31+
System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, "false");
32+
try {
33+
this.runGetRecord();
34+
} finally {
35+
System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, valueBefore);
36+
}
37+
}
38+
39+
@Test
40+
public void testGetRecordJSON() throws Exception {
41+
String valueBefore = this.getCborDisableConfig();
42+
System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, "true");
43+
try {
44+
this.runGetRecord();
45+
} finally {
46+
System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, valueBefore);
47+
}
48+
}
49+
50+
private String getCborDisableConfig() {
51+
String valueBefore = System.getProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY);
52+
valueBefore = valueBefore == null ? "" : valueBefore;
53+
return valueBefore;
54+
}
55+
56+
private void runGetRecord() throws Exception {
57+
String streamName = "test-s-" + UUID.randomUUID().toString();
58+
AmazonKinesisAsync kinesisClient = TestUtils.getClientKinesisAsync();
59+
60+
try {
61+
CreateStreamRequest createStreamRequest = new CreateStreamRequest();
62+
createStreamRequest.setStreamName(streamName);
63+
createStreamRequest.setShardCount(1);
64+
65+
kinesisClient.createStream(createStreamRequest);
66+
TimeUnit.SECONDS.sleep(1);
67+
} catch (ResourceInUseException e) { /* ignore */ }
68+
69+
PutRecordRequest putRecordRequest = new PutRecordRequest();
70+
putRecordRequest.setPartitionKey("partitionkey");
71+
putRecordRequest.setStreamName(streamName);
72+
73+
String message = "Hello world!";
74+
putRecordRequest.setData(ByteBuffer.wrap(message.getBytes()));
75+
76+
String shardId = kinesisClient.putRecord(putRecordRequest).getShardId();
77+
78+
GetShardIteratorRequest getShardIteratorRequest = new GetShardIteratorRequest();
79+
getShardIteratorRequest.setShardId(shardId);
80+
getShardIteratorRequest.setShardIteratorType("TRIM_HORIZON");
81+
getShardIteratorRequest.setStreamName(streamName);
82+
83+
String shardIterator = kinesisClient.getShardIterator(getShardIteratorRequest).getShardIterator();
84+
85+
GetRecordsRequest getRecordRequest = new GetRecordsRequest();
86+
getRecordRequest.setShardIterator(shardIterator);
87+
88+
getRecordRequest.setShardIterator(shardIterator);
89+
GetRecordsResult recordsResponse = kinesisClient.getRecords(getRecordRequest);
90+
91+
List<String> records = recordsResponse.getRecords().stream().map(r -> new String(r.getData().array()))
92+
.collect(Collectors.toList());
93+
Assert.assertEquals(message, records.get(0));
94+
}
3095

31-
CreateStreamRequest createStreamRequest = new CreateStreamRequest();
32-
createStreamRequest.setStreamName(streamName);
33-
createStreamRequest.setShardCount(1);
34-
35-
kinesisClient.createStream(createStreamRequest);
36-
TimeUnit.SECONDS.sleep(2);
37-
38-
PutRecordRequest putRecordRequest = new PutRecordRequest();
39-
putRecordRequest.setPartitionKey("partitionkey");
40-
putRecordRequest.setStreamName(streamName);
41-
42-
String message = "Hello world!";
43-
putRecordRequest.setData(ByteBuffer.wrap(message.getBytes()));
44-
45-
String shardId = kinesisClient.putRecord(putRecordRequest).getShardId();
46-
47-
GetShardIteratorRequest getShardIteratorRequest = new GetShardIteratorRequest();
48-
getShardIteratorRequest.setShardId(shardId);
49-
getShardIteratorRequest.setShardIteratorType("TRIM_HORIZON");
50-
getShardIteratorRequest.setStreamName(streamName);
51-
52-
String shardIterator = kinesisClient.getShardIterator(getShardIteratorRequest).getShardIterator();
53-
54-
GetRecordsRequest getRecordRequest = new GetRecordsRequest();
55-
getRecordRequest.setShardIterator(shardIterator);
56-
57-
getRecordRequest.setShardIterator(shardIterator);
58-
GetRecordsResult recordsResponse = kinesisClient.getRecords(getRecordRequest);
59-
60-
List<String> records = recordsResponse.getRecords().stream().map(r -> new String(r.getData().array()))
61-
.collect(Collectors.toList());
62-
Assert.assertEquals(message, records.get(0));
63-
}
64-
65-
@Test
66-
public void testGetRecordJSON() throws Exception {
67-
System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, "true");
68-
this.testGetRecordCBOR();
69-
System.setProperty(SDKGlobalConfiguration.AWS_CBOR_DISABLE_SYSTEM_PROPERTY, "false");
70-
}
7196
}

src/test/java/cloud/localstack/awssdkv1/LocalTestUtilSDKV1.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
1-
package cloud.localstack.awssdkv2;
2-
3-
import java.io.ByteArrayOutputStream;
4-
import java.io.File;
5-
import java.io.IOException;
6-
import java.nio.ByteBuffer;
7-
import java.util.jar.JarEntry;
8-
import java.util.jar.JarOutputStream;
9-
import java.util.zip.ZipEntry;
10-
import java.util.zip.ZipOutputStream;
1+
package cloud.localstack.awssdkv1;
112

123
import com.amazonaws.services.kinesis.model.Record;
134
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
145

15-
import org.apache.commons.io.IOUtils;
16-
176
import cloud.localstack.utils.LocalTestUtil;
187

198
public class LocalTestUtilSDKV1 extends LocalTestUtil {

src/test/java/cloud/localstack/deprecated/BasicFunctionalityTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cloud.localstack.deprecated;
22

33
import cloud.localstack.CommonUtils;
4+
import cloud.localstack.awssdkv1.LocalTestUtilSDKV1;
45
import cloud.localstack.utils.LocalTestUtil;
56
import cloud.localstack.awssdkv1.TestUtils;
67
import cloud.localstack.awssdkv1.sample.KinesisLambdaHandler;
@@ -109,7 +110,7 @@ public void testKinesisLambdaIntegration() throws Exception {
109110
CreateFunctionRequest request = new CreateFunctionRequest();
110111
request.setFunctionName(functionName);
111112
request.setRuntime(Runtime.Java8);
112-
request.setCode(LocalTestUtil.createFunctionCode(KinesisLambdaHandler.class));
113+
request.setCode(LocalTestUtilSDKV1.createFunctionCode(KinesisLambdaHandler.class));
113114
request.setHandler(KinesisLambdaHandler.class.getName());
114115
request.setRole("r1");
115116
lambda.createFunction(request);
@@ -145,7 +146,7 @@ public void testSQSLambdaIntegration() throws Exception {
145146
request.setFunctionName(functionName);
146147
request.setRuntime(Runtime.Java8);
147148
request.setRole("r1");
148-
request.setCode(LocalTestUtil.createFunctionCode(SQSLambdaHandler.class));
149+
request.setCode(LocalTestUtilSDKV1.createFunctionCode(SQSLambdaHandler.class));
149150
request.setHandler(SQSLambdaHandler.class.getName());
150151
lambda.createFunction(request);
151152

src/test/resources/log4j2.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,8 @@
1010
<AppenderRef ref="ConsoleAppender"/>
1111
</Root>
1212
<Logger name="software.amazon.awssdk" level="INFO" />
13+
<!-- enable lines below for detailed message logging -->
14+
<!-- <Logger name="org.apache.http.wire" level="DEBUG" />-->
15+
<!-- <Logger name="com.amazonaws.request" level="DEBUG" />-->
1316
</Loggers>
1417
</Configuration>

src/test/resources/logback.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22
<configuration>
33
<logger name="org.testcontainers" level="INFO"/>
44
<logger name="com.github.dockerjava" level="INFO"/>
5-
<logger name="software.amazon.awssdk" level="DEBUG"/>
65
</configuration>

0 commit comments

Comments
 (0)