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

        res = preflightRequest(client, "/cors11/get", "http://example.com", "GET");
        assertThat(res.status()).isEqualTo(HttpStatus.OK);
        assertThat(res.headers().get(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS)).isEqualTo("GET");

        // GET must be allowed.
        res = request(client, HttpMethod.GET, "/cors11/get", "http://example.com", "GET");
        assertThat(res.status()).isSameAs(HttpStatus.OK);
        assertThat(res.headers().get(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN))
                .isEqualTo("http://example.com");

        // Other methods must be disallowed.
        res = request(client, HttpMethod.GET, "/cors11/get", "http://notallowed.com", "GET");
        assertThat(res.status()).isSameAs(HttpStatus.FORBIDDEN);
    }
If CORS was configured as a route decorator and there's no binding for OPTIONS method,
the server's fallback service decorated with the CORS decorator will be matched and thus
must respond with a CORS response.
core/src/test/java/com/linecorp/armeria/server/cors/HttpServerCorsTest.java