GH-263 Added more AWS tests

Resolves #263
This commit is contained in:
Oleg Zhurakousky
2019-05-03 09:27:04 +02:00
parent 475edb5ff7
commit f2e4cea47d

View File

@@ -18,7 +18,9 @@ package org.springframework.cloud.function.adapter.aws;
import java.util.Collections;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
@@ -41,8 +43,23 @@ public class SpringBootApiGatewayRequestHandlerTests {
private SpringBootApiGatewayRequestHandler handler;
@Test
public void supplierBean() {
System.setProperty("function.name", "supplier");
this.handler = new SpringBootApiGatewayRequestHandler(FunctionConfig.class);
APIGatewayProxyRequestEvent request = new APIGatewayProxyRequestEvent();
Object output = this.handler.handleRequest(request, null);
assertThat(output).isInstanceOf(APIGatewayProxyResponseEvent.class);
assertThat(((APIGatewayProxyResponseEvent) output).getStatusCode())
.isEqualTo(200);
assertThat(((APIGatewayProxyResponseEvent) output).getBody())
.isEqualTo("\"hello!\"");
}
@Test
public void functionBean() {
System.setProperty("function.name", "function");
this.handler = new SpringBootApiGatewayRequestHandler(FunctionConfig.class);
APIGatewayProxyRequestEvent request = new APIGatewayProxyRequestEvent();
request.setBody("{\"value\":\"foo\"}");
@@ -55,6 +72,19 @@ public class SpringBootApiGatewayRequestHandlerTests {
.isEqualTo("{\"value\":\"FOO\"}");
}
@Test
public void consumerBean() {
System.setProperty("function.name", "consumer");
this.handler = new SpringBootApiGatewayRequestHandler(FunctionConfig.class);
APIGatewayProxyRequestEvent request = new APIGatewayProxyRequestEvent();
request.setBody("\"strVal\":\"test for consumer\"");
Object output = this.handler.handleRequest(request, null);
assertThat(output).isInstanceOf(APIGatewayProxyResponseEvent.class);
assertThat(((APIGatewayProxyResponseEvent) output).getStatusCode())
.isEqualTo(200);
}
@Test
public void functionMessageBean() {
this.handler = new SpringBootApiGatewayRequestHandler(
@@ -82,6 +112,16 @@ public class SpringBootApiGatewayRequestHandlerTests {
return foo -> new Bar(foo.getValue().toUpperCase());
}
@Bean
public Consumer<String> consumer() {
return v -> System.out.println(v);
}
@Bean
public Supplier<String> supplier() {
return () -> "hello!";
}
}
@Configuration