Author: apetrelli
Date: Sun May 2 19:35:28 2010
New Revision: 940312
URL: http://svn.apache.org/viewvc?rev=940312&view=rev
Log:
TILESSB-31
Added tests for main classes in tiles-request-portlet.
Fixed something.
100% test code coverage.
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java
(with props)
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java
(with props)
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java
(with props)
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java
(with props)
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java
(with props)
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletApplicationContext.java
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletRequestTest.java
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletApplicationContext.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletApplicationContext.java?rev=940312&r1=940311&r2=940312&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletApplicationContext.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletApplicationContext.java
Sun May 2 19:35:28 2010
@@ -89,23 +89,6 @@ public class PortletApplicationContext i
}
/**
- * <p>Release references to allocated resources acquired in
- * <code>initialize()</code> of via subsequent processing. After this
- * method is called, subsequent calls to any other method than
- * <code>initialize()</code> will return undefined results.</p>
- */
- public void release() {
-
- // Release references to allocated collections
- applicationScope = null;
- initParam = null;
-
- // Release references to Portlet API objects
- context = null;
-
- }
-
- /**
* <p>Return the {...@link PortletContext} for this context.</p>
*
* @return The original portlet context.
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java?rev=940312&r1=940311&r2=940312&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
Sun May 2 19:35:28 2010
@@ -217,10 +217,7 @@ public class PortletRequest extends Abst
/** {...@inheritdoc} */
public Locale getRequestLocale() {
- if (request != null) {
- return request.getLocale();
- }
- return null;
+ return request.getLocale();
}
@Override
@@ -265,6 +262,11 @@ public class PortletRequest extends Abst
/** {...@inheritdoc} */
public void doForward(String path) throws IOException {
+ if (responseDelegate.isResponseCommitted()) {
+ doInclude(path);
+ return;
+ }
+
try {
PortletRequestDispatcher rd = getPortletContext()
.getRequestDispatcher(path);
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java?rev=940312&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java
Sun May 2 19:35:28 2010
@@ -0,0 +1,52 @@
+/**
+ *
+ */
+package org.apache.tiles.request.portlet;
+
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.lang.reflect.Field;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletContext;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.portlet.delegate.StateAwareRequestDelegate;
+import org.apache.tiles.request.portlet.delegate.StateAwareResponseDelegate;
+import org.junit.Test;
+
+/**
+ * Tests {...@link ActionPortletRequest}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ActionPortletRequestTest {
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.ActionPortletRequest#ActionPortletRequest(org.apache.tiles.request.ApplicationContext,
javax.portlet.PortletContext, javax.portlet.ActionRequest,
javax.portlet.ActionResponse)}.
+ * @throws NoSuchFieldException If something goes wrong.
+ * @throws SecurityException If something goes wrong.
+ * @throws IllegalAccessException If something goes wrong.
+ * @throws IllegalArgumentException If something goes wrong.
+ */
+ @Test
+ public void testActionPortletRequest() throws SecurityException,
NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ PortletContext portletContext = createMock(PortletContext.class);
+ ActionRequest request = createMock(ActionRequest.class);
+ ActionResponse response = createMock(ActionResponse.class);
+
+ replay(applicationContext, portletContext, request, response);
+ ActionPortletRequest req = new ActionPortletRequest(applicationContext,
+ portletContext, request, response);
+ Class<? extends ActionPortletRequest> clazz = req.getClass();
+ Field field =
clazz.getSuperclass().getDeclaredField("requestDelegate");
+ assertTrue(field.get(req) instanceof StateAwareRequestDelegate);
+ field = clazz.getSuperclass().getDeclaredField("responseDelegate");
+ assertTrue(field.get(req) instanceof StateAwareResponseDelegate);
+ verify(applicationContext, portletContext, request, response);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ActionPortletRequestTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java?rev=940312&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java
Sun May 2 19:35:28 2010
@@ -0,0 +1,52 @@
+/**
+ *
+ */
+package org.apache.tiles.request.portlet;
+
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.lang.reflect.Field;
+
+import javax.portlet.EventRequest;
+import javax.portlet.EventResponse;
+import javax.portlet.PortletContext;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.portlet.delegate.StateAwareRequestDelegate;
+import org.apache.tiles.request.portlet.delegate.StateAwareResponseDelegate;
+import org.junit.Test;
+
+/**
+ * Tests {...@link EventPortletRequest}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class EventPortletRequestTest {
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.EventPortletRequest#EventPortletRequest(org.apache.tiles.request.ApplicationContext,
javax.portlet.PortletContext, javax.portlet.EventRequest,
javax.portlet.EventResponse)}.
+ * @throws NoSuchFieldException If something goes wrong.
+ * @throws SecurityException If something goes wrong.
+ * @throws IllegalAccessException If something goes wrong.
+ * @throws IllegalArgumentException If something goes wrong.
+ */
+ @Test
+ public void testEventPortletRequest() throws SecurityException,
NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ PortletContext portletContext = createMock(PortletContext.class);
+ EventRequest request = createMock(EventRequest.class);
+ EventResponse response = createMock(EventResponse.class);
+
+ replay(applicationContext, portletContext, request, response);
+ EventPortletRequest req = new EventPortletRequest(applicationContext,
+ portletContext, request, response);
+ Class<? extends EventPortletRequest> clazz = req.getClass();
+ Field field =
clazz.getSuperclass().getDeclaredField("requestDelegate");
+ assertTrue(field.get(req) instanceof StateAwareRequestDelegate);
+ field = clazz.getSuperclass().getDeclaredField("responseDelegate");
+ assertTrue(field.get(req) instanceof StateAwareResponseDelegate);
+ verify(applicationContext, portletContext, request, response);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/EventPortletRequestTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java?rev=940312&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java
Sun May 2 19:35:28 2010
@@ -0,0 +1,108 @@
+package org.apache.tiles.request.portlet;
+
+import static org.easymock.EasyMock.*;
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Set;
+
+import javax.portlet.PortletContext;
+
+import org.apache.tiles.request.collection.ReadOnlyEnumerationMap;
+import org.apache.tiles.request.collection.ScopeMap;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests {...@link PortletApplicationContext}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class PortletApplicationContextTest {
+
+ private PortletContext portletContext;
+
+ private PortletApplicationContext context;
+
+ /**
+ * Sets up the test.
+ */
+ @Before
+ public void setUp() {
+ portletContext = createMock(PortletContext.class);
+ context = new PortletApplicationContext(portletContext);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletApplicationContext#getContext()}.
+ */
+ @Test
+ public void testGetContext() {
+ replay(portletContext);
+ assertEquals(portletContext, context.getContext());
+ verify(portletContext);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletApplicationContext#getPortletContext()}.
+ */
+ @Test
+ public void testGetPortletContext() {
+ replay(portletContext);
+ assertEquals(portletContext, context.getPortletContext());
+ verify(portletContext);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletApplicationContext#getApplicationScope()}.
+ */
+ @Test
+ public void testGetApplicationScope() {
+ replay(portletContext);
+ assertTrue(context.getApplicationScope() instanceof ScopeMap);
+ verify(portletContext);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletApplicationContext#getInitParams()}.
+ */
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testGetInitParams() {
+ replay(portletContext);
+ assertTrue(context.getInitParams() instanceof ReadOnlyEnumerationMap);
+ verify(portletContext);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletApplicationContext#getResource(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testGetResource() throws IOException {
+ URL url = new URL("http://tiles.apache.org/");
+ expect(portletContext.getResource("/my/path")).andReturn(url);
+
+ replay(portletContext);
+ assertEquals(url, context.getResource("/my/path"));
+ verify(portletContext);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletApplicationContext#getResources(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testGetResources() throws IOException {
+ URL url = new URL("http://tiles.apache.org/");
+ expect(portletContext.getResource("/my/path")).andReturn(url);
+
+ replay(portletContext);
+ Set<URL> urls = context.getResources("/my/path");
+ assertEquals(1, urls.size());
+ assertTrue(urls.contains(url));
+ verify(portletContext);
+ }
+}
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletApplicationContextTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletRequestTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletRequestTest.java?rev=940312&r1=940311&r2=940312&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletRequestTest.java
(original)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/PortletRequestTest.java
Sun May 2 19:35:28 2010
@@ -1,204 +1,397 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
package org.apache.tiles.request.portlet;
+import static org.easymock.EasyMock.*;
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
import java.util.Map;
-//import org.apache.shale.test.mock.MockPortletContext;
-//import org.apache.shale.test.mock.MockPortletRequest;
-//import org.apache.shale.test.mock.MockPortletResponse;
-//import org.apache.shale.test.mock.MockPortletSession;
-import org.apache.tiles.request.Request;
-import org.apache.tiles.request.portlet.PortletRequest;
-
-import junit.framework.TestCase;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletResponse;
+import javax.servlet.ServletOutputStream;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.collection.AddableParameterMap;
+import org.apache.tiles.request.collection.HeaderValuesMap;
+import org.apache.tiles.request.collection.ScopeMap;
+import org.apache.tiles.request.portlet.delegate.RequestDelegate;
+import org.apache.tiles.request.portlet.delegate.ResponseDelegate;
+import org.junit.Before;
+import org.junit.Test;
/**
+ * Tests {...@link PortletRequest}.
+ *
* @version $Rev$ $Date$
*/
-public class PortletRequestTest extends TestCase {
+public class PortletRequestTest {
+
+ private ApplicationContext applicationContext;
+
+ private PortletContext portletContext;
+
+ private javax.portlet.PortletRequest request;
+
+ private PortletResponse response;
+
+ private PortletRequest req;
+
+ private RequestDelegate requestDelegate;
+
+ private ResponseDelegate responseDelegate;
+
+ /**
+ * Sets up the test.
+ */
+ @Before
+ public void setUp() {
+ applicationContext = createMock(ApplicationContext.class);
+ portletContext = createMock(PortletContext.class);
+ request = createMock(javax.portlet.PortletRequest.class);
+ response = createMock(PortletResponse.class);
+ requestDelegate = createMock(RequestDelegate.class);
+ responseDelegate = createMock(ResponseDelegate.class);
+ req = new PortletRequest(applicationContext, portletContext, request,
+ response, requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doForward(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ * @throws PortletException If something goes wrong.
+ */
+ @Test
+ public void testDoForward() throws PortletException, IOException {
+ PortletRequestDispatcher rd =
createMock(PortletRequestDispatcher.class);
+
+ expect(responseDelegate.isResponseCommitted()).andReturn(false);
+ expect(portletContext.getRequestDispatcher("/my/path")).andReturn(rd);
+ rd.forward(request, response);
+
+ replay(applicationContext, portletContext, request, response, rd);
+ req.doForward("/my/path");
+ verify(applicationContext, portletContext, request, response, rd);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doForward(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ * @throws PortletException If something goes wrong.
+ */
+ @Test(expected=IOException.class)
+ public void testDoForwardNoDispatcher() throws IOException {
+ expect(responseDelegate.isResponseCommitted()).andReturn(false);
+
expect(portletContext.getRequestDispatcher("/my/path")).andReturn(null);
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ try {
+ req.doForward("/my/path");
+ } finally {
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doForward(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ * @throws PortletException If something goes wrong.
+ */
+ @Test(expected=IOException.class)
+ public void testDoForwardPortletException() throws PortletException,
IOException {
+ PortletRequestDispatcher rd =
createMock(PortletRequestDispatcher.class);
+
+ expect(responseDelegate.isResponseCommitted()).andReturn(false);
+ expect(portletContext.getRequestDispatcher("/my/path")).andReturn(rd);
+ rd.forward(request, response);
+ expectLastCall().andThrow(new PortletException());
+
+ replay(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ try {
+ req.doForward("/my/path");
+ } finally {
+ verify(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ }
+ }
/**
- * The used request context.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doForward(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ * @throws PortletException If something goes wrong.
*/
- private Request context;
+ @Test
+ public void testDoForwardInclude() throws PortletException, IOException {
+ PortletRequestDispatcher rd =
createMock(PortletRequestDispatcher.class);
+
+ expect(responseDelegate.isResponseCommitted()).andReturn(true);
+ expect(portletContext.getRequestDispatcher("/my/path")).andReturn(rd);
+ rd.include(request, response);
+
+ replay(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ req.doForward("/my/path");
+ verify(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doInclude(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ * @throws PortletException If something goes wrong.
+ */
+ @Test
+ public void testDoInclude() throws IOException, PortletException {
+ PortletRequestDispatcher rd =
createMock(PortletRequestDispatcher.class);
+
+ expect(portletContext.getRequestDispatcher("/my/path")).andReturn(rd);
+ rd.include(request, response);
- /** {...@inheritdoc} */
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-// MockPortletContext servletContext = new MockPortletContext();
-// servletContext
-// .addInitParameter("initParameter1", "initParameterValue1");
-// MockPortletSession session = new MockPortletSession(servletContext);
-// MockPortletRequest request = new MockPortletRequest(session);
-// MockPortletResponse response = new MockPortletResponse();
-// request.addParameter("myParam", "value1");
-// request.addParameter("myParam", "value2");
-//
-// context = new PortletTilesRequestContext(servletContext, request,
-// response);
-//
-// Map<String, Object> requestScope = context.getRequestScope();
-// requestScope.put("attribute1", "value1");
-// requestScope.put("attribute2", "value2");
-//
-// Map<String, Object> sessionScope = context.getSessionScope();
-// sessionScope.put("sessionAttribute1", "sessionValue1");
-// sessionScope.put("sessionAttribute2", "sessionValue2");
-//
-// Map<String, Object> applicationScope = ((TilesApplicationContext)
context)
-// .getApplicationScope();
-// applicationScope.put("applicationAttribute1", "applicationValue1");
-// applicationScope.put("applicationAttribute2", "applicationValue2");
+ replay(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ req.doInclude("/my/path");
+ verify(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
}
/**
- * Tests getting the header.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doInclude(java.lang.String)}.
+ * @throws IOException If something goes wrong.
*/
+ @Test(expected=IOException.class)
+ public void testDoIncludeNoDispatcher() throws IOException {
+
expect(portletContext.getRequestDispatcher("/my/path")).andReturn(null);
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ try {
+ req.doInclude("/my/path");
+ } finally {
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#doInclude(java.lang.String)}.
+ * @throws IOException If something goes wrong.
+ * @throws PortletException If something goes wrong.
+ */
+ @Test(expected=IOException.class)
+ public void testDoIncludePortletException() throws IOException,
PortletException {
+ PortletRequestDispatcher rd =
createMock(PortletRequestDispatcher.class);
+
+ expect(portletContext.getRequestDispatcher("/my/path")).andReturn(rd);
+ rd.include(request, response);
+ expectLastCall().andThrow(new PortletException());
+
+ replay(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ try {
+ req.doInclude("/my/path");
+ } finally {
+ verify(applicationContext, request, response, rd, portletContext,
requestDelegate, responseDelegate);
+ }
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getHeader()}.
+ */
+ @Test
public void testGetHeader() {
-// Map<String, String> map = context.getHeader();
-// assertTrue("The portlet cannot have headers!", map.isEmpty());
-// doTestReadMap(map, String.class, String.class, "header map");
+ assertTrue(req.getHeader() instanceof AddableParameterMap);
}
/**
- * Tests getting the header values.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getHeaderValues()}.
*/
+ @Test
public void testGetHeaderValues() {
-// Map<String, String[]> map = context.getHeaderValues();
-// assertTrue("The portlet cannot have headers!", map.isEmpty());
-// doTestReadMap(map, String.class, String[].class, "header values
map");
+ assertTrue(req.getHeaderValues() instanceof HeaderValuesMap);
}
/**
- * Tests getting request parameters.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getParam()}.
*/
+ @SuppressWarnings("unchecked")
+ @Test
public void testGetParam() {
-// Map<String, String> map = context.getParam();
-// assertTrue("The parameters do not contain a set value", "value1"
-// .equals(map.get("myParam"))
-// || "value2".equals(map.get("myParam")));
-// doTestReadMap(map, String.class, String.class, "parameter map");
+ Map<String, String> map = createMock(Map.class);
+
+ expect(requestDelegate.getParam()).andReturn(map);
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(map, req.getParam());
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
}
/**
- * Tests getting request parameters values.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getParamValues()}.
*/
+ @SuppressWarnings("unchecked")
+ @Test
public void testGetParamValues() {
-// Map<String, String[]> map = context.getParamValues();
-// String[] array = map.get("myParam");
-// assertTrue(
-// "The parameters not contain a set value",
-// array.length == 2
-// && (("value1".equals(array[0]) && "value2"
-// .equals(array[1])) || ("value1"
-// .equals(array[1]) &&
"value2".equals(array[0]))));
-// doTestReadMap(map, String.class, String[].class, "parameter values
map");
+ Map<String, String[]> paramMap = createMock(Map.class);
+
+ expect(requestDelegate.getParamValues()).andReturn(paramMap);
+
+ replay(applicationContext, request, response, paramMap,
portletContext, requestDelegate, responseDelegate);
+ assertEquals(paramMap, req.getParamValues());
+ verify(applicationContext, request, response, paramMap,
portletContext, requestDelegate, responseDelegate);
}
/**
- * Tests {...@link PortletRequest#getApplicationContext()}.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getRequestScope()}.
*/
- public void testGetApplicationContext() {
-// assertTrue("The objects are not the same", context == context
-// .getApplicationContext());
+ @Test
+ public void testGetRequestScope() {
+ assertTrue(req.getRequestScope() instanceof ScopeMap);
}
/**
- * Tests getting request scope attributes.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getSessionScope()}.
*/
- public void testGetRequestScope() {
-// Map<String, Object> map = context.getRequestScope();
-// assertTrue("The request scope does not contain a set value", "value1"
-// .equals(map.get("attribute1")));
-// assertTrue("The request scope does not contain a set value", "value2"
-// .equals(map.get("attribute2")));
-// doTestReadMap(map, String.class, Object.class, "request scope map");
+ @Test
+ public void testGetSessionScope() {
+ assertTrue(req.getSessionScope() instanceof ScopeMap);
}
/**
- * Tests getting session scope attributes.
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getPortletSessionScope()}.
*/
- public void testGetSessionScope() {
-// Map<String, Object> map = context.getSessionScope();
-// assertTrue("The session scope does not contain a set value",
-// "sessionValue1".equals(map.get("sessionAttribute1")));
-// assertTrue("The session scope does not contain a set value",
-// "sessionValue2".equals(map.get("sessionAttribute2")));
-// doTestReadMap(map, String.class, Object.class, "session scope map");
+ @Test
+ public void testGetPortletSessionScope() {
+ assertTrue(req.getPortletSessionScope() instanceof ScopeMap);
}
/**
- * Tests getting application scope attributes.
- */
- public void testGetApplicationScope() {
-// Map<String, Object> map = ((TilesApplicationContext) context)
-// .getApplicationScope();
-// assertTrue("The application scope does not contain a set value",
-//
"applicationValue1".equals(map.get("applicationAttribute1")));
-// assertTrue("The application scope does not contain a set value",
-//
"applicationValue2".equals(map.get("applicationAttribute2")));
-// doTestReadMap(map, String.class, Object.class, "application scope
map");
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getNativeScopes()}.
+ */
+ @Test
+ public void testGetNativeScopes() {
+ assertArrayEquals(new String[] { "request", "portletSession",
+ "session", "application" }, req.getNativeScopes());
}
/**
- * Tests getting init parameters..
- */
- public void testGetInitParams() {
-// Map<String, String> map = ((TilesApplicationContext) context)
-// .getInitParams();
-// assertTrue("The init parameters do not contain a set value",
-// "initParameterValue1".equals(map.get("initParameter1")));
-// doTestReadMap(map, String.class, String.class,
-// "init parameters scope map");
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getOutputStream()}.
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testGetOutputStream() throws IOException {
+ ServletOutputStream os = createMock(ServletOutputStream.class);
+
+ expect(responseDelegate.getOutputStream()).andReturn(os);
+
+ replay(applicationContext, request, response, os, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(req.getOutputStream(), os);
+ verify(applicationContext, request, response, os, portletContext,
requestDelegate, responseDelegate);
}
/**
- * Tests a generic map.
- *
- * @param <K> The key type.
- * @param <V> The value type.
- * @param currentMap The map to check.
- * @param keyClass The key class.
- * @param valueClass The value class.
- * @param mapName The name of the map to test (for messages).
- */
- private <K, V> void doTestReadMap(Map<K, V> currentMap, Class<K> keyClass,
- Class<V> valueClass, String mapName) {
- int size1, size2;
- size1 = currentMap.keySet().size();
- size2 = currentMap.entrySet().size();
- assertEquals("The map" + mapName
- + " has keySet and entrySet of different size", size1, size2);
- for (K key : currentMap.keySet()) {
- assertTrue("The key is not of class" + keyClass.getName(), keyClass
- .isInstance(key));
- V value = currentMap.get(key);
- assertTrue("The value is not of class" + valueClass.getName(),
- valueClass.isInstance(value));
- assertTrue("The map " + mapName
- + " does not return the correct value for 'containsValue'",
- currentMap.containsValue(value));
- }
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getWriter()}.
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testGetWriter() throws IOException {
+ PrintWriter os = createMock(PrintWriter.class);
+
+ expect(responseDelegate.getWriter()).andReturn(os);
+
+ replay(applicationContext, request, response, os, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(req.getWriter(), os);
+ verify(applicationContext, request, response, os, portletContext,
requestDelegate, responseDelegate);
}
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getPrintWriter()}.
+ * @throws IOException If something goes wrong.
+ */
+ @Test
+ public void testGetPrintWriter() throws IOException {
+ PrintWriter os = createMock(PrintWriter.class);
+
+ expect(responseDelegate.getPrintWriter()).andReturn(os);
+
+ replay(applicationContext, request, response, os, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(req.getPrintWriter(), os);
+ verify(applicationContext, request, response, os, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#isResponseCommitted()}.
+ */
+ @Test
+ public void testIsResponseCommitted() {
+ expect(responseDelegate.isResponseCommitted()).andReturn(true);
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertTrue(req.isResponseCommitted());
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#setContentType(java.lang.String)}.
+ */
+ @Test
+ public void testSetContentType() {
+ responseDelegate.setContentType("text/html");
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ req.setContentType("text/html");
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getRequestLocale()}.
+ */
+ @Test
+ public void testGetRequestLocale() {
+ Locale locale = Locale.ITALY;
+
+ expect(request.getLocale()).andReturn(locale);
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(locale, req.getRequestLocale());
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getRequestObjects()}.
+ */
+ @Test
+ public void testGetRequestObjects() {
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertArrayEquals(new Object[] {request, response},
req.getRequestObjects());
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getRequest()}.
+ */
+ @Test
+ public void testGetRequest() {
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(request, req.getRequest());
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#getResponse()}.
+ */
+ @Test
+ public void testGetResponse() {
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertEquals(response, req.getResponse());
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.PortletRequest#isUserInRole(java.lang.String)}.
+ */
+ @Test
+ public void testIsUserInRole() {
+ expect(request.isUserInRole("myrole")).andReturn(true);
+
+ replay(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ assertTrue(req.isUserInRole("myrole"));
+ verify(applicationContext, request, response, portletContext,
requestDelegate, responseDelegate);
+ }
+
}
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java?rev=940312&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java
Sun May 2 19:35:28 2010
@@ -0,0 +1,52 @@
+/**
+ *
+ */
+package org.apache.tiles.request.portlet;
+
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.lang.reflect.Field;
+
+import javax.portlet.PortletContext;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.portlet.delegate.MimeResponseDelegate;
+import org.apache.tiles.request.portlet.delegate.PortletRequestDelegate;
+import org.junit.Test;
+
+/**
+ * Tests {...@link RenderPortletRequest}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class RenderPortletRequestTest {
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.RenderPortletRequest#RenderPortletRequest(org.apache.tiles.request.ApplicationContext,
javax.portlet.PortletContext, javax.portlet.RenderRequest,
javax.portlet.RenderResponse)}.
+ * @throws NoSuchFieldException If something goes wrong.
+ * @throws SecurityException If something goes wrong.
+ * @throws IllegalAccessException If something goes wrong.
+ * @throws IllegalArgumentException If something goes wrong.
+ */
+ @Test
+ public void testRenderPortletRequest() throws SecurityException,
NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ PortletContext portletContext = createMock(PortletContext.class);
+ RenderRequest request = createMock(RenderRequest.class);
+ RenderResponse response = createMock(RenderResponse.class);
+
+ replay(applicationContext, portletContext, request, response);
+ RenderPortletRequest req = new RenderPortletRequest(applicationContext,
+ portletContext, request, response);
+ Class<? extends RenderPortletRequest> clazz = req.getClass();
+ Field field =
clazz.getSuperclass().getDeclaredField("requestDelegate");
+ assertTrue(field.get(req) instanceof PortletRequestDelegate);
+ field = clazz.getSuperclass().getDeclaredField("responseDelegate");
+ assertTrue(field.get(req) instanceof MimeResponseDelegate);
+ verify(applicationContext, portletContext, request, response);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/RenderPortletRequestTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java?rev=940312&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java
(added)
+++
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java
Sun May 2 19:35:28 2010
@@ -0,0 +1,52 @@
+/**
+ *
+ */
+package org.apache.tiles.request.portlet;
+
+import static org.easymock.classextension.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.lang.reflect.Field;
+
+import javax.portlet.PortletContext;
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.portlet.delegate.MimeResponseDelegate;
+import org.apache.tiles.request.portlet.delegate.PortletRequestDelegate;
+import org.junit.Test;
+
+/**
+ * Tests {...@link ResourcePortletRequest}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ResourcePortletRequestTest {
+
+ /**
+ * Test method for {...@link
org.apache.tiles.request.portlet.ResourcePortletRequest#ResourcePortletRequest(org.apache.tiles.request.ApplicationContext,
javax.portlet.PortletContext, javax.portlet.ResourceRequest,
javax.portlet.ResourceResponse)}.
+ * @throws NoSuchFieldException If something goes wrong.
+ * @throws SecurityException If something goes wrong.
+ * @throws IllegalAccessException If something goes wrong.
+ * @throws IllegalArgumentException If something goes wrong.
+ */
+ @Test
+ public void testResourcePortletRequest() throws SecurityException,
NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+ PortletContext portletContext = createMock(PortletContext.class);
+ ResourceRequest request = createMock(ResourceRequest.class);
+ ResourceResponse response = createMock(ResourceResponse.class);
+
+ replay(applicationContext, portletContext, request, response);
+ ResourcePortletRequest req = new
ResourcePortletRequest(applicationContext,
+ portletContext, request, response);
+ Class<? extends ResourcePortletRequest> clazz = req.getClass();
+ Field field =
clazz.getSuperclass().getDeclaredField("requestDelegate");
+ assertTrue(field.get(req) instanceof PortletRequestDelegate);
+ field = clazz.getSuperclass().getDeclaredField("responseDelegate");
+ assertTrue(field.get(req) instanceof MimeResponseDelegate);
+ verify(applicationContext, portletContext, request, response);
+ }
+
+}
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/test/java/org/apache/tiles/request/portlet/ResourcePortletRequestTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL