Макет сервера для интервала Flux? - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь написать тестовую функцию для службы, которая использует интервал Flux от другой службы, созданной как Flux.interval(Duration.ofSeconds(1)).map( ... ).

Если увидено Поддержка MockRestServiceServer для WebClient , что именно то, что мне нужно. Однако в настоящее время рекомендуется использовать OkHttp MockWebServer. Мой вопрос сейчас: как мне посмеяться над ответом сервера, который обеспечивает интервал потока?

Функция setBody() в MockResponse принимает String и Buffer. Вероятно, Buffer - это путь. Однако я не знаю, как преобразовать Flux в скажем InputStream или около того, что может быть прочитано в буфер.

1 Ответ

0 голосов
/ 10 сентября 2018

Почему бы просто не использовать Mockito, чтобы высмеивать этот ответ? В основном, используйте Mockito для насмешки вызова службы.

например. издеваться над сервисом, который выдаст Пользователю на основе идентификатора

//mocked response
Mono<User> monoUser = Mono.just(new User());
Mockito.when(UserService.getUserBasedOnID(id)).thenReturn(monoUser);
...