0
respostas

JAVA - Teste unitário feign

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"));
}