use of org.apache.wicket.request.Url in project wicket by apache.
the class HttpsMapperTest method mapHandler.
@Test
void mapHandler() {
IRequestMapper delegate = mock(IRequestMapper.class);
HttpsMapper mapper = new HttpsMapper(delegate, new HttpsConfig());
ServletWebRequest request = mock(ServletWebRequest.class);
HttpServletRequest req = mock(HttpServletRequest.class);
when(request.getContainerRequest()).thenReturn(req);
// rendering url to https page on http, set protocol
IRequestHandler handler = new RenderPageRequestHandler(new PageProvider(SecurePage.class));
Url url = new Url();
when(delegate.mapHandler(handler)).thenReturn(url);
when(req.getScheme()).thenReturn("http");
mapper.mapHandler(handler, request);
assertEquals("https", url.getProtocol());
assertEquals(Integer.valueOf(443), url.getPort());
// render url to http page on http, ignore protocol
handler = new RenderPageRequestHandler(new PageProvider(InsecurePage.class));
url = new Url();
reset(delegate);
when(delegate.mapHandler(handler)).thenReturn(url);
when(req.getScheme()).thenReturn("http");
mapper.mapHandler(handler, request);
assertNull(url.getProtocol());
// render url to http page on https, set protocol
handler = new RenderPageRequestHandler(new PageProvider(InsecurePage.class));
url = new Url();
reset(delegate);
when(delegate.mapHandler(handler)).thenReturn(url);
when(req.getScheme()).thenReturn("https");
mapper.mapHandler(handler, request);
assertEquals("http", url.getProtocol());
assertEquals(Integer.valueOf(80), url.getPort());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class ResourceUtilTest method decodeResourceReferenceAttributesWithUrl.
@Test
void decodeResourceReferenceAttributesWithUrl() throws Exception {
Url url = Url.parse("www.funny.url/?param1=value1");
UrlAttributes attributes = ResourceUtil.decodeResourceReferenceAttributes(url);
assertEquals(new UrlAttributes(null, null, null), attributes);
url = Url.parse("www.funny.url/?de_DE");
attributes = ResourceUtil.decodeResourceReferenceAttributes(url);
assertEquals(Locale.GERMANY, attributes.getLocale());
assertNull(attributes.getStyle());
assertNull(attributes.getVariation());
url = Url.parse("www.funny.url/?-style");
attributes = ResourceUtil.decodeResourceReferenceAttributes(url);
assertNull(attributes.getLocale());
assertEquals("style", attributes.getStyle());
assertNull(attributes.getVariation());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class ServletWebRequestTest method parseForwardAttributes.
/**
* https://issues.apache.org/jira/browse/WICKET-4138
*
* Relative Urls should be calculated against 'javax.servlet.forward.request_uri'
*/
@Test
void parseForwardAttributes() {
MockHttpServletRequest httpRequest = new MockHttpServletRequest(null, null, null);
httpRequest.setURL(httpRequest.getContextPath() + "/request/Uri");
String forwardedURI = httpRequest.getContextPath() + "/some/forwarded/url";
httpRequest.setAttribute("jakarta.servlet.forward.request_uri", forwardedURI);
ServletWebRequest forwardWebRequest = new ServletWebRequest(httpRequest, "");
Url forwardClientUrl = forwardWebRequest.getClientUrl();
assertEquals("some/forwarded/url", forwardClientUrl.toString());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class MockHttpServletRequestTest method setAbsoluteUrlWithHost.
@Test
void setAbsoluteUrlWithHost() {
MockHttpServletRequest request = tester.getRequest();
assertEquals("http", request.getScheme());
assertEquals("localhost", request.getServerName());
assertEquals(80, request.getServerPort());
request.setURL("https://myhost.mydomain.org:1234/foo/bar/baz.html?a=123&b=456");
assertEquals("https", request.getScheme());
assertEquals("myhost.mydomain.org", request.getServerName());
assertEquals(1234, request.getServerPort());
Url url = request.getUrl();
assertEquals("https", url.getProtocol());
assertEquals("myhost.mydomain.org", url.getHost());
assertEquals(Integer.valueOf(1234), url.getPort());
assertEquals("/foo/bar/baz.html", url.getPath());
assertEquals("a=123&b=456", url.getQueryString());
String pathInfo = request.getPathInfo();
assertEquals("/foo/bar/baz.html", pathInfo);
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class MockHttpServletRequestTest method testNoQueryString_returnsNull.
/**
* WICKET-4664 - no query string returns null as per HttpServletRequest
*/
@Test
void testNoQueryString_returnsNull() {
MockHttpServletRequest request = tester.getRequest();
request.setURL("my/servlet/without/query/param");
Url url = request.getUrl();
assertNull(url.getQueryString());
}
Aggregations