use of io.helidon.webclient.WebClientResponse in project helidon by oracle.
the class TestDefaultCorsSupport method testGetWithoutCors.
@Test
void testGetWithoutCors() throws ExecutionException, InterruptedException {
WebServer server = null;
WebClient client;
try {
server = WebServer.create(prepRouting(false)).start().toCompletableFuture().get();
client = WebClient.builder().baseUri("http://localhost:" + server.port()).get();
WebClientResponse response = client.get().path("/greet").submit().toCompletableFuture().get();
String greeting = response.content().as(String.class).toCompletableFuture().get();
assertThat(greeting, is("Hello World!"));
} finally {
if (server != null) {
server.shutdown();
}
}
}
use of io.helidon.webclient.WebClientResponse in project helidon by oracle.
the class TestTwoCorsConfigs method test1PreFlightAllowedOriginOtherGreeting.
@Test
void test1PreFlightAllowedOriginOtherGreeting() throws ExecutionException, InterruptedException {
WebClientResponse res = runTest1PreFlightAllowedOrigin();
Http.ResponseStatus status = res.status();
assertThat(status.code(), is(Http.Status.FORBIDDEN_403.code()));
assertThat(status.reasonPhrase(), is("CORS origin is denied"));
}
use of io.helidon.webclient.WebClientResponse in project helidon by oracle.
the class AbstractCorsTest method testSimple.
@Test
public void testSimple() throws Exception {
WebClientResponse response = client().get().path(contextRoot()).accept(MediaType.TEXT_PLAIN).request().toCompletableFuture().get();
Http.ResponseStatus result = response.status();
assertThat(result.code(), is(Http.Status.OK_200.code()));
}
use of io.helidon.webclient.WebClientResponse in project helidon by oracle.
the class AbstractCorsTest method test2ErrorResponse.
@Test
void test2ErrorResponse() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().get().path(path(SERVICE_2) + "/notfound").contentType(MediaType.TEXT_PLAIN);
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, "http://foo.bar");
WebClientResponse res = reqBuilder.submit().toCompletableFuture().get();
assertThat(res.status(), is(not(Http.Status.OK_200)));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_ORIGIN), is(Optional.empty()));
}
use of io.helidon.webclient.WebClientResponse in project helidon by oracle.
the class AbstractCorsTest method test1PreFlightAllowedHeaders2.
@Test
void test1PreFlightAllowedHeaders2() throws ExecutionException, InterruptedException {
WebClientRequestBuilder reqBuilder = client().options().path(path(SERVICE_1));
Headers headers = reqBuilder.headers();
headers.add(ORIGIN, "http://foo.bar");
headers.add(ACCESS_CONTROL_REQUEST_METHOD, "PUT");
headers.add(ACCESS_CONTROL_REQUEST_HEADERS, "X-foo, X-bar");
WebClientResponse res = reqBuilder.request().toCompletableFuture().get();
assertThat(res.status(), is(Http.Status.OK_200));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_ORIGIN), present(is("http://foo.bar")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_METHODS), present(is("PUT")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_HEADERS), present(containsString("X-foo")));
assertThat(res.headers().first(ACCESS_CONTROL_ALLOW_HEADERS), present(containsString("X-bar")));
assertThat(res.headers().first(ACCESS_CONTROL_MAX_AGE), present(is("3600")));
}
Aggregations