Skip to content

Commit dd2b4ae

Browse files
committed
Add tests
1 parent 71e8125 commit dd2b4ae

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

reactive/src/test/java/feign/reactive/ReactiveFeignIntegrationTest.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import java.nio.charset.Charset;
4848
import java.util.Arrays;
4949
import java.util.Collections;
50+
import java.util.List;
5051
import javax.ws.rs.GET;
5152
import javax.ws.rs.Path;
5253
import okhttp3.mockwebserver.MockResponse;
@@ -84,6 +85,8 @@ public void testDefaultMethodsNotProxied() {
8485
@Test
8586
public void testReactorTargetFull() throws Exception {
8687
this.webServer.enqueue(new MockResponse().setBody("1.0"));
88+
this.webServer.enqueue(new MockResponse().setBody("{ \"username\": \"test\" }"));
89+
this.webServer.enqueue(new MockResponse().setBody("[{ \"username\": \"test\" }]"));
8790
this.webServer.enqueue(new MockResponse().setBody("[{ \"username\": \"test\" }]"));
8891

8992
TestReactorService service = ReactorFeign.builder()
@@ -102,20 +105,31 @@ public void testReactorTargetFull() throws Exception {
102105
.verify();
103106
assertThat(webServer.takeRequest().getPath()).isEqualToIgnoringCase("/version");
104107

105-
106108
/* test encoding and decoding */
107109
StepVerifier.create(service.user("test"))
108110
.assertNext(user -> assertThat(user).hasFieldOrPropertyWithValue("username", "test"))
109111
.expectComplete()
110112
.verify();
111113
assertThat(webServer.takeRequest().getPath()).isEqualToIgnoringCase("/users/test");
112114

115+
StepVerifier.create(service.usersFlux())
116+
.assertNext(user -> assertThat(user).hasFieldOrPropertyWithValue("username", "test"))
117+
.expectComplete()
118+
.verify();
119+
assertThat(webServer.takeRequest().getPath()).isEqualToIgnoringCase("/users");
120+
121+
StepVerifier.create(service.usersMono())
122+
.assertNext(users -> assertThat(users.get(0)).hasFieldOrPropertyWithValue("username", "test"))
123+
.expectComplete()
124+
.verify();
125+
assertThat(webServer.takeRequest().getPath()).isEqualToIgnoringCase("/users");
113126
}
114127

115128
@Test
116129
public void testRxJavaTarget() throws Exception {
117130
this.webServer.enqueue(new MockResponse().setBody("1.0"));
118131
this.webServer.enqueue(new MockResponse().setBody("{ \"username\": \"test\" }"));
132+
this.webServer.enqueue(new MockResponse().setBody("[{ \"username\": \"test\" }]"));
119133

120134
TestReactiveXService service = RxJavaFeign.builder()
121135
.encoder(new JacksonEncoder())
@@ -137,6 +151,12 @@ public void testRxJavaTarget() throws Exception {
137151
.expectComplete()
138152
.verify();
139153
assertThat(webServer.takeRequest().getPath()).isEqualToIgnoringCase("/users/test");
154+
155+
StepVerifier.create(service.users())
156+
.assertNext(users -> assertThat(users.get(0)).hasFieldOrPropertyWithValue("username", "test"))
157+
.expectComplete()
158+
.verify();
159+
assertThat(webServer.takeRequest().getPath()).isEqualToIgnoringCase("/users");
140160
}
141161

142162
@Test
@@ -309,7 +329,13 @@ interface TestReactorService {
309329
Mono<String> version();
310330

311331
@RequestLine("GET /users/{username}")
312-
Flux<User> user(@Param("username") String username);
332+
Mono<User> user(@Param("username") String username);
333+
334+
@RequestLine("GET /users")
335+
Flux<User> usersFlux();
336+
337+
@RequestLine("GET /users")
338+
Mono<List<User>> usersMono();
313339
}
314340

315341

@@ -320,6 +346,9 @@ interface TestReactiveXService {
320346
@RequestLine("GET /users/{username}")
321347
Flowable<User> user(@Param("username") String username);
322348

349+
@RequestLine("GET /users")
350+
Flowable<List<User>> users();
351+
323352
@RequestLine("GET /users/search")
324353
Flowable<String> search(@QueryMap SearchQuery query);
325354
}

0 commit comments

Comments
 (0)