@Test
    void tlsCustomizerWithoutTls() {
        // Did not call `tls()` for both default host and virtual host.
        assertThatThrownBy(() -> Server.builder()
                                       .virtualHost("example.com")
                                       .tlsCustomizer(unused -> {})
                                       .and().build())
                .isInstanceOf(IllegalStateException.class)
                .hasMessageContaining("tlsCustomizer");

        // Called `tls()` for default host but did not for virtual host.
        assertThatThrownBy(() -> Server.builder()
                                       .tls(selfSignedCertificate.certificateFile(),
                                            selfSignedCertificate.privateKeyFile())
                                       .virtualHost("example.com")
                                       .tlsCustomizer(unused -> {})
                                       .and().build())
                .isInstanceOf(IllegalStateException.class)
                .hasMessageContaining("tlsCustomizer");
    }
Makes sure that {@link ServerBuilder#decorator(DecoratingHttpServiceFunction)} works at every service and
virtual hosts and {@link VirtualHostBuilder#decorator(DecoratingHttpServiceFunction)} works only at
its own services.
core/src/test/java/com/linecorp/armeria/server/ServerBuilderTest.java