Search in sources :

Example 11 with ServerRequest

use of io.helidon.webserver.ServerRequest in project helidon by oracle.

the class StaticContentHandlerTest method redirect.

@Test
void redirect() {
    ResponseHeaders resh = mock(ResponseHeaders.class);
    ServerResponse res = mock(ServerResponse.class);
    ServerRequest req = mock(ServerRequest.class);
    Mockito.doReturn(resh).when(res).headers();
    StaticContentHandler.redirect(req, res, "/foo/");
    verify(res).status(Http.Status.MOVED_PERMANENTLY_301);
    verify(resh).put(Http.Header.LOCATION, "/foo/");
    verify(res).send();
}
Also used : ServerResponse(io.helidon.webserver.ServerResponse) ResponseHeaders(io.helidon.webserver.ResponseHeaders) ServerRequest(io.helidon.webserver.ServerRequest) Test(org.junit.jupiter.api.Test)

Example 12 with ServerRequest

use of io.helidon.webserver.ServerRequest in project helidon by oracle.

the class StaticContentHandlerTest method handleOutside.

@Test
void handleOutside() {
    ServerRequest request = mockRequestWithPath("/../foo/some.txt");
    ServerResponse response = mock(ServerResponse.class);
    TestContentHandler handler = TestContentHandler.create(true);
    handler.handle(Http.Method.GET, request, response);
    verify(request).next();
    assertThat(handler.counter.get(), is(0));
}
Also used : ServerResponse(io.helidon.webserver.ServerResponse) ServerRequest(io.helidon.webserver.ServerRequest) Test(org.junit.jupiter.api.Test)

Example 13 with ServerRequest

use of io.helidon.webserver.ServerRequest in project helidon by oracle.

the class StaticContentHandlerTest method handleIllegalMethod.

@Test
void handleIllegalMethod() {
    ServerRequest request = mockRequestWithPath("/");
    ServerResponse response = mock(ServerResponse.class);
    TestContentHandler handler = TestContentHandler.create(true);
    handler.handle(Http.Method.POST, request, response);
    verify(request).next();
    assertThat(handler.counter.get(), is(0));
}
Also used : ServerResponse(io.helidon.webserver.ServerResponse) ServerRequest(io.helidon.webserver.ServerRequest) Test(org.junit.jupiter.api.Test)

Example 14 with ServerRequest

use of io.helidon.webserver.ServerRequest in project helidon by oracle.

the class StaticContentHandlerTest method handleRoot.

@Test
void handleRoot() {
    ServerRequest request = mockRequestWithPath("/");
    ServerResponse response = mock(ServerResponse.class);
    TestContentHandler handler = TestContentHandler.create(true);
    handler.handle(Http.Method.GET, request, response);
    verify(request, never()).next();
    assertThat(handler.path, is(Paths.get(".").toAbsolutePath().normalize()));
}
Also used : ServerResponse(io.helidon.webserver.ServerResponse) ServerRequest(io.helidon.webserver.ServerRequest) Test(org.junit.jupiter.api.Test)

Example 15 with ServerRequest

use of io.helidon.webserver.ServerRequest in project helidon by oracle.

the class AccessLogSupportTest method testHelidonFormat.

@Test
void testHelidonFormat() {
    AccessLogSupport accessLog = AccessLogSupport.create();
    ServerRequest request = mock(ServerRequest.class);
    Context context = Context.create();
    when(request.remoteAddress()).thenReturn(REMOTE_IP);
    when(request.context()).thenReturn(context);
    when(request.method()).thenReturn(Http.Method.PUT);
    HttpRequest.Path path = mock(HttpRequest.Path.class);
    when(path.toRawString()).thenReturn(PATH);
    when(request.path()).thenReturn(path);
    when(request.version()).thenReturn(Http.Version.V1_1);
    ServerResponse response = mock(ServerResponse.class);
    when(response.status()).thenReturn(Http.Status.I_AM_A_TEAPOT);
    AccessLogContext accessLogContext = mock(AccessLogContext.class);
    when(accessLogContext.requestDateTime()).thenReturn(BEGIN_TIME);
    String expectedTimestamp = TimestampLogEntry.create().doApply(accessLogContext);
    String logRecord = accessLog.createLogRecord(request, response, BEGIN_TIME, 0L, END_TIME, TIME_TAKEN_MICROS * 1000);
    // 192.168.0.104 - [18/Jun/2019:23:10:44 +0200] "GET /greet/test HTTP/1.1" 200 55 2248
    String expected = REMOTE_IP + " - " + expectedTimestamp + " \"" + METHOD + " " + PATH + " " + HTTP_VERSION + "\" " + STATUS_CODE + " " + CONTENT_LENGTH + " " + TIME_TAKEN_MICROS;
    assertThat(logRecord, is(expected));
}
Also used : Context(io.helidon.common.context.Context) HttpRequest(io.helidon.common.http.HttpRequest) ServerResponse(io.helidon.webserver.ServerResponse) ServerRequest(io.helidon.webserver.ServerRequest) Test(org.junit.jupiter.api.Test)

Aggregations

ServerRequest (io.helidon.webserver.ServerRequest)38 ServerResponse (io.helidon.webserver.ServerResponse)35 Routing (io.helidon.webserver.Routing)23 Logger (java.util.logging.Logger)17 JsonObject (jakarta.json.JsonObject)13 Config (io.helidon.config.Config)12 Map (java.util.Map)12 Service (io.helidon.webserver.Service)11 Json (jakarta.json.Json)11 Optional (java.util.Optional)11 Test (org.junit.jupiter.api.Test)11 Single (io.helidon.common.reactive.Single)10 DbClient (io.helidon.dbclient.DbClient)10 SecurityContext (io.helidon.security.SecurityContext)9 Pokemon (io.helidon.tests.integration.dbclient.appl.model.Pokemon)9 AppResponse (io.helidon.tests.integration.tools.service.AppResponse)9 RemoteTestException (io.helidon.tests.integration.tools.service.RemoteTestException)9 List (java.util.List)9 Http (io.helidon.common.http.Http)8 AbstractService (io.helidon.tests.integration.dbclient.appl.AbstractService)8