src.servletunit.struts.tests.TestSetActionForm Maven / Gradle / Ivy
Go to download
StrutsTestCase for JUnit is an extension of the standard JUnit TestCase class that provides facilities for testing code based on the Struts framework
The newest version!
// StrutsTestCase - a JUnit extension for testing Struts actions
// within the context of the ActionServlet.
// Copyright (C) 2002 Deryl Seale
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the Apache Software License as
// published by the Apache Software Foundation; either version 1.1
// of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// Apache Software Foundation Licens for more details.
//
// You may view the full text here: http://www.apache.org/LICENSE.txt
package servletunit.struts.tests;
import servletunit.struts.MockStrutsTestCase;
import examples.LoginForm;
public class TestSetActionForm extends MockStrutsTestCase {
public TestSetActionForm(String testName) {
super(testName);
}
public void setUp() throws Exception {
super.setUp();
setServletConfigFile("/WEB-INF/web.xml");
}
public void testNonModuleSetActionForm() {
LoginForm form = new LoginForm();
form.setUsername("deryl");
form.setPassword("radar");
setRequestPathInfo("/login");
setActionForm(form);
actionPerform();
verifyNoActionErrors();
verifyForward("success");
verifyForwardPath("/main/success.jsp");
}
public void testSetActionForm() {
ComplexForm form = new ComplexForm();
form.setUsername("deryl");
form.setPassword("radar");
form.setComplexObject(new Object());
setRequestPathInfo("test","/testSetActionForm");
setActionForm(form);
actionPerform();
verifyForward("success");
verifyForwardPath("/test/main/success.jsp");
verifyNoActionErrors();
}
public void testFormReset() {
ComplexForm form = new ComplexForm();
form.setUsername("deryl");
form.setPassword("radar");
form.setComplexObject(new Object());
setRequestPathInfo("test","/testSetActionForm");
addRequestParameter("test.reset","true");
setActionForm(form);
actionPerform();
verifyForward("login");
verifyForwardPath("/login/login.jsp");
verifyActionErrors(new String[] {"error.password.mismatch"});
}
public void testSetActionFormBeforeSettingRequestPathFails() {
ComplexForm form = new ComplexForm();
form.setUsername("deryl");
form.setPassword("radar");
form.setComplexObject(new Object());
try {
setActionForm(form);
} catch (IllegalStateException ise) {
return;
}
fail("should have thrown IllegalStateException");
}
public static void main(String[] args) {
junit.textui.TestRunner.run(TestSetActionForm.class);
}
}