Skip to content

Commit 2e3cc2a

Browse files
add metadata.json
1 parent 63c4156 commit 2e3cc2a

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"title": "AWS AppSync with Java as Test Unit",
3+
"description": "This project contains unit, integration, and load tests for a pattern using AppSync, Dynamodb, CodePipeline, and Cognito",
4+
"content_language": "English",
5+
"language": "Java",
6+
"type": ["Unit", "Integration"],
7+
"diagram": "/assets/Architecture-appsync.png",
8+
"framework": "SAM",
9+
"services": ["appsync", "dynamodb"],
10+
"git_repo_url": "https://github.com/aws-samples/serverless-test-samples",
11+
"pattern_source": "AWS",
12+
"pattern_detail_tabs": [
13+
{
14+
"title": "Unit Tests",
15+
"filepath": "/src/test/java/com/example/MockTest.java"
16+
},
17+
{
18+
"title": "Integration Test",
19+
"filepath": "/src/test/java/com/example/IntegrationTest.java"
20+
}
21+
],
22+
"authors": [
23+
{
24+
"name": "Khairul Habib",
25+
"image": "https://media.licdn.com/dms/image/D4E03AQHqFAANIi27vQ/profile-displayphoto-shrink_800_800/0/1684490526016?e=1689811200&v=beta&t=30wDnGvZET0z7XI-quDfH7G3m4aGrrDbmo74lvha1y0",
26+
"bio": "Senior Solutions Architect at AWS",
27+
"linkedin": "https://www.linkedin.com/in/khairulhabib"
28+
}
29+
]
30+
}

java-test-samples/java-appsync-sam/src/test/java/com/example/MockTest.java

+38
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,40 @@ public void testGetSingleBookingResolver() throws IOException {
513513
}
514514
}
515515

516+
// Test delete booking resolver
517+
@Test
518+
public void testDeleteBookingResolver() throws IOException {
519+
ObjectMapper mapper = new ObjectMapper();
520+
JsonNode contextMap = mapper.readTree(bookingContext);
521+
522+
// Test request mapping template
523+
EvaluateMappingTemplateRequest templateRequest = EvaluateMappingTemplateRequest.builder()
524+
.template(getTemplateToString("delete_booking_request.vtl"))
525+
.context(bookingContext)
526+
.build();
527+
EvaluateMappingTemplateResponse templateResponseRequest = appClient.evaluateMappingTemplate(templateRequest);
528+
Assertions.assertNotNull(templateResponseRequest.evaluationResult());
529+
530+
JsonNode resultMapRequest = mapper.readTree(templateResponseRequest.evaluationResult());
531+
532+
Assertions.assertEquals("DeleteItem", resultMapRequest.get("operation").asText());
533+
Assertions.assertEquals(contextMap.get("arguments").get("bookingid"), resultMapRequest.get("key").get("bookingid").get("S"));
534+
535+
// Test response mapping response
536+
EvaluateMappingTemplateRequest templateResponse = EvaluateMappingTemplateRequest.builder()
537+
.template(getTemplateToString("delete_booking_response.vtl"))
538+
.context(bookingContext)
539+
.build();
540+
EvaluateMappingTemplateResponse templateResponseResponse = appClient.evaluateMappingTemplate(templateResponse);
541+
Assertions.assertNotNull(templateResponseResponse.evaluationResult());
542+
543+
544+
JsonNode resultMapResponse = mapper.readTree(templateResponseResponse.evaluationResult());
545+
for (JsonNode jsonNode : resultMapResponse) {
546+
Assertions.assertEquals(contextMap.get("result").get(jsonNode.asText()), resultMapResponse.get(jsonNode.asText()));
547+
}
548+
}
549+
516550
private String getTemplateToString(String location) throws IOException{
517551

518552
try {
@@ -524,4 +558,8 @@ private String getTemplateToString(String location) throws IOException{
524558
}
525559

526560
}
561+
562+
563+
564+
527565
}

0 commit comments

Comments
 (0)