Reactor BubblingException вместо пользовательского исключения - PullRequest
0 голосов
/ 19 декабря 2018

Я выбрасываю пользовательское исключение от потребителя подписки, но в тестовом примере я получаюrator.core.Exceptions.BubblingException.

часть кода:

 return loginBOMonoValidated.map(this::checkAuth).map(login -> getUserContactsBOMono(login));

private LoginBO checkAuth(LoginBO loginBO) {

    if (!loginBO.getClientId().equals(loginBO.getLoginId())) {

      LoginDTO loginDTO = new LoginDTO(loginBO.getLoginId(), loginBO.getClientId());
      authorizationRemoteClient
          .validateManagerClientAccess(Mono.just(loginDTO))
          .subscribe(authClientConsumer);
      return new LoginBO(loginBO.getClientId(), loginBO.getClientId());
    } 
      else return loginBO;
  }

private Consumer<Boolean> authClientConsumer =
  bol -> {
    if (!bol) {
      logger.error(ErrorCodes.LOGIN_ID_VALIDATION_ERROR.getDescription());

      throw new AuthorizationException();
    }
  };

Испытание

Throwable exception =
        assertThrows(
            AuthorizationException.class,
            () -> {
              Mono<UserContactsBO> contact =contactInfoService.getUserContacts(Mono.just(new LoginBO("123456789", "1234")));
              contact.subscribe();
            });

Ожидаемое: . . **. AuthorizationException

Actual: реактор.core.Exceptions.BubblingException

...