@Override
  public void callback(CallbackContext context) {
    try {
      onCallback(context);
    } catch (IOException | ExecutionException e) {
      throw new IllegalStateException(e);
    } catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new IllegalStateException(e);
    }
  }
@Test
  public void callback_whenOrganizationsAreNotDefinedAndUserBelongsToInstallationOrganization_shouldAuthenticateAndRedirect()
    throws IOException, ExecutionException, InterruptedException {
    UserIdentity userIdentity = mock(UserIdentity.class);
    CallbackContext context = mockUserBelongingToOrganization(userIdentity);

    mockInstallations();

    underTest.callback(context);

    verify(context).authenticate(userIdentity);
    verify(context).redirectToRequestedPage();
  }