|
23 | 23 |
|
24 | 24 | import org.springframework.boot.autoconfigure.AutoConfigurations; |
25 | 25 | import org.springframework.boot.test.context.runner.ApplicationContextRunner; |
| 26 | +import org.springframework.context.annotation.Bean; |
| 27 | +import org.springframework.context.annotation.Configuration; |
26 | 28 | import org.springframework.web.reactive.function.server.RouterFunction; |
27 | 29 |
|
28 | 30 | import static org.assertj.core.api.Assertions.assertThat; |
| 31 | +import static org.mockito.Mockito.mock; |
| 32 | +import static org.mockito.Mockito.mockingDetails; |
29 | 33 |
|
30 | 34 | class McpServerStatelessWebFluxAutoConfigurationIT { |
31 | 35 |
|
@@ -135,11 +139,24 @@ void routerFunctionIsCreatedFromProvider() { |
135 | 139 | assertThat(context).hasSingleBean(WebFluxStatelessServerTransport.class); |
136 | 140 |
|
137 | 141 | // Verify that the RouterFunction is created from the provider |
| 142 | + WebFluxStatelessServerTransport serverTransport = context.getBean(WebFluxStatelessServerTransport.class); |
138 | 143 | RouterFunction<?> routerFunction = context.getBean(RouterFunction.class); |
139 | | - assertThat(routerFunction).isNotNull(); |
| 144 | + assertThat(routerFunction).isNotNull().isEqualTo(serverTransport.getRouterFunction()); |
140 | 145 | }); |
141 | 146 | } |
142 | 147 |
|
| 148 | + @Test |
| 149 | + void routerFunctionIsCustom() { |
| 150 | + this.contextRunner |
| 151 | + .withBean("webFluxStatelessServerRouterFunction", RouterFunction.class, () -> mock(RouterFunction.class)) |
| 152 | + .run(context -> { |
| 153 | + assertThat(context).hasSingleBean(RouterFunction.class); |
| 154 | + |
| 155 | + RouterFunction<?> routerFunction = context.getBean(RouterFunction.class); |
| 156 | + assertThat(mockingDetails(routerFunction).isMock()).isTrue(); |
| 157 | + }); |
| 158 | + } |
| 159 | + |
143 | 160 | @Test |
144 | 161 | void allPropertiesConfiguration() { |
145 | 162 | this.contextRunner |
@@ -172,4 +189,15 @@ void enabledPropertyExplicitlyTrue() { |
172 | 189 | }); |
173 | 190 | } |
174 | 191 |
|
| 192 | + @Configuration |
| 193 | + private static class CustomRouterFunctionConfig { |
| 194 | + |
| 195 | + @Bean |
| 196 | + public RouterFunction<?> webFluxStatelessServerRouterFunction( |
| 197 | + WebFluxStatelessServerTransport webFluxStatelessTransport) { |
| 198 | + return mock(RouterFunction.class); |
| 199 | + } |
| 200 | + |
| 201 | + } |
| 202 | + |
175 | 203 | } |
0 commit comments