Search in sources :

Example 36 with UserDO

use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.

the class UserDAOTest method testUpdateUserRankByName.

/**
 * 测试更新用户权限
 */
@Test
@Transactional
public void testUpdateUserRankByName() {
    UserDO user = this.getTestUserDO();
    Assert.assertEquals(1, userDAO.saveUser(user));
    String username = "testUser";
    String newRank = "admin";
    Assert.assertEquals(1, userDAO.updateUserRankByName(username, newRank));
    Assert.assertEquals(newRank, userDAO.getUserByName(username).getRank());
    System.out.println("update username=" + username + " rank to <" + newRank + "> success!");
}
Also used : UserDO(org.neusoft.neubbs.entity.UserDO) Test(org.junit.Test) Transactional(javax.transaction.Transactional)

Example 37 with UserDO

use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.

the class ApiTestUtil method getOtherAlreadyLoginUserCookie.

/**
 * 获取其他已登陆用户的 Cookie
 *      - 默认是 suvan 用户,则该函数获取获取另外一个用户对象
 *
 * @return Cookie 其他已登陆用户的Cookie
 */
Cookie getOtherAlreadyLoginUserCookie() {
    UserDO otherUser = new UserDO();
    otherUser.setId(123);
    otherUser.setName("noExistUser");
    otherUser.setRank(SetConst.RANK_USER);
    otherUser.setState(SetConst.ACCOUNT_ACTIVATED_STATE);
    return new Cookie(ParamConst.AUTHENTICATION, SecretUtil.generateUserInfoToken(otherUser));
}
Also used : Cookie(javax.servlet.http.Cookie) UserDO(org.neusoft.neubbs.entity.UserDO)

Example 38 with UserDO

use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.

the class ApiTestUtil method getNoActivatedUserDO.

/**
 * 获取未激活的用户对象
 *
 * @return UserDO 未激活的用户对象
 */
UserDO getNoActivatedUserDO() {
    UserDO user = new UserDO();
    user.setId(6);
    user.setName("suvan");
    user.setRank(SetConst.RANK_ADMIN);
    user.setState(SetConst.ACCOUNT_NO_ACTIVATED_STATE);
    return user;
}
Also used : UserDO(org.neusoft.neubbs.entity.UserDO)

Example 39 with UserDO

use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.

the class TopicControllerTest method testCollectTopicSuccess.

/**
 * 测试 /api/topic/collect
 *      - 收藏话题成功 + 1 和 -1
 *      - 需要权限: @LoginAuthorization @AccountActivation
 */
@Test
@Transactional
public void testCollectTopicSuccess() throws Exception {
    int topicId = 1;
    Cookie cookie = util.getAlreadyLoginUserCookie();
    UserDO cookieUser = SecretUtil.decryptUserInfoToken(cookie.getValue());
    int cookieUserId = cookieUser.getId();
    String requestBody = "{" + util.getJsonField("topicid", topicId) + "}";
    // collect topic + 1
    System.out.println("input 'inc' request-body: " + requestBody);
    mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/collect").cookie(cookie).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()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userCollectTopicId").value(CoreMatchers.hasItem(topicId)));
    // compare forum_topic_action 'fta_collect_fu_id_array'
    JSONArray jsonArray = JSON.parseArray(topicActionDAO.getTopicActionCollectUserIdJsonArray(topicId));
    Assert.assertEquals(cookieUserId, jsonArray.get(jsonArray.size() - 1));
    // compare forum_user_action 'fua_following_fu_id_array'
    jsonArray = JSON.parseArray(userActionDAO.getUserActionCollectTopicIdJsonArray(cookieUserId));
    Assert.assertEquals(topicId, jsonArray.get(jsonArray.size() - 1));
    // collect topic - 1
    System.out.println("input 'dec' request-body: " + requestBody);
    mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/collect").cookie(cookie).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.message").exists()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userCollectTopicId").isArray());
    Assert.assertEquals(-1, JsonUtil.getIntElementIndex(topicActionDAO.getTopicActionCollectUserIdJsonArray(topicId), cookieUserId));
    Assert.assertEquals(-1, JsonUtil.getIntElementIndex(userActionDAO.getUserActionCollectTopicIdJsonArray(cookieUserId), topicId));
    util.printSuccessMessage();
}
Also used : Cookie(javax.servlet.http.Cookie) UserDO(org.neusoft.neubbs.entity.UserDO) JSONArray(com.alibaba.fastjson.JSONArray) Test(org.junit.Test) Transactional(javax.transaction.Transactional)

Example 40 with UserDO

use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.

the class TopicControllerTest method testNewLikeTopicSuccess.

/**
 * 测试 /topic/newlike
 *      - 点赞话题新接口成功 + 1 和 -1
 *      - 需要权限:@LoginAuthorization @AccountActivation
 *      - 新接口,不需要输入 command(inc | dec),重复调用即自判断点暂(or 取消)
 */
@Test
@Transactional
public void testNewLikeTopicSuccess() throws Exception {
    int topicId = 1;
    Cookie cookie = util.getAlreadyLoginUserCookie();
    UserDO cookieUser = SecretUtil.decryptUserInfoToken(cookie.getValue());
    int cookieUserId = cookieUser.getId();
    String requestBody = "{" + util.getJsonField("topicid", topicId) + "}";
    // like topic + 1
    TopicContentDO topicContent = topicContentDAO.getTopicContentByTopicId(topicId);
    int beforeTopicLike = topicContent.getLike();
    System.out.println("request 'inc' request-body: " + requestBody);
    mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/newlike").cookie(cookie).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()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userLikeTopicId").isArray()).andExpect(MockMvcResultMatchers.jsonPath("$.model.like").value(beforeTopicLike + 1));
    // judge forum_user_action 'fua_like_ft_id_array'
    JSONArray jsonArray = JSON.parseArray(userActionDAO.getUserActionLikeTopicIdJsonArray(cookieUserId));
    Assert.assertEquals(topicId, jsonArray.get(jsonArray.size() - 1));
    // judge forum_topic_action 'fta_like_fu_id_array'
    jsonArray = JSON.parseArray(topicActionDAO.getTopicActionLikeUserIdJsonArray(topicId));
    Assert.assertEquals(cookieUserId, jsonArray.get(jsonArray.size() - 1));
    // like topic - 1
    System.out.println("request 'dec' request-body: " + requestBody);
    mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/newlike").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()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userLikeTopicId").isArray()).andExpect(MockMvcResultMatchers.jsonPath("$.model.like").value(beforeTopicLike));
    Assert.assertEquals(-1, JsonUtil.getIntElementIndex(userActionDAO.getUserActionLikeTopicIdJsonArray(cookieUserId), topicId));
    Assert.assertEquals(-1, JsonUtil.getIntElementIndex(topicActionDAO.getTopicActionLikeUserIdJsonArray(topicId), cookieUserId));
    util.printSuccessMessage();
}
Also used : Cookie(javax.servlet.http.Cookie) TopicContentDO(org.neusoft.neubbs.entity.TopicContentDO) UserDO(org.neusoft.neubbs.entity.UserDO) JSONArray(com.alibaba.fastjson.JSONArray) Test(org.junit.Test) Transactional(javax.transaction.Transactional)

Aggregations

UserDO (org.neusoft.neubbs.entity.UserDO)60 Test (org.junit.Test)28 Transactional (javax.transaction.Transactional)21 ApiJsonDTO (org.neusoft.neubbs.dto.ApiJsonDTO)15 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)15 AccountActivation (org.neusoft.neubbs.controller.annotation.AccountActivation)11 LoginAuthorization (org.neusoft.neubbs.controller.annotation.LoginAuthorization)11 Cookie (javax.servlet.http.Cookie)6 JSONArray (com.alibaba.fastjson.JSONArray)4 Map (java.util.Map)4 LinkedHashMap (java.util.LinkedHashMap)3 UserActionDO (org.neusoft.neubbs.entity.UserActionDO)3 ServiceException (org.neusoft.neubbs.exception.ServiceException)3 TopicContentDO (org.neusoft.neubbs.entity.TopicContentDO)2 TopicReplyDO (org.neusoft.neubbs.entity.TopicReplyDO)2 UserDynamicDO (org.neusoft.neubbs.entity.UserDynamicDO)2 PermissionException (org.neusoft.neubbs.exception.PermissionException)2 HandlerMethod (org.springframework.web.method.HandlerMethod)2 JWTVerifier (com.auth0.jwt.JWTVerifier)1 TokenExpiredException (com.auth0.jwt.exceptions.TokenExpiredException)1