diff --git a/spring-cloud-function-samples/function-sample-pojo/pom.xml b/spring-cloud-function-samples/function-sample-pojo/pom.xml
index 9ed5b7a13..68671d36d 100644
--- a/spring-cloud-function-samples/function-sample-pojo/pom.xml
+++ b/spring-cloud-function-samples/function-sample-pojo/pom.xml
@@ -14,13 +14,13 @@
org.springframework.boot
spring-boot-starter-parent
- 2.2.0.BUILD-SNAPSHOT
+ 2.2.0.M2
1.8
- 2.2.0.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
1.0.21.RELEASE
diff --git a/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/LowercaseConfiguration.java b/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/LowercaseConfiguration.java
index 59aba00a6..45afa2e5c 100644
--- a/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/LowercaseConfiguration.java
+++ b/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/LowercaseConfiguration.java
@@ -27,7 +27,7 @@ import org.springframework.context.annotation.Configuration;
* @author Dave Syer
*
*/
-@Configuration
+@Configuration(proxyBeanMethods = false)
public class LowercaseConfiguration {
@Bean
diff --git a/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/SampleApplication.java b/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/SampleApplication.java
index 961cfe2b3..52fe3dbf5 100644
--- a/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/SampleApplication.java
+++ b/spring-cloud-function-samples/function-sample-pojo/src/main/java/com/example/SampleApplication.java
@@ -29,7 +29,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.util.MultiValueMap;
// @checkstyle:off
-@SpringBootApplication
+@SpringBootApplication(proxyBeanMethods = false)
public class SampleApplication {
public static void main(String[] args) {
diff --git a/spring-cloud-function-samples/function-sample/pom.xml b/spring-cloud-function-samples/function-sample/pom.xml
index 2daa62789..3f862b83a 100644
--- a/spring-cloud-function-samples/function-sample/pom.xml
+++ b/spring-cloud-function-samples/function-sample/pom.xml
@@ -20,7 +20,7 @@
1.8
- 2.2.0.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
1.0.17.RELEASE
diff --git a/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationMvcTests.java b/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationMvcTests.java
index 36a7572da..e41b79c81 100644
--- a/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationMvcTests.java
+++ b/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationMvcTests.java
@@ -16,33 +16,54 @@
package com.example;
-import org.junit.Ignore;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
+
import org.junit.Test;
import org.junit.runner.RunWith;
-
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
+import org.springframework.test.web.servlet.MvcResult;
/**
* @author Dave Syer
*/
@RunWith(SpringRunner.class)
-@WebMvcTest
+@SpringBootTest
+@AutoConfigureMockMvc
public class SampleApplicationMvcTests {
@Autowired
private MockMvc mockMvc;
@Test
- @Ignore("FIXME")
public void words() throws Exception {
- this.mockMvc.perform(get("/words"))
- .andExpect(content().string("[\"foo\",\"bar\"]"));
+ MvcResult result = this.mockMvc.perform(get("/words")).andReturn();
+ mockMvc.perform(asyncDispatch(result)).andExpect(content().string("[\"foo\",\"bar\"]"));
+ }
+
+ @Test
+ public void uppercase() throws Exception {
+ MvcResult result = this.mockMvc.perform(post("/uppercase").contentType(MediaType.TEXT_PLAIN).content("foo")).andReturn();
+ mockMvc.perform(asyncDispatch(result)).andExpect(content().string("FOO"));
+ }
+
+ @Test
+ public void lowercase() throws Exception {
+ MvcResult result = this.mockMvc.perform(post("/lowercase").contentType(MediaType.TEXT_PLAIN).content("FOO")).andReturn();
+ mockMvc.perform(asyncDispatch(result)).andExpect(content().string("[\"foo\"]"));
+ }
+
+ @Test
+ public void lowercaseMulti() throws Exception {
+ MvcResult result = this.mockMvc.perform(post("/lowercase").contentType(MediaType.APPLICATION_JSON).content("[\"FOO\"]")).andReturn();
+ mockMvc.perform(asyncDispatch(result)).andExpect(content().string("[\"foo\"]"));
}
}
diff --git a/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationTests.java b/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationTests.java
index 7fed65b55..cceb069de 100644
--- a/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationTests.java
+++ b/spring-cloud-function-samples/function-sample/src/test/java/com/example/SampleApplicationTests.java
@@ -16,19 +16,19 @@
package com.example;
+import static org.assertj.core.api.Assertions.assertThat;
+
import java.util.List;
import java.util.function.Function;
import java.util.function.Supplier;
import org.junit.Test;
import org.junit.runner.RunWith;
-import reactor.core.publisher.Flux;
-
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
-import static org.assertj.core.api.Assertions.assertThat;
+import reactor.core.publisher.Flux;
@RunWith(SpringRunner.class)
@SpringBootTest
@@ -124,7 +124,7 @@ public class SampleApplicationTests {
@Test
public void testCharCounter() {
Integer length = this.charCounter.apply("the quick brown fox");
- assertThat(length).isEqualTo(new Integer(19));
+ assertThat(length).isEqualTo(19);
}
}