Estou tentando fazer testes unitários. Tentei criar um Feign Response da forma abaixo, mas não consigo.
Qual a forma correta de montar esse FeignException?
1 - Eu tomo erro no build do objeto FeignException:
java.lang.IllegalStateException: original request is required at feign.Util.checkState(Util.java:130) at feign.Response.(Response.java:48) at feign.Response.(Response.java:39) at feign.Response$Builder.build(Response.java:135)
2 - Objeto que estou montando:
FeignException feignException = FeignException.errorStatus( "userDataDelete", Response.builder() .status(404) .headers(new HashMap<>()) .reason("Not found").build());
3 - Teste unitário:
@Test
void cancellation_exception() {
FeignException feignException = FeignException.errorStatus(
"cancelarVenda",
Response.builder()
.status(404)
.headers(new HashMap<>())
.reason("Not found").build());
Mockito.when(chamadaFeign.cancelarVenda(Mockito.anyString(), Mockito.anyString()))
.thenThrow(feignException);
Assertions.assertThrows(FeignException.class, () ->
nexodataService.cancellation("vendaInvalida"));
}