Test class unable to read from dispatcher-servlet.xml
Hi Everybode,
I'm trying to test my simple LoginController, but I'm getting NullPointerException whenever I try to use methods like getSuccessView(), getCommandClass(), getCommandName()!
Here is my LoginContoller:
Code:
public class LoginController extends SimpleFormController{
@Override
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response,
Object command,
BindException errors)
throws Exception {
Login login = (Login) command;
System.out.println("The username is " + login.getUsername());
System.out.println("the password is " + login.getPassword());
request.getSession().setAttribute("login", login);
return new ModelAndView(new RedirectView(getSuccessView()));
}
}
And here is my test class LoginControllerTest()
Code:
public class LoginControllerTest {
private MockHttpServletRequest request;
private MockHttpServletResponse response;
private LoginController loginController;
public LoginControllerTest() {
}
@BeforeClass
public static void setUpClass() throws Exception {
}
@AfterClass
public static void tearDownClass() throws Exception {
}
@Before
public void setUp() {
request = new MockHttpServletRequest();
response = new MockHttpServletResponse();
request.setMethod("GET");
loginController = new LoginController();
}
@After
public void tearDown() {
}
@Test
public void testCreate() {
assertEquals(Login.class, loginController.getCommandClass()); // <-------- This is returning NullPointerExecption
assertEquals("login", loginController.getCommandName()); //<------- This is returning NullPointerExecption
assertEquals("login", loginController.getFormView()); // <-------- This is returning NullPointerExecption
assertEquals("redirect:search.html", loginController.getSuccessView());
}
/**
* Test of onSubmit method, of class LoginController.
*/
@Test
public void testOnSubmit() throws Exception {
System.out.println("onSubmit");
LoginController loginController = new LoginController();
Login login = new Login();
login.setUsername("admin");
login.setPassword("adminadmin");
//BindException errors = new BindException(login, "errors");
//request.getSession().setAttribute("login", login);
ModelAndView mv = loginController.onSubmit(request, response, login, null);
assertEquals("search.html", mv.getViewName()); // <------This is returning NullPointerExecption
}
And Here is the code regarding loginController in my dispatcher-servlet.xml
Code:
<bean name="loginController" class="se.spray.rico.web.LoginController">
<property name="commandClass" value="se.spray.rico.model.Login"/>
<property name="formView" value="login"/>
<property name="successView" value="search.html"/>
<property name="validator" ref="loginValidatorManager"/>
<property name="commandName" value="login"/>
<property name="sessionForm" value="true"/>
</bean>
I'll be very thankful is somebode could point to me what I'm doing wrong?
Regards
Azam