use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountController method updateUserEmail.
/**
* 修改邮箱
*
* @param requestBodyParamsMap request-body 内 JSON 数据
* @return ApiJsonDTO 接口 JSON 传输对象
*/
@LoginAuthorization
@RequestMapping(value = "/update-email", method = RequestMethod.POST, consumes = "application/json")
public ApiJsonDTO updateUserEmail(@RequestBody Map<String, Object> requestBodyParamsMap) {
String username = (String) requestBodyParamsMap.get(ParamConst.USERNAME);
String newEmail = (String) requestBodyParamsMap.get(ParamConst.EMAIL);
validationService.check(ParamConst.USERNAME, username).check(ParamConst.EMAIL, newEmail);
UserDO cookieUser = secretService.getUserInfoByAuthentication(httpService.getAuthenticationCookieValue());
userService.confirmUserMatchCookieUser(username, cookieUser);
userService.alterUserEmail(username, newEmail);
return new ApiJsonDTO().success();
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountControllerTest method testRegisterAccountSuccess.
/**
* 测试 /api/account/register
* - 注册账户成功
*/
@Test
@Transactional
public void testRegisterAccountSuccess() throws Exception {
// build params -> request-body
String username = "apiTestUser";
String password = "apiTestPassword";
String email = "apiTestEmail@neubBs.com";
String requestBody = "{\"username\":\"" + username + "\"," + "\"password\":\"" + password + "\"," + "\"email\":\"" + email + "\"}";
System.out.println("input request-body: " + requestBody);
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.post("/api/account/register").contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists()).andReturn();
util.isExistKeyItems(result, "email", "sex", "birthday", "position", "description", "avator", "state", "createtime", "userid", "username");
// validate 'forum_user_action'
UserDO user = userDAO.getUserByName(username);
Assert.assertNotNull(userActionDAO.getUserAction(user.getId()));
// so need to remove user personal directory in ftp server, because register account automatic create
FtpUtil.deleteDirectory("/user/" + user.getId() + "-" + username);
util.printSuccessMessage();
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountControllerTest method testValidateActivateTokenSuccess.
/**
* 测试 /api/account/validate
* - 验证 Token(来自激活邮件),激活用户成功
*/
@Test
@Transactional
public void testValidateActivateTokenSuccess() throws Exception {
// register new user
UserDO testUser = userService.registerUser("testUser", "123456", "testUser@test.com");
// build token
// String token = ((ISecretService) webApplicationContext.getBean("secretServiceImpl")).generateValidateEmailToken(testUser.getEmail());
String token = SecretUtil.encodeBase64(testUser.getEmail() + "-" + StringUtil.getTodayTwentyFourClockTimestamp());
// validate token and activate user
mockMvc.perform(MockMvcRequestBuilders.get("/api/account/validate").param("token", token)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists());
// again validate database user activated state
Assert.assertTrue(userService.getUserInfoByEmail(testUser.getEmail()).getState() == 1);
util.printSuccessMessage();
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountControllerTest method testUpdateUserEmailSuccess.
/**
* 测试 /api/account/update-email
* - 测试修改邮箱成功
* - 需要权限:@LoginAuthorization
*/
@Test
@Transactional
public void testUpdateUserEmailSuccess() throws Exception {
String username = "suvan";
String newEmail = "newEmail@email.com";
String requestBody = "{\"username\":\"" + username + "\",\"email\":\"" + newEmail + "\"}";
System.out.println("input request-body: " + requestBody);
mockMvc.perform(MockMvcRequestBuilders.post("/api/account/update-email").cookie(util.getAlreadyLoginUserCookie()).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists());
// again validate database user
UserDO user = userService.getUserInfoByName(username);
Assert.assertNotNull(user);
Assert.assertEquals(newEmail, user.getEmail());
util.printSuccessMessage();
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountControllerTest method testUpdateUserPassword.
/**
* 测试 /api/account/update-password
* - 账户修改密码成功
* - 需要权限:@LoginAuthorization @AccountActivation
*/
@Test
@Transactional
public void testUpdateUserPassword() throws Exception {
String username = "suvan";
String newPassword = "new123456";
String requestBody = "{\"username\":\"" + username + "\",\"password\":\"" + newPassword + "\"}";
System.out.println("input request-body:" + requestBody);
mockMvc.perform(MockMvcRequestBuilders.post("/api/account/update-password").cookie(util.getAlreadyLoginUserCookie()).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists());
// again validate database user
UserDO user = userService.getUserInfoByName(username);
String secretPassword = SecretUtil.encryptMd5(SecretUtil.encryptMd5(newPassword) + newPassword);
Assert.assertEquals(secretPassword, user.getPassword());
util.printSuccessMessage();
}
Aggregations