Skip to content

Commit 248205e

Browse files
committed
fix project setup and classpath for SDK v1/v2 utils
1 parent 4868a56 commit 248205e

40 files changed

+202
-144
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ script:
1717
- set -e
1818
- nohup docker pull localstack/localstack > /dev/null &
1919
- make compile
20-
- mvn -q -DskipTests test
20+
- MVN_TEST_ARGS="-q -DskipTests" make test
2121
- make test
2222
- docker ps -a
2323

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ publish-maven: ## Publish artifacts to Maven Central
1313
ADDITIONAL_MVN_TARGETS=deploy ADDITIONAL_MVN_ARGS="-DskipTests" make build
1414

1515
test-v1:
16-
USE_SSL=1 SERVICES=serverless,kinesis,sns,sqs,iam,cloudwatch mvn -Pawssdkv1 \
17-
-Dtest="!cloud.localstack.awssdkv2.*Test" test
16+
USE_SSL=1 SERVICES=serverless,kinesis,sns,sqs,iam,cloudwatch mvn $(MVN_TEST_ARGS) -Pawssdkv1 \
17+
-Dtest="cloud.localstack.awssdkv1.*Test" test
1818

1919
test-v2:
20-
USE_SSL=1 SERVICES=serverless,kinesis,sns,sqs,iam,cloudwatch mvn -Pawssdkv2 \
20+
USE_SSL=1 SERVICES=serverless,kinesis,sns,sqs,iam,cloudwatch mvn $(MVN_TEST_ARGS) -Pawssdkv2 \
2121
-Dtest="cloud.localstack.awssdkv2.*Test" test
2222

2323
test: ## Run Java/JUnit tests for AWS SDK v1 and v2

pom.xml

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,24 @@
201201
</profile>
202202
<profile>
203203
<id>awssdkv1</id>
204+
<build>
205+
<plugins>
206+
<plugin>
207+
<groupId>org.apache.maven.plugins</groupId>
208+
<artifactId>maven-compiler-plugin</artifactId>
209+
<configuration>
210+
<excludes>
211+
<exclude>**/awssdkv2/**/*.java</exclude>
212+
<exclude>**/deprecated/**/*.java</exclude>
213+
</excludes>
214+
<testExcludes>
215+
<exclude>**/awssdkv2/**/*.java</exclude>
216+
<exclude>**/deprecated/**/*.java</exclude>
217+
</testExcludes>
218+
</configuration>
219+
</plugin>
220+
</plugins>
221+
</build>
204222
<dependencies>
205223
<dependency>
206224
<groupId>com.amazonaws</groupId>
@@ -248,6 +266,24 @@
248266
</profile>
249267
<profile>
250268
<id>awssdkv2</id>
269+
<build>
270+
<plugins>
271+
<plugin>
272+
<groupId>org.apache.maven.plugins</groupId>
273+
<artifactId>maven-compiler-plugin</artifactId>
274+
<configuration>
275+
<excludes>
276+
<exclude>**/awssdkv1/**/*.java</exclude>
277+
<exclude>**/deprecated/**/*.java</exclude>
278+
</excludes>
279+
<testExcludes>
280+
<exclude>**/awssdkv1/**/*.java</exclude>
281+
<exclude>**/deprecated/**/*.java</exclude>
282+
</testExcludes>
283+
</configuration>
284+
</plugin>
285+
</plugins>
286+
</build>
251287
<dependencies>
252288
<dependency>
253289
<groupId>software.amazon.awssdk</groupId>
@@ -276,18 +312,6 @@
276312
<version>${aws.sdkv2.version}</version>
277313
<scope>provided</scope>
278314
</dependency>
279-
<dependency>
280-
<groupId>software.amazon.awssdk</groupId>
281-
<artifactId>sns</artifactId>
282-
<version>${aws.sdkv2.version}</version>
283-
<scope>provided</scope>
284-
</dependency>
285-
<dependency>
286-
<groupId>software.amazon.awssdk</groupId>
287-
<artifactId>sqs</artifactId>
288-
<version>${aws.sdkv2.version}</version>
289-
<scope>provided</scope>
290-
</dependency>
291315
<dependency>
292316
<groupId>software.amazon.awssdk</groupId>
293317
<artifactId>ssm</artifactId>
@@ -300,12 +324,6 @@
300324
<version>${aws.sdkv2.version}</version>
301325
<scope>provided</scope>
302326
</dependency>
303-
<dependency>
304-
<groupId>software.amazon.awssdk</groupId>
305-
<artifactId>kinesis</artifactId>
306-
<version>${aws.sdkv2.version}</version>
307-
<scope>provided</scope>
308-
</dependency>
309327
<dependency>
310328
<groupId>software.amazon.awssdk</groupId>
311329
<artifactId>s3</artifactId>
@@ -477,12 +495,12 @@
477495
<plugin>
478496
<groupId>org.apache.maven.plugins</groupId>
479497
<artifactId>maven-surefire-plugin</artifactId>
480-
<version>2.21.0</version>
498+
<version>2.22.1</version>
481499
<dependencies>
482500
<dependency>
483501
<groupId>org.apache.maven.surefire</groupId>
484502
<artifactId>surefire-junit4</artifactId>
485-
<version>2.21.0</version>
503+
<version>2.22.1</version>
486504
</dependency>
487505
<dependency>
488506
<groupId>org.junit.platform</groupId>

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

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

33
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
4+
import cloud.localstack.LocalstackTestRunner;
45
import cloud.localstack.awssdkv1.TestUtils;
56

67
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import java.util.ArrayList;
44
import java.util.List;
@@ -20,6 +20,7 @@
2020
import com.amazonaws.services.logs.model.OutputLogEvent;
2121
import com.amazonaws.services.logs.model.PutLogEventsRequest;
2222

23+
import cloud.localstack.LocalstackTestRunner;
2324
import cloud.localstack.awssdkv1.TestUtils;
2425
import cloud.localstack.docker.LocalstackDockerExtension;
2526
import cloud.localstack.docker.annotation.LocalstackDockerProperties;

src/test/java/cloud/localstack/DDBEventMappingTest.java renamed to src/test/java/cloud/localstack/awssdkv1/DDBEventMappingTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import cloud.localstack.lambda.DDBEventParser;
44
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import static org.junit.Assert.assertEquals;
44
import static org.junit.jupiter.api.Assertions.assertTrue;
55

6+
import cloud.localstack.LocalstackTestRunner;
67
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
78
import cloud.localstack.awssdkv1.TestUtils;
89

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import cloud.localstack.awssdkv1.PowerMockLocalStack;
44

src/test/java/cloud/localstack/KinesisConsumerTest.java renamed to src/test/java/cloud/localstack/awssdkv1/KinesisConsumerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import cloud.localstack.LocalstackTestRunner;
44
import cloud.localstack.awssdkv1.TestUtils;

src/test/java/cloud/localstack/KinesisEventMappingTest.java renamed to src/test/java/cloud/localstack/awssdkv1/KinesisEventMappingTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import cloud.localstack.lambda.KinesisEventParser;
44
import com.amazonaws.services.lambda.runtime.events.KinesisEvent;
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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;
11+
12+
import org.apache.commons.io.IOUtils;
13+
import cloud.localstack.utils.LocalTestUtil;
14+
15+
public class LocalTestUtilSDKV1 extends LocalTestUtil {
16+
17+
public static com.amazonaws.services.lambda.model.FunctionCode createFunctionCode(Class<?> clazz) throws Exception {
18+
com.amazonaws.services.lambda.model.FunctionCode code = new com.amazonaws.services.lambda.model.FunctionCode();
19+
code.setZipFile(createFunctionByteBuffer(clazz, false));
20+
return code;
21+
}
22+
23+
}

src/test/java/cloud/localstack/PowerMockExampleTest.java renamed to src/test/java/cloud/localstack/awssdkv1/PowerMockExampleTest.java

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

3+
import cloud.localstack.LocalstackTestRunner;
34
import cloud.localstack.awssdkv1.TestUtils;
45
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
56

@@ -26,7 +27,6 @@
2627
/**
2728
* Test integration of SES messaging with LocalStack
2829
*/
29-
// @RunWith(LocalstackTestRunner.class)
3030
@RunWith(PowerMockRunner.class)
3131
@PowerMockRunnerDelegate(LocalstackTestRunner.class)
3232
@LocalstackDockerProperties(services = { "sns" })

src/test/java/cloud/localstack/PowerMockLocalStackExampleTest.java renamed to src/test/java/cloud/localstack/awssdkv1/PowerMockLocalStackExampleTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import javax.jms.JMSException;
44

src/test/java/cloud/localstack/S3EventMappingTest.java renamed to src/test/java/cloud/localstack/awssdkv1/S3EventMappingTest.java

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

3-
import cloud.localstack.lambda.S3EventParser;
43
import com.amazonaws.services.lambda.runtime.events.S3Event;
54
import com.amazonaws.services.s3.event.S3EventNotification;
65
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -10,6 +9,8 @@
109
import java.util.List;
1110
import java.util.Map;
1211

12+
import cloud.localstack.lambda.S3EventParser;
13+
import cloud.localstack.LocalstackTestRunner;
1314
import static cloud.localstack.LambdaExecutor.get;
1415
import static cloud.localstack.LambdaExecutor.readFile;
1516

src/test/java/cloud/localstack/S3FeaturesTest.java renamed to src/test/java/cloud/localstack/awssdkv1/S3FeaturesTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

33
import static org.junit.Assert.assertEquals;
44
import static org.junit.Assert.assertNotNull;
55

6+
import cloud.localstack.*;
67
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
78
import cloud.localstack.awssdkv1.TestUtils;
89

src/test/java/cloud/localstack/S3UploadTest.java renamed to src/test/java/cloud/localstack/awssdkv1/S3UploadTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

3+
import cloud.localstack.LocalstackTestRunner;
34
import cloud.localstack.awssdkv1.TestUtils;
45

56
import static org.junit.Assert.assertEquals;

src/test/java/cloud/localstack/SESMessagingTest.java renamed to src/test/java/cloud/localstack/awssdkv1/SESMessagingTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package cloud.localstack;
1+
package cloud.localstack.awssdkv1;
22

3+
import cloud.localstack.LocalstackTestRunner;
34
import cloud.localstack.awssdkv1.TestUtils;
45

56
import java.util.UUID;

src/test/java/cloud/localstack/SNSMessagingTest.java renamed to src/test/java/cloud/localstack/awssdkv1/SNSMessagingTest.java

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

3-
import cloud.localstack.utils.PromiseAsyncHandler;
3+
import cloud.localstack.LocalstackTestRunner;
4+
import cloud.localstack.awssdkv1.utils.PromiseAsyncHandler;
45
import cloud.localstack.awssdkv1.TestUtils;
56

67
import com.amazonaws.services.sns.AmazonSNS;

src/test/java/cloud/localstack/SQSMessagingTest.java renamed to src/test/java/cloud/localstack/awssdkv1/SQSMessagingTest.java

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

3-
import cloud.localstack.utils.PromiseAsyncHandler;
3+
import cloud.localstack.*;
44
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
5+
import cloud.localstack.awssdkv1.utils.PromiseAsyncHandler;
56
import cloud.localstack.awssdkv1.TestUtils;
67

78
import com.amazon.sqs.javamessaging.SQSConnection;

src/test/java/cloud/localstack/sample/KinesisLambdaHandler.java renamed to src/test/java/cloud/localstack/awssdkv1/sample/KinesisLambdaHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.sample;
1+
package cloud.localstack.awssdkv1.sample;
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;

src/test/java/cloud/localstack/sample/LambdaStreamHandler.java renamed to src/test/java/cloud/localstack/awssdkv1/sample/LambdaStreamHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.sample;
1+
package cloud.localstack.awssdkv1.sample;
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;

