You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/01/24 21:54:18 UTC

svn commit: r1062968 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java test/java/org/apache/wicket/protocol/https/SwitchProtocolRequestHandlerTest.java

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&param2=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;
+	}
 }