Skip to content

Commit 89c31dd

Browse files
committed
Address @msailes comments
1 parent d2719fd commit 89c31dd

File tree

5 files changed

+22
-64
lines changed

5 files changed

+22
-64
lines changed

sample-apps/blank-java/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ dependencies {
2020
implementation 'org.apache.logging.log4j:log4j-core:[2.17.1,)'
2121
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:[2.17.1,)'
2222
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.5.0'
23+
testImplementation 'com.amazonaws:aws-lambda-java-tests:1.1.1'
2324
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
2425
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
2526
}

sample-apps/blank-java/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,12 @@
7979
<version>5.6.0</version>
8080
<scope>test</scope>
8181
</dependency>
82-
82+
<dependency>
83+
<groupId>com.amazonaws</groupId>
84+
<artifactId>aws-lambda-java-tests</artifactId>
85+
<version>1.1.1</version>
86+
<scope>test</scope>
87+
</dependency>
8388
</dependencies>
8489

8590
<build>

sample-apps/blank-java/src/main/java/example/Handler.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.slf4j.Logger;
99
import org.slf4j.LoggerFactory;
1010

11+
import software.amazon.awssdk.core.SdkSystemSetting;
1112
import software.amazon.awssdk.regions.Region;
1213
import software.amazon.awssdk.services.lambda.LambdaClient;
1314
import software.amazon.awssdk.services.lambda.model.GetAccountSettingsResponse;
@@ -17,9 +18,8 @@
1718
public class Handler implements RequestHandler<Map<String,String>, String> {
1819

1920
private static final Logger logger = LoggerFactory.getLogger(Handler.class);
20-
private static final Region region = Region.US_EAST_1;
21-
private static final LambdaClient awsLambda = LambdaClient.builder()
22-
.region(region)
21+
private static final LambdaClient lambdaClient = LambdaClient.builder()
22+
.region(Region.of(System.getenv(SdkSystemSetting.AWS_REGION.environmentVariable())))
2323
.build();
2424

2525
@Override
@@ -30,14 +30,12 @@ public String handleRequest(Map<String,String> event, Context context) {
3030
logger.info("EVENT: " + event);
3131

3232
// process event
33-
GetAccountSettingsResponse response;
33+
GetAccountSettingsResponse response = null;
3434
try {
35-
response = awsLambda.getAccountSettings();
36-
System.out.println("Total code size for your account is " + response.accountLimit().totalCodeSize() + " bytes");
35+
response = lambdaClient.getAccountSettings();
3736
} catch(LambdaException e) {
3837
System.err.println(e.getMessage());
39-
System.exit(1);
4038
}
41-
return "200 OK";
39+
return response != null ? "Total code size for your account is " + response.accountLimit().totalCodeSize() + " bytes" : "Error";
4240
}
4341
}
Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
11
package example;
22

33
import static org.junit.jupiter.api.Assertions.assertTrue;
4-
import org.junit.jupiter.api.Test;
4+
import org.junit.jupiter.params.ParameterizedTest;
55

66
import com.amazonaws.services.lambda.runtime.Context;
7-
import com.fasterxml.jackson.databind.JsonMappingException;
8-
import com.fasterxml.jackson.databind.ObjectMapper;
9-
import com.fasterxml.jackson.core.JsonProcessingException;
10-
import com.fasterxml.jackson.core.type.TypeReference;
7+
import com.amazonaws.services.lambda.runtime.tests.annotations.Event;
118

12-
import java.util.HashMap;
139
import java.util.Map;
14-
import java.io.IOException;
15-
import java.nio.charset.StandardCharsets;
16-
import java.nio.file.Files;
17-
import java.nio.file.Paths;
18-
import java.util.stream.Stream;
1910

2011
import com.amazonaws.xray.AWSXRay;
2112
import com.amazonaws.xray.AWSXRayRecorderBuilder;
@@ -29,40 +20,14 @@ public InvokeTest() {
2920
AWSXRay.setGlobalRecorder(builder.build());
3021
}
3122

32-
@Test
33-
void invokeTest() {
23+
@ParameterizedTest
24+
@Event(value = "event.json", type = Map.class)
25+
void invokeTest(Map<String, String> event) {
3426
AWSXRay.beginSegment("blank-java-test");
35-
String path = "src/test/resources/event.json";
36-
String eventString = loadJsonFile(path);
37-
38-
ObjectMapper mapper = new ObjectMapper();
39-
TypeReference<HashMap<String, String>> typeRef = new TypeReference<HashMap<String, String>>() {};
40-
Map<String, String> event = new HashMap<>();
41-
try {
42-
event = mapper.readValue(eventString, typeRef);
43-
} catch (JsonMappingException e) {
44-
e.printStackTrace();
45-
} catch (JsonProcessingException e) {
46-
e.printStackTrace();
47-
}
4827
Context context = new TestContext();
4928
Handler handler = new Handler();
5029
String result = handler.handleRequest(event, context);
51-
assertTrue(result.contains("200 OK"));
30+
assertTrue(result.contains("Total code size for your account"));
5231
AWSXRay.endSegment();
5332
}
54-
55-
private static String loadJsonFile(String path)
56-
{
57-
StringBuilder stringBuilder = new StringBuilder();
58-
try (Stream<String> stream = Files.lines( Paths.get(path), StandardCharsets.UTF_8))
59-
{
60-
stream.forEach(s -> stringBuilder.append(s));
61-
}
62-
catch (IOException e)
63-
{
64-
e.printStackTrace();
65-
}
66-
return stringBuilder.toString();
67-
}
6833
}

sample-apps/java-events/src/main/java/example/HandlerSQS.java

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,19 @@
55
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
66
import com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
77

8-
import com.google.gson.Gson;
9-
import com.google.gson.GsonBuilder;
10-
118
import org.slf4j.Logger;
129
import org.slf4j.LoggerFactory;
1310

1411
// Handler value: example.HandlerSQS
15-
public class HandlerSQS implements RequestHandler<SQSEvent, String>{
12+
public class HandlerSQS implements RequestHandler<SQSEvent, Void>{
1613
private static final Logger logger = LoggerFactory.getLogger(HandlerSQS.class);
17-
Gson gson = new GsonBuilder().setPrettyPrinting().create();
1814
@Override
19-
public String handleRequest(SQSEvent event, Context context)
15+
public Void handleRequest(SQSEvent event, Context context)
2016
{
21-
String response = new String("200 OK");
22-
// log execution details
23-
logger.info("ENVIRONMENT VARIABLES: {}", gson.toJson(System.getenv()));
24-
logger.info("CONTEXT: {}", gson.toJson(context));
25-
logger.info("EVENT: {}", gson.toJson(event));
2617
// process event
2718
for(SQSMessage msg : event.getRecords()){
2819
logger.info(msg.getBody());
2920
}
30-
// log execution details
31-
Util.logEnvironment(event, context, gson);
32-
return response;
21+
return null;
3322
}
3423
}

0 commit comments

Comments
 (0)