新增 UnifiedResponse 的单元测试
parent
ebacc622da
commit
275a156184
|
@ -1,7 +1,7 @@
|
|||
[x] 无需测试 - 6
|
||||
[ ] 未开始测试 - 36
|
||||
[ ] 未开始测试 - 34
|
||||
[-] 测试未完成 - 17
|
||||
[Y] 测试完成 - 11
|
||||
[Y] 测试完成 - 12
|
||||
|
||||
xyz.zhouxy.plusone.commons
|
||||
├───annotation
|
||||
|
|
|
@ -0,0 +1,265 @@
|
|||
package xyz.zhouxy.plusone.commons.model.dto;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import xyz.zhouxy.plusone.commons.model.dto.UnifiedResponse.SuccessResult;
|
||||
|
||||
@Slf4j
|
||||
public
|
||||
class UnifiedResponseTests {
|
||||
|
||||
static final ObjectMapper jackson = new ObjectMapper();
|
||||
|
||||
static final Gson gson = new Gson();
|
||||
|
||||
static final PageResult<User> pageResult = PageResult.of(Lists.newArrayList(
|
||||
new User("zhouxy1", "zhouxy1@gmail.com"),
|
||||
new User("zhouxy2", "zhouxy2@gmail.com")
|
||||
), 108);
|
||||
|
||||
static {
|
||||
jackson.setSerializationInclusion(Include.NON_NULL);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithOutArgument() throws Exception {
|
||||
// 1. success without argument
|
||||
UnifiedResponse success = UnifiedResponse.success();
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, success.getStatus());
|
||||
assertEquals("SUCCESS", success.getMessage());
|
||||
assertNull(success.getData());
|
||||
String jacksonSuccess = jackson.writeValueAsString(success);
|
||||
log.info("jacksonSuccess: {}", jacksonSuccess);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"SUCCESS\"}", jacksonSuccess);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithMessage() throws Exception {
|
||||
// 2. success with message
|
||||
UnifiedResponse successWithMessage = UnifiedResponse.success("成功");
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithMessage.getStatus());
|
||||
assertEquals("成功", successWithMessage.getMessage());
|
||||
assertNull(successWithMessage.getData());
|
||||
String jacksonSuccessWithMessage = jackson.writeValueAsString(successWithMessage);
|
||||
log.info("jacksonSuccessWithMessage: {}", jacksonSuccessWithMessage);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"成功\"}", jacksonSuccessWithMessage);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithNullMessage() throws Exception {
|
||||
// 3. success with null message
|
||||
UnifiedResponse successWithNullMessage = UnifiedResponse.success(null);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithNullMessage.getStatus());
|
||||
assertEquals("", successWithNullMessage.getMessage());
|
||||
assertNull(successWithNullMessage.getData());
|
||||
String jacksonSuccessWithNullMessage = jackson.writeValueAsString(successWithNullMessage);
|
||||
log.info("jacksonSuccessWithNullMessage: {}", jacksonSuccessWithNullMessage);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"\"}", jacksonSuccessWithNullMessage);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithEmptyMessage() throws Exception {
|
||||
// 4. success with empty message
|
||||
UnifiedResponse successWithEmptyMessage = UnifiedResponse.success("");
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithEmptyMessage.getStatus());
|
||||
assertEquals("", successWithEmptyMessage.getMessage());
|
||||
assertNull(successWithEmptyMessage.getData());
|
||||
String jacksonSuccessWithEmptyMessage = jackson.writeValueAsString(successWithEmptyMessage);
|
||||
log.info("jacksonSuccessWithEmptyMessage: {}", jacksonSuccessWithEmptyMessage);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"\"}", jacksonSuccessWithEmptyMessage);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithData_String() throws Exception {
|
||||
UnifiedResponse successWithStringData = UnifiedResponse.success("查询成功", "zhouxy");
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithStringData.getStatus());
|
||||
assertEquals("查询成功", successWithStringData.getMessage());
|
||||
assertEquals("zhouxy", successWithStringData.getData());
|
||||
String jacksonSuccessWithStringData = jackson.writeValueAsString(successWithStringData);
|
||||
log.info("jacksonSuccessWithStringData: {}", jacksonSuccessWithStringData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"查询成功\",\"data\":\"zhouxy\"}", jacksonSuccessWithStringData);
|
||||
|
||||
assertEquals("{status: \"2000000\", message: \"查询成功\", data: \"zhouxy\"}", successWithStringData.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithData_Integer() throws Exception {
|
||||
final UnifiedResponse successWithIntegerData = UnifiedResponse.success("查询成功", 1);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithIntegerData.getStatus());
|
||||
assertEquals("查询成功", successWithIntegerData.getMessage());
|
||||
assertEquals(1, successWithIntegerData.getData());
|
||||
final String jacksonSuccessWithIntegerData = jackson.writeValueAsString(successWithIntegerData);
|
||||
log.info("jacksonSuccessWithIntegerData: {}", jacksonSuccessWithIntegerData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"查询成功\",\"data\":1}", jacksonSuccessWithIntegerData);
|
||||
|
||||
assertEquals("{status: \"2000000\", message: \"查询成功\", data: 1}", successWithIntegerData.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithData_PageResult() throws Exception {
|
||||
UnifiedResponse successWithData = UnifiedResponse.success("查询成功", pageResult);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithData.getStatus());
|
||||
assertEquals("查询成功", successWithData.getMessage());
|
||||
assertNotNull(successWithData.getData());
|
||||
assertEquals(pageResult, successWithData.getData());
|
||||
String jacksonSuccessWithData = jackson.writeValueAsString(successWithData);
|
||||
log.info("jacksonSuccessWithData: {}", jacksonSuccessWithData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"查询成功\",\"data\":{\"total\":108,\"content\":[{\"username\":\"zhouxy1\",\"email\":\"zhouxy1@gmail.com\"},{\"username\":\"zhouxy2\",\"email\":\"zhouxy2@gmail.com\"}]}}", jacksonSuccessWithData);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithMessageAndNullData() throws Exception {
|
||||
// success with message and null data
|
||||
final UnifiedResponse successWithMessageAndNullData = UnifiedResponse.success("查询成功", null);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithMessageAndNullData.getStatus());
|
||||
assertEquals("查询成功", successWithMessageAndNullData.getMessage());
|
||||
assertNull(successWithMessageAndNullData.getData());
|
||||
final String jacksonSuccessWithMessageAndNullData = jackson.writeValueAsString(successWithMessageAndNullData);
|
||||
log.info("jacksonSuccessWithMessageAndNullData: {}", jacksonSuccessWithMessageAndNullData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"查询成功\"}", jacksonSuccessWithMessageAndNullData);
|
||||
|
||||
assertEquals("{status: \"2000000\", message: \"查询成功\", data: null}", successWithMessageAndNullData.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testSuccess_WithNullMessageAndData() throws Exception {
|
||||
// success with null message and data
|
||||
final User user = new User("zhouxy", "zhouxy@code108.cn");
|
||||
final UnifiedResponse successWithNullMessageAndData = UnifiedResponse.success(null, user);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithNullMessageAndData.getStatus());
|
||||
assertEquals("", successWithNullMessageAndData.getMessage());
|
||||
assertEquals(user, successWithNullMessageAndData.getData());
|
||||
final String jacksonSuccessWithNullMessageAndData = jackson.writeValueAsString(successWithNullMessageAndData);
|
||||
log.info("jacksonSuccessWithNullMessageAndData: {}", jacksonSuccessWithNullMessageAndData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"\",\"data\":{\"username\":\"zhouxy\",\"email\":\"zhouxy@code108.cn\"}}",
|
||||
jacksonSuccessWithNullMessageAndData);
|
||||
}
|
||||
|
||||
// success with null message and null data
|
||||
@Test
|
||||
void testSuccess_WithNullMessageAndNullData() throws Exception {
|
||||
final UnifiedResponse successWithNullMessageAndNullData = UnifiedResponse.success(null, null);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithNullMessageAndNullData.getStatus());
|
||||
assertEquals("", successWithNullMessageAndNullData.getMessage());
|
||||
assertNull(successWithNullMessageAndNullData.getData());
|
||||
|
||||
final String jacksonSuccessWithNullMessageAndNullData = jackson.writeValueAsString(successWithNullMessageAndNullData);
|
||||
log.info("jacksonSuccessWithNullMessageAndNullData: {}", jacksonSuccessWithNullMessageAndNullData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"\"}", jacksonSuccessWithNullMessageAndNullData);
|
||||
|
||||
assertEquals("{status: \"2000000\", message: \"\", data: null}", successWithNullMessageAndNullData.toString());
|
||||
}
|
||||
|
||||
// success with empty message and data
|
||||
@Test
|
||||
void testSuccess_WithEmptyMessageAndData() throws Exception {
|
||||
final User user = new User("zhouxy", "zhouxy@gmail.com");
|
||||
final UnifiedResponse successWithEmptyMessageAndData = UnifiedResponse.success("", user);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithEmptyMessageAndData.getStatus());
|
||||
assertEquals("", successWithEmptyMessageAndData.getMessage());
|
||||
assertEquals(user, successWithEmptyMessageAndData.getData());
|
||||
|
||||
final String jacksonSuccessWithEmptyMessageAndData = jackson.writeValueAsString(successWithEmptyMessageAndData);
|
||||
log.info("jacksonSuccessWithEmptyMessageAndData: {}", jacksonSuccessWithEmptyMessageAndData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"\",\"data\":{\"username\":\"zhouxy\",\"email\":\"zhouxy@gmail.com\"}}", jacksonSuccessWithEmptyMessageAndData);
|
||||
}
|
||||
|
||||
// success with empty message and null data
|
||||
@Test
|
||||
void testSuccess_WithEmptyMessageAndNullData() throws Exception {
|
||||
final UnifiedResponse successWithEmptyMessageAndNullData = UnifiedResponse.success("", null);
|
||||
assertEquals(SuccessResult.SUCCESS_STATUS, successWithEmptyMessageAndNullData.getStatus());
|
||||
assertEquals("", successWithEmptyMessageAndNullData.getMessage());
|
||||
assertNull(successWithEmptyMessageAndNullData.getData());
|
||||
|
||||
final String jacksonSuccessWithEmptyMessageAndNullData = jackson.writeValueAsString(successWithEmptyMessageAndNullData);
|
||||
log.info("jacksonSuccessWithEmptyMessageAndNullData: {}", jacksonSuccessWithEmptyMessageAndNullData);
|
||||
assertEquals("{\"status\":\"2000000\",\"message\":\"\"}", jacksonSuccessWithEmptyMessageAndNullData);
|
||||
|
||||
assertEquals("{status: \"2000000\", message: \"\", data: null}", successWithEmptyMessageAndNullData.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testError_Status_And_Message() throws Exception {
|
||||
final UnifiedResponse errorWithStatusAndMessage = UnifiedResponse.error(108, "查询失败");
|
||||
assertEquals(108, errorWithStatusAndMessage.getStatus());
|
||||
assertEquals("查询失败", errorWithStatusAndMessage.getMessage());
|
||||
assertNull(errorWithStatusAndMessage.getData());
|
||||
|
||||
final String jacksonErrorWithStatusAndMessage = jackson.writeValueAsString(errorWithStatusAndMessage);
|
||||
log.info("jacksonErrorWithStatusAndMessage: {}", jacksonErrorWithStatusAndMessage);
|
||||
assertEquals("{\"status\":108,\"message\":\"查询失败\"}", jacksonErrorWithStatusAndMessage);
|
||||
|
||||
assertEquals("{status: 108, message: \"查询失败\", data: null}", errorWithStatusAndMessage.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testError_NullStatus() {
|
||||
final Object nullStatus = null;
|
||||
final String nullMessage = null;
|
||||
final User user = new User("zhouxy", "zhouxy@gmail.com");
|
||||
|
||||
// message
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "查询失败"));
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "查询失败", null));
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "查询失败", user));
|
||||
|
||||
// empty message
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, ""));
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "", null));
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "", user));
|
||||
|
||||
// null message
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, nullMessage));
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "nullMessage", null));
|
||||
assertThrows(NullPointerException.class, () -> UnifiedResponse.error(nullStatus, "nullMessage", user));
|
||||
|
||||
// Throwable
|
||||
// TODO
|
||||
}
|
||||
|
||||
@Test
|
||||
void testError_Status_And_NullMessage() throws Exception {
|
||||
// TODO
|
||||
}
|
||||
|
||||
@Test
|
||||
void testError_Message() throws Exception {
|
||||
// TODO
|
||||
}
|
||||
|
||||
@Test
|
||||
void testError_NullMessage() throws Exception {
|
||||
// TODO
|
||||
}
|
||||
|
||||
@Test
|
||||
void testError_EmptyMessage() throws Exception {
|
||||
// TODO
|
||||
}
|
||||
|
||||
@Test
|
||||
void testOf() {
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
private static class User {
|
||||
private String username;
|
||||
private String email;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue