@Test
    void serveWithDefaultVirtualHostServiceIfNotExists() {
        final Server server = Server.builder()
                                    .serviceUnder("/", (ctx, req) -> HttpResponse.of("default"))
                                    .service("/abc", (ctx, req) -> HttpResponse.of("default_abc"))
                                    .virtualHost("foo.com")
                                    .service("/", (ctx, req) -> HttpResponse.of("foo"))
                                    .service("/abc", (ctx, req) -> HttpResponse.of("foo_abc"))
                                    .and().build();
        server.start().join();

        final WebClient client = WebClient.builder("http://127.0.0.1:" + server.activeLocalPort())
                                          .factory(clientFactory)
                                          .build();
        final WebClient fooClient = WebClient.builder("http://foo.com:" + server.activeLocalPort())
                                             .factory(clientFactory)
                                             .build();

        assertThat(client.get("/").aggregate().join().contentUtf8()).isEqualTo("default");
        assertThat(client.get("/abc").aggregate().join().contentUtf8()).isEqualTo("default_abc");

        assertThat(fooClient.get("/").aggregate().join().contentUtf8()).isEqualTo("foo");
        assertThat(fooClient.get("/abc").aggregate().join().contentUtf8()).isEqualTo("foo_abc");

        // should route to a service of default virtual host
        assertThat(fooClient.get("/unknown").aggregate().join().contentUtf8()).isEqualTo("default");
    }
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