From 4ffb25a3b59c9c487539079061f09c5cead1b2d4 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 21 Apr 2020 14:13:35 +0200 Subject: [PATCH] Enhance test to validate HTTP header propagation --- .../function/test/FunctionalExporterTests.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/test/FunctionalExporterTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/test/FunctionalExporterTests.java index 52e3847d5..d1594e7a6 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/test/FunctionalExporterTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/test/FunctionalExporterTests.java @@ -16,6 +16,8 @@ package org.springframework.cloud.function.test; +import java.util.HashMap; +import java.util.Map; import java.util.function.Function; import org.junit.AfterClass; @@ -44,7 +46,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Dave Syer - * + * @author Oleg Zhurakousky */ @RunWith(SpringRunner.class) @FunctionalSpringBootTest(classes = ApplicationConfiguration.class, webEnvironment = WebEnvironment.NONE, properties = { @@ -63,8 +65,11 @@ public class FunctionalExporterTests { private static ConfigurableApplicationContext context; + private static Map headers = new HashMap<>(); + @BeforeClass public static void init() throws Exception { + headers.clear(); String port = "" + SocketUtils.findAvailableTcpPort(); System.setProperty("server.port", port); System.setProperty("my.port", port); @@ -77,6 +82,7 @@ public class FunctionalExporterTests { @AfterClass public static void close() { + headers.clear(); System.clearProperty("server.port"); if (context != null) { context.close(); @@ -92,6 +98,8 @@ public class FunctionalExporterTests { // It completed assertThat(FunctionalExporterTests.app.inputs).contains("HELLO"); assertThat(this.forwarder.isOk()).isTrue(); + assertThat(headers.containsKey("scf-sink-url")); + assertThat(headers.containsKey("scf-func-name")); } @SpringBootConfiguration @@ -99,8 +107,11 @@ public class FunctionalExporterTests { implements ApplicationContextInitializer { Function, Message> uppercase() { - return value -> MessageBuilder.withPayload(value.getPayload().getName().toUpperCase()) + return value -> { + headers.putAll(value.getHeaders()); + return MessageBuilder.withPayload(value.getPayload().getName().toUpperCase()) .copyHeaders(value.getHeaders()).build(); + }; } @Override