Ниже приведен фрагмент моего кода, который отправляет многочастный запрос к серверу. Исходя из некоторых условий, он решает опубликовать только один файл или оба.
// Based on some condition add 1 or 2 files to the multipart body
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<>();
if (postBothFiles) {
parts.add("File_ONE", new FileSystemResource(file1));
}
parts.add("File_TWO", new FileSystemResource(file2));
// Perform the post request adding `parts` to the body
webClient.post().uri("/postUrl")
.contentType(MULTIPART_FORM_DATA)
.body(BodyInserters.fromMultipartData(parts))
.retrieve()
.bodyToMono(String.class)
.block();
Во время модульного теста я хочу проверить, правильно ли работает условие. Для этого я хочу проверить, есть ли в теле запроса два файла или только один.
Я пытался использовать ExchangeFilterFunction
, однако он не позволяет мне читать содержимое тела.
Каков наилучший способ модульного тестирования таких запросов POST?