Author: grobmeier Date: Sun Mar 17 07:44:54 2013 New Revision: 1457392 URL: http://svn.apache.org/r1457392 Log: WW-4017: Support multiple Action executions and Session values
Modified: struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java Modified: struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java?rev=1457392&r1=1457391&r2=1457392&view=diff ============================================================================== --- struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java (original) +++ struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java Sun Mar 17 07:44:54 2013 @@ -41,9 +41,11 @@ import org.springframework.mock.web.Mock import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.logging.*; @@ -199,6 +201,23 @@ public abstract class StrutsJUnit4TestCa pageContext = new MockPageContext(servletContext, request, response); } + public void finishExecution() { + HttpSession session = this.request.getSession(); + Enumeration attributeNames = session.getAttributeNames(); + + MockHttpServletRequest nextRequest = new MockHttpServletRequest(); + + while (attributeNames.hasMoreElements()) { + String key = (String) attributeNames.nextElement(); + Object attribute = session.getAttribute(key); + nextRequest.getSession().setAttribute(key, attribute); + } + + this.response = new MockHttpServletResponse(); + this.request = nextRequest; + this.pageContext = new MockPageContext(servletContext, request, response); + } + /** * Sets up the configuration settings, XWork configuration, and * message resources