...
- bean - defines the name of the test bean
- method - defines the name of the test method to be executed
- connect - if true the test servlet will send the report to the HTTP test runner
The httptestrunner.properties sets the port number of the socket server and the test servlet URL.
The test runner reads the list of test beans from the same Spring configuration file which URL is provided by the test servlet.No Format # The test runner properties # Server socket port for communication with the test servlet server_socket_port = 10999 # Tomcat port web_app_port = 8080 # Test servlet URL, must start with "/" servletUrl = /uP3/TestServlet
HttpTestCase class
It is an extension of JUnit's TestCase with its own initTest() method to initialize a test bean with ServletConfig, HttpServletRequest and HttpServletResponse. Accepts all assertions supported by JUnit. Subclasses need to be registered within the Spring config file of the test servlet. PortletUrlTest is an example of the HTTP test bean:Code Block borderStyle solid title PortletUrlTest.java borderStyle solid /* Copyright 2004 The JA-SIG Collaborative. All rights reserved. * See license distributed with this file and * available online at http://www.uportal.org/license.html */ package org.jasig.portal.portlet.url; ... import org.jasig.portal.servlet.HttpTestCase; /** * Tests for the IPortletUrl impls * * @author Michael Ivanov: mivanov at unicon.net * */ public class PortletUrlTest extends HttpTestCase { ... /** * @see TestCase#setUp() */ protected void setUp() throws Exception { } private IPortletWindow getTestPortletWindow() { return new PortletWindowImpl(new PortletEntityImpl(),PortletIdFactory.createPortletWindowId("1")); } public void testUrlProcessor() { String param1 = "param1"; String param2 = "param2"; String value11 = "value11"; String value21 = "value21"; String value22 = "value22"; IPortletWindow window = getTestPortletWindow(); PortletRequestParameterProcessor processor = new PortletRequestParameterProcessor(); IPortletWindowManager windowManager = new MockPortletWindowManager(); IPortletParameterSyntaxProvider syntaxProvider = new PortletParameterSyntaxProviderImpl(); processor.setWindowManager(windowManager); processor.setParameterSyntaxProvider(syntaxProvider); // Writing parameters into request WritableHttpServletRequestImpl writer = new WritableHttpServletRequestImpl(getRequest()); writer.setParameterValues(syntaxProvider.getRequestParameterName(param1,window.getObjectId()),new String[] { value11 }); writer.setParameterValues(syntaxProvider.getRequestParameterName(param2,window.getObjectId()),new String[] { value21, value22 }); writer.setParameterValues(syntaxProvider.getWindowStateCommandName(window.getObjectId()),new String[] { WindowState.MAXIMIZED.toString() }); writer.setParameterValues(syntaxProvider.getPortletModeCommandName(window.getObjectId()),new String[] { PortletMode.HELP.toString() }); writer.setParameterValues(syntaxProvider.getActionTargetCommandName(),new String[] { window.getObjectId().toString() }); // Checking the syntax provider assertTrue(syntaxProvider.isPortletModeCommand(syntaxProvider.getPortletModeCommandName(window.getObjectId()))); assertTrue(syntaxProvider.isWindowStateCommand(syntaxProvider.getWindowStateCommandName(window.getObjectId()))); assertTrue(syntaxProvider.isPortletParameter(syntaxProvider.getRequestParameterName(param1,window.getObjectId()))); assertTrue(syntaxProvider.isPortletParameter(syntaxProvider.getRequestParameterName(param2,window.getObjectId()))); // Parameter processing processor.processParameters(writer,getResponse()); assertEquals(windowManager.getPortletMode(window.getObjectId(),getRequest()),PortletMode.HELP); assertEquals(windowManager.getWindowState(window.getObjectId(),getRequest()),WindowState.MAXIMIZED); assertEquals(syntaxProvider.getRealParameterName(syntaxProvider.getRequestParameterName(param1,window.getObjectId())),param1); assertEquals(syntaxProvider.getRequestParameterName(param2,window.getObjectId()), syntaxProvider.getRequestParameterName(syntaxProvider.getRealParameterName(syntaxProvider.getRequestParameterName(param2,window.getObjectId())),window.getObjectId())); } // Some other test methods ... }