@Test public void loadUserExist() { // 准备数据 User user = new User(); user.setLoginName("admin"); user.setShaPassword(new ShaPasswordEncoder().encodePassword("admin", null)); Role role1 = new Role(); role1.setName("admin"); Role role2 = new Role(); role2.setName("user"); user.getRoleList().add(role1); user.getRoleList().add(role2); // 录制脚本 EasyMock.expect(mockAccountManager.findUserByLoginName("admin")).andReturn(user); control.replay(); // 执行测试 OperatorDetails operator = (OperatorDetails) userDetailsService.loadUserByUsername(user.getLoginName()); // 校验结果 assertEquals(user.getLoginName(), operator.getUsername()); assertEquals(new ShaPasswordEncoder().encodePassword("admin", null), operator.getPassword()); assertEquals(2, operator.getAuthorities().size()); assertEquals( new GrantedAuthorityImpl("ROLE_admin"), operator.getAuthorities().iterator().next()); assertNotNull(operator.getLoginTime()); }
@Test(expected = UsernameNotFoundException.class) public void loadUserByWrongUserName() { // 录制脚本 EasyMock.expect(mockAccountManager.findUserByLoginName("foo")).andReturn(null); control.replay(); assertNull(userDetailsService.loadUserByUsername("foo")); }
@ModelAttribute("user") public User getAccount(@PathVariable("id") Long id) { return accountManager.getUser(id); }
@RequestMapping(value = "save/{id}", method = RequestMethod.POST) public String save(@ModelAttribute("user") User user, RedirectAttributes redirectAttributes) { accountManager.saveUser(user); return "redirect:/common/user/"; }