@Test
    public void testOriginPredicate() {
        final WebClient client = client();
        AggregatedHttpResponse res;

        res = request(client, HttpMethod.GET, "/cors18", "http://example.com", "GET");
        assertThat(res.status()).isEqualTo(HttpStatus.OK);
        assertThat(res.headers().get(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN))
                .isEqualTo("http://example.com");
        res = request(client, HttpMethod.GET, "/cors18", "http://line.com", "GET");
        assertThat(res.status()).isEqualTo(HttpStatus.OK);
        assertThat(res.headers().get(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN))
                .isEqualTo("http://line.com");
        res = request(client, HttpMethod.GET, "/cors18", "http://example.line.com", "GET");
        assertThat(res.status()).isEqualTo(HttpStatus.OK);
        assertThat(res.headers().get(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN))
                .isEqualTo("http://example.line.com");

        res = request(client, HttpMethod.GET, "/cors18", "http://invalid.com", "GET");
        assertThat(res.status()).isEqualTo(HttpStatus.FORBIDDEN);
    }
If no CORS was configured and there's no binding for OPTIONS method, the server's fallback service will
be matched and the service with partial binding must not be invoked.
core/src/test/java/com/linecorp/armeria/server/cors/HttpServerCorsTest.java