Author: mgrigorov Date: Mon Jan 24 20:54:17 2011 New Revision: 1062968 URL: http://svn.apache.org/viewvc?rev=1062968&view=rev Log: WICKET-3380 HttpsMapper and BookmarkablePageLink
Add unit test for the request handler wrapping Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java wicket/trunk/wicket-core/src/test/java/org/apache/wicket/protocol/https/SwitchProtocolRequestHandlerTest.java Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java?rev=1062968&r1=1062967&r2=1062968&view=diff ============================================================================== --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java (original) +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java Mon Jan 24 20:54:17 2011 @@ -18,8 +18,8 @@ package org.apache.wicket.request.mapper import org.apache.wicket.RequestListenerInterface; import org.apache.wicket.request.IRequestHandler; -import org.apache.wicket.request.IRequestMapper; import org.apache.wicket.request.IRequestHandlerDelegate; +import org.apache.wicket.request.IRequestMapper; import org.apache.wicket.request.Request; import org.apache.wicket.request.Url; import org.apache.wicket.request.component.IRequestablePage; Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/protocol/https/SwitchProtocolRequestHandlerTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/protocol/https/SwitchProtocolRequestHandlerTest.java?rev=1062968&r1=1062967&r2=1062968&view=diff ============================================================================== --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/protocol/https/SwitchProtocolRequestHandlerTest.java (original) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/protocol/https/SwitchProtocolRequestHandlerTest.java Mon Jan 24 20:54:17 2011 @@ -21,18 +21,22 @@ import java.net.URL; import javax.servlet.http.HttpServletRequest; +import org.apache.wicket.MockPage; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.protocol.https.SwitchProtocolRequestHandler.Protocol; import org.apache.wicket.request.IRequestCycle; +import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.Url; import org.apache.wicket.request.http.WebResponse; -import org.junit.Test; +import org.apache.wicket.request.mapper.AbstractMapperTest; +import org.apache.wicket.request.mapper.IMapperContext; +import org.apache.wicket.request.mapper.MountedMapper; import org.mockito.Mockito; /** * Test for SwitchProtocolRequestHandler */ -public class SwitchProtocolRequestHandlerTest +public class SwitchProtocolRequestHandlerTest extends AbstractMapperTest { /** @@ -41,8 +45,7 @@ public class SwitchProtocolRequestHandle * * @throws MalformedURLException */ - @Test - public void respond() throws MalformedURLException + public void testRespond() throws MalformedURLException { // the URL to redirect to final URL httpsUrl = new URL("https://example.com:1443/app?param1=value1¶m2=value2"); @@ -71,4 +74,34 @@ public class SwitchProtocolRequestHandle Mockito.verify(webResponse).sendRedirect(httpsUrl.toString()); } + + /** + * @see <a href="https://issues.apache.org/jira/browse/WICKET-3380">WICKET-3380</a> + */ + public void testMapHandler() + { + final MountedMapper encoder = new MountedMapper("/securedPage", SecuredMockPage.class) + { + @Override + protected IMapperContext getContext() + { + return context; + } + }; + + Url originalUrl = Url.parse("securedPage"); + IRequestHandler handler = encoder.mapRequest(getRequest(originalUrl)); + + SwitchProtocolRequestHandler switchProtocolRequestHandler = new SwitchProtocolRequestHandler( + Protocol.HTTPS, handler, new HttpsConfig()); + + Url mappedUrl = encoder.mapHandler(switchProtocolRequestHandler); + assertEquals(originalUrl, mappedUrl); + } + + @RequireHttps + private static class SecuredMockPage extends MockPage + { + private static final long serialVersionUID = 1L; + } }