@Test
    void orElseFirstNull() {
        final Authorizer<String> a = (ctx, data) -> completedFuture(null);
        final Authorizer<String> b = newMock();

        assertThatThrownBy(() -> a.orElse(b).authorize(serviceCtx, "data").toCompletableFuture().join())
                .isInstanceOf(CompletionException.class)
                .hasCauseInstanceOf(NullPointerException.class);
        verifyNoMoreInteractions(b);
    }
When the first {@link Authorizer} returns a {@link CompletionStage} that fulfills with {@code null},
the second {@link Authorizer} shouldn't be invoked.
core/src/test/java/com/linecorp/armeria/server/auth/AuthorizerTest.java