src/test/java/cloud/localstack/sample/S3Sample.java renamed to src/test/java/cloud/localstack/awssdkv1/sample/S3Sample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.sample;
1+
package cloud.localstack.awssdkv1.sample;
22
/*
33
* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*

src/test/java/cloud/localstack/sample/SQSLambdaHandler.java renamed to src/test/java/cloud/localstack/awssdkv1/sample/SQSLambdaHandler.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.sample;
1+
package cloud.localstack.awssdkv1.sample;
22

33
import cloud.localstack.awssdkv1.TestUtils;
44
import com.amazonaws.services.lambda.runtime.Context;
@@ -19,12 +19,7 @@ public class SQSLambdaHandler implements RequestHandler<SQSEvent, Object> {
1919
protected AmazonS3 clientS3;
2020

2121
public SQSLambdaHandler() {
22-
try {
23-
clientS3 = TestUtils.getClientS3();
24-
} catch (Exception e) {
25-
// fall back to deprecated TestUtils
26-
clientS3 = cloud.localstack.deprecated.TestUtils.getClientS3();
27-
}
22+
clientS3 = TestUtils.getClientS3();
2823
}
2924

3025
@Override

src/test/java/cloud/localstack/sample/SerializedInputLambdaHandler.java renamed to src/test/java/cloud/localstack/awssdkv1/sample/SerializedInputLambdaHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.sample;
1+
package cloud.localstack.awssdkv1.sample;
22

33
import com.amazonaws.services.lambda.runtime.Context;
44
import com.amazonaws.services.lambda.runtime.RequestHandler;

src/test/java/cloud/localstack/testcontainers/TestContainersSqsTest.java renamed to src/test/java/cloud/localstack/awssdkv1/testcontainers/TestContainersSqsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.testcontainers;
1+
package cloud.localstack.awssdkv1.testcontainers;
22

33
import cloud.localstack.Localstack;
44

src/test/java/cloud/localstack/utils/PromiseAsyncHandler.java renamed to src/test/java/cloud/localstack/awssdkv1/utils/PromiseAsyncHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cloud.localstack.utils;
1+
package cloud.localstack.awssdkv1.utils;
22

33
import com.amazonaws.AmazonWebServiceRequest;
44
import com.amazonaws.handlers.AsyncHandler;

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import cloud.localstack.LocalstackTestRunner;
55
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
66
import cloud.localstack.sample.LambdaHandler;
7-
import cloud.localstack.utils.LocalTestUtil;
7+
import cloud.localstack.awssdkv2.LocalTestUtilSDKV2;
88

99
import lombok.val;
1010

@@ -166,22 +166,26 @@ public void testGetSsmParameter() throws Exception {
166166
@Test
167167
public void testGetSecretsManagerSecret() throws Exception {
168168
final SecretsManagerAsyncClient clientSecretsManager = TestUtils.getClientSecretsManagerAsyncV2();
169+
final String secretName = "test-s-" + UUID.randomUUID().toString();
169170
clientSecretsManager.createSecret(
170-
CreateSecretRequest.builder().name("testsecret").secretString("secretcontent").build()).join();
171+
CreateSecretRequest.builder().name(secretName).secretString("secretcontent").build()).join();
171172
CompletableFuture<GetSecretValueResponse> getSecretResponse = clientSecretsManager.getSecretValue(
172-
GetSecretValueRequest.builder().secretId("testsecret").build());
173+
GetSecretValueRequest.builder().secretId(secretName).build());
173174
String secretValue = getSecretResponse.get().secretString();
174175

175176
Assert.assertNotNull(secretValue);
176177
Assert.assertEquals("secretcontent", secretValue);
178+
179+
// clean up
180+
clientSecretsManager.deleteSecret(DeleteSecretRequest.builder().secretId(secretName).build());
177181
}
178182

179183
@Test
180184
public void testGetSecretAsParam() throws Exception {
181185
final SsmAsyncClient clientSsm = TestUtils.getClientSSMAsyncV2();
182186
final SecretsManagerAsyncClient clientSecretsManager = TestUtils.getClientSecretsManagerAsyncV2();
183187

184-
final String secretName = "test-s-"+UUID.randomUUID().toString();
188+
final String secretName = "test-s-" + UUID.randomUUID().toString();
185189
clientSecretsManager.createSecret(CreateSecretRequest.builder()
186190
.name(secretName).secretString("secretcontent").build()).join();
187191

@@ -266,7 +270,7 @@ public void testLambdaCreateListFunctions() throws Exception {
266270
val createFunctionRequest = CreateFunctionRequest.builder().functionName(functionName)
267271
.runtime(Runtime.JAVA8)
268272
.role("r1")
269-
.code(LocalTestUtil.createFunctionCodeSDKV2(LambdaHandler.class))
273+
.code(LocalTestUtilSDKV2.createFunctionCode(LambdaHandler.class))
270274
.handler(LambdaHandler.class.getName()).build();
271275
val response = lambdaClient.createFunction(createFunctionRequest).get();
272276
Assert.assertNotNull(response);

0 commit comments

Comments
 (0)