Some tests in uPortal 3 that use classes from javax.servlet.* in their runtime environment need to be running within a servlet container.
Package org.jasig.portal.servlet in tests directory contains the following basic classes extending JUnit test functionality:
Test Servlet
This servlet performs HTTP tests using Reflection API and sends reports to the HTTP test runner which is a standalone Java application.
It uses the Spring config file to register HTTP test beans. uPortal 3 registers this servlet in its web.xml.
HTTP Test Runner
It works as a standalone socket server accepting TCP/IP connections from the test servlet and shows results of tests running by that servlet.
Connects to the test servlet to execute HTTP tests specified by the parameters:
- 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.
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.