Advertisement
Guest User

Untitled

a guest
Feb 25th, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.43 KB | None | 0 0
  1. @EnableWebMvc
  2. @WebAppConfiguration
  3. @Configuration
  4. @ContextConfiguration(locations = { "classpath:/WEB-INF/spring-dispatcher-servlet.xml" })
  5. public class LoginControllerTest {
  6.  
  7. @Autowired
  8. protected WebApplicationContext wac;
  9.  
  10. private MockMvc mockMvc;
  11.  
  12. @Before
  13. public void setup() throws Exception {
  14. InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
  15. viewResolver.setPrefix("/WEB-INF/views/");
  16. viewResolver.setSuffix(".jsp");
  17. this.mockMvc = standaloneSetup(new LoginController()).setViewResolvers(viewResolver).build();
  18. }
  19.  
  20. @Test
  21. public void testDisplayLogin() throws Exception {
  22. this.mockMvc.perform(get("/login")).andExpect(status().isOk()).andExpect(view().name("login")).andDo(print())
  23. .andExpect(forwardedUrl("/WEB-INF/views/login.jsp"));
  24. }
  25.  
  26. @Test
  27. public void testExecuteLogin() throws Exception {
  28. this.mockMvc.perform(post("/login").param("username", "nikola").param("password", "pass")).andDo(print())
  29. .andExpect(status().isOk()).andExpect(view().name("login"));
  30. }
  31.  
  32. }
  33.  
  34. @Controller
  35. public class LoginController {
  36.  
  37. @Autowired
  38. private LoginDelegate loginDelegate;
  39.  
  40. @RequestMapping(value = "/login", method = RequestMethod.GET)
  41. public ModelAndView displayLogin(HttpServletRequest request, HttpServletResponse response, LoginBean loginBean) {
  42. ModelAndView model = new ModelAndView("login");
  43. model.addObject("loginBean", loginBean);
  44. return model;
  45. }
  46.  
  47. @RequestMapping(value = "/login", method = RequestMethod.POST)
  48. public ModelAndView executeLogin(ModelAndView model, HttpServletRequest request, HttpServletResponse response,
  49. @ModelAttribute("loginBean") LoginBean loginBean) {
  50.  
  51. try {
  52. boolean isValidUser = loginDelegate.isValidUser(loginBean.getUsername(), loginBean.getPassword());
  53. if (isValidUser) {
  54. System.out.println("User Login Successful");
  55. request.setAttribute("loggedInUser", loginBean.getUsername());
  56. model = new ModelAndView("welcome");
  57. } else {
  58. model = new ModelAndView("login");
  59. request.setAttribute("message", "Invalid credentials!!");
  60. }
  61.  
  62. } catch (Exception e) {
  63. e.printStackTrace();
  64. }
  65.  
  66. return model;
  67. }
  68. }
  69.  
  70. <beans xmlns="http://www.springframework.org/schema/beans"
  71. xmlns:context="http://www.springframework.org/schema/context"
  72. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
  73. xsi:schemaLocation="
  74. http://www.springframework.org/schema/beans
  75. http://www.springframework.org/schema/beans/spring-beans.xsd
  76. http://www.springframework.org/schema/context
  77. http://www.springframework.org/schema/context/spring-context.xsd
  78. http://www.springframework.org/schema/mvc
  79. http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  80.  
  81. <context:component-scan base-package="com.nikola" />
  82.  
  83. <mvc:annotation-driven enable-matrix-variables="true" />
  84.  
  85. <bean id="viewResolver"
  86. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  87. <property name="prefix">
  88. <value>/WEB-INF/views/</value>
  89. </property>
  90. <property name="suffix">
  91. <value>.jsp</value>
  92. </property>
  93. </bean>
  94.  
  95. <bean id="loginDelegate" class="com.nikola.integration.delegate.LoginDelegate">
  96. <property name="userService" ref="userService"></property>
  97. </bean>
  98.  
  99. <bean id="userService" class="com.nikola.integration.service.impl.UserServiceImpl">
  100. <property name="userDao" ref="userDao"></property>
  101. </bean>
  102.  
  103. <bean name="userDao" class="com.nikola.integration.dao.impl.UserDaoImpl">
  104. <property name="dataSource" ref="dataSource"></property>
  105. </bean>
  106.  
  107. <bean id="dataSource"
  108. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  109. <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  110. <property name="url" value="jdbc:mysql://localhost:3306/store" />
  111. <property name="username" value="root" />
  112. <property name="password" value="" />
  113. </bean>
  114. </beans>
  115.  
  116. java.lang.NullPointerException
  117. at com.nikola.integration.controller.LoginController.executeLogin(LoginController.java:34)
  118. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  119. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  120. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  121. at java.lang.reflect.Method.invoke(Method.java:497)
  122. at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
  123. at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
  124. at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:111)
  125. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:806)
  126. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:729)
  127. at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
  128. at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
  129. at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
  130. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
  131. at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
  132. at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
  133. at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
  134. at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:65)
  135. at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
  136. at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167)
  137. at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134)
  138. at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:144)
  139. at com.nikola.integration.controller.test.LoginControllerTest.testExecuteLogin(LoginControllerTest.java:51)
  140. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  141. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  142. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  143. at java.lang.reflect.Method.invoke(Method.java:497)
  144. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  145. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  146. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  147. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
  148. at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
  149. at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
  150. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
  151. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
  152. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  153. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  154. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  155. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  156. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  157. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  158. at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
  159. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  160. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
  161. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
  162. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
  163. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement