Author: mcucchiara Date: Sat Aug 13 17:41:59 2011 New Revision: 1157396 URL: http://svn.apache.org/viewvc?rev=1157396&view=rev Log: WW-3669 - TestCase for StrutsJUnit4TestCase
Added: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringJUnit4TestCaseTest.java (with props) Modified: struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringTestCaseTest.java (props changed) struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsTestCaseTest.java (contents, props changed) struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/TestAction.java (props changed) struts/struts2/trunk/plugins/junit/src/test/resources/applicationContext.xml (props changed) struts/struts2/trunk/plugins/junit/src/test/resources/struts.xml (props changed) struts/struts2/trunk/plugins/junit/src/test/resources/template.ftl (props changed) 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=1157396&r1=1157395&r2=1157396&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 Sat Aug 13 17:41:59 2011 @@ -152,7 +152,7 @@ public abstract class StrutsJUnit4TestCa namespace, name, method, new HashMap<String, Object>(), true, false); ActionContext invocationContext = proxy.getInvocation().getInvocationContext(); - invocationContext.setParameters(new HashMap(request.getParameterMap())); + invocationContext.setParameters(new HashMap<String,Object>(request.getParameterMap())); // set the action context to the one used by the proxy ActionContext.setContext(invocationContext); Added: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringJUnit4TestCaseTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringJUnit4TestCaseTest.java?rev=1157396&view=auto ============================================================================== --- struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringJUnit4TestCaseTest.java (added) +++ struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringJUnit4TestCaseTest.java Sat Aug 13 17:41:59 2011 @@ -0,0 +1,76 @@ +/* + * $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.struts2; + +import com.opensymphony.xwork2.Action; +import com.opensymphony.xwork2.ActionProxy; +import org.apache.struts2.dispatcher.mapper.ActionMapping; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.servlet.ServletException; +import java.io.UnsupportedEncodingException; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations={"classpath*:applicationContext.xml"}) +public class StrutsSpringJUnit4TestCaseTest extends StrutsSpringJUnit4TestCase<TestAction> { + + @Test + public void getActionMapping() { + ActionMapping mapping = getActionMapping("/test/testAction.action"); + Assert.assertNotNull(mapping); + Assert.assertEquals("/test", mapping.getNamespace()); + Assert.assertEquals("testAction", mapping.getName()); + } + + @Test + public void getActionProxy() throws Exception { + //set parameters before calling getActionProxy + request.setParameter("name", "FD"); + + ActionProxy proxy = getActionProxy("/test/testAction.action"); + Assert.assertNotNull(proxy); + + TestAction action = (TestAction) proxy.getAction(); + Assert.assertNotNull(action); + + String result = proxy.execute(); + Assert.assertEquals(Action.SUCCESS, result); + Assert.assertEquals("FD", action.getName()); + } + + @Test + public void executeAction() throws ServletException, UnsupportedEncodingException { + String output = executeAction("/test/testAction.action"); + Assert.assertEquals("Hello", output); + } + + @Test + public void getValueFromStack() throws ServletException, UnsupportedEncodingException { + request.setParameter("name", "FD"); + executeAction("/test/testAction.action"); + String name = (String) findValueAfterExecute("name"); + Assert.assertEquals("FD", name); + } +} Propchange: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringJUnit4TestCaseTest.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Propchange: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsSpringTestCaseTest.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Modified: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsTestCaseTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsTestCaseTest.java?rev=1157396&r1=1157395&r2=1157396&view=diff ============================================================================== --- struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsTestCaseTest.java (original) +++ struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsTestCaseTest.java Sat Aug 13 17:41:59 2011 @@ -20,15 +20,12 @@ */ package org.apache.struts2; -import org.apache.struts2.dispatcher.mapper.ActionMapping; - -import java.util.HashMap; -import java.io.UnsupportedEncodingException; - -import com.opensymphony.xwork2.ActionProxy; import com.opensymphony.xwork2.Action; +import com.opensymphony.xwork2.ActionProxy; +import org.apache.struts2.dispatcher.mapper.ActionMapping; import javax.servlet.ServletException; +import java.io.UnsupportedEncodingException; public class StrutsTestCaseTest extends StrutsSpringTestCase { public void testGetActionMapping() { Propchange: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/StrutsTestCaseTest.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Propchange: struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/TestAction.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Propchange: struts/struts2/trunk/plugins/junit/src/test/resources/applicationContext.xml ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Propchange: struts/struts2/trunk/plugins/junit/src/test/resources/struts.xml ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Propchange: struts/struts2/trunk/plugins/junit/src/test/resources/template.ftl ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL