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();
}
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));
}
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));
}
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()));
}
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));
}
Aggregations