|
|
@@ -1,625 +1,625 @@
|
|
|
-package com.hfln.portal.application.controller.wap;
|
|
|
-
|
|
|
-import cn.hfln.framework.dto.ApiResult;
|
|
|
-import cn.hfln.framework.extension.BizException;
|
|
|
-import com.hfln.portal.common.dto.data.device.DeviceDTO;
|
|
|
-import com.hfln.portal.common.dto.data.group.GroupDTO;
|
|
|
-import com.hfln.portal.common.request.group.*;
|
|
|
-import com.hfln.portal.domain.exception.ErrorEnum;
|
|
|
-import com.hfln.portal.domain.gateway.GroupGateway;
|
|
|
-import org.junit.jupiter.api.Test;
|
|
|
-import org.junit.jupiter.api.extension.ExtendWith;
|
|
|
-import org.mockito.InjectMocks;
|
|
|
-import org.mockito.Mock;
|
|
|
-import org.mockito.junit.jupiter.MockitoExtension;
|
|
|
-import org.springframework.test.util.ReflectionTestUtils;
|
|
|
-
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-import static org.junit.jupiter.api.Assertions.*;
|
|
|
-import static org.mockito.Mockito.*;
|
|
|
-
|
|
|
-@ExtendWith(MockitoExtension.class)
|
|
|
-class GroupControllerTest {
|
|
|
-
|
|
|
- // 常量定义
|
|
|
- private static final String SUCCESS_CODE = "200";
|
|
|
- private static final Long TEST_USER_ID = 1L;
|
|
|
- private static final Long TEST_GROUP_ID = 1L;
|
|
|
- private static final String TEST_GROUP_NAME = "测试群组";
|
|
|
- private static final String TEST_GROUP_UUID = "test-group-uuid";
|
|
|
- private static final Long TEST_DEVICE_ID = 1L;
|
|
|
-
|
|
|
- @Mock
|
|
|
- private GroupGateway groupGateway;
|
|
|
-
|
|
|
- @InjectMocks
|
|
|
- private GroupController groupController;
|
|
|
-
|
|
|
- // ========== 添加群组相关测试 ==========
|
|
|
- @Test
|
|
|
- void addGroup_Success() {
|
|
|
- // 准备测试数据
|
|
|
- GroupAddParams request = new GroupAddParams();
|
|
|
- request.setGroupName(TEST_GROUP_NAME);
|
|
|
- request.setUserId(TEST_USER_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.addGroup(request)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.addGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).addGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void addGroup_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- GroupAddParams request = new GroupAddParams();
|
|
|
- request.setGroupName(TEST_GROUP_NAME);
|
|
|
- request.setUserId(TEST_USER_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.addGroup(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.addGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).addGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void addGroup_ThrowsException() {
|
|
|
- // 准备测试数据
|
|
|
- GroupAddParams request = new GroupAddParams();
|
|
|
- request.setGroupName(TEST_GROUP_NAME);
|
|
|
- request.setUserId(TEST_USER_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 抛出异常
|
|
|
- when(groupGateway.addGroup(request)).thenThrow(new BizException(ErrorEnum.USER_IS_NOT_EXIST.getErrorCode(), ErrorEnum.USER_IS_NOT_EXIST.getErrorMessage()));
|
|
|
-
|
|
|
- // 验证异常抛出
|
|
|
- assertThrows(BizException.class, () -> groupController.addGroup(request));
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).addGroup(request);
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 删除群组相关测试 ==========
|
|
|
- @Test
|
|
|
- void deleteGroup_Success() {
|
|
|
- // 准备测试数据
|
|
|
- Long groupId = TEST_GROUP_ID;
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.deleteGroup(groupId)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.deleteGroup(groupId);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).deleteGroup(groupId);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void deleteGroup_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- Long groupId = TEST_GROUP_ID;
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.deleteGroup(groupId)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.deleteGroup(groupId);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).deleteGroup(groupId);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void deleteGroup_ThrowsException() {
|
|
|
- // 准备测试数据
|
|
|
- Long groupId = TEST_GROUP_ID;
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 抛出异常
|
|
|
- when(groupGateway.deleteGroup(groupId)).thenThrow(new BizException(ErrorEnum.GROUP_IS_NOT_EXIST.getErrorCode(), ErrorEnum.GROUP_IS_NOT_EXIST.getErrorMessage()));
|
|
|
-
|
|
|
- // 验证异常抛出
|
|
|
- assertThrows(BizException.class, () -> groupController.deleteGroup(groupId));
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).deleteGroup(groupId);
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 更新群组相关测试 ==========
|
|
|
- @Test
|
|
|
- void updateGroup_Success() {
|
|
|
- // 准备测试数据
|
|
|
- GroupUpdateParams params = new GroupUpdateParams();
|
|
|
- params.setGroupUuid(TEST_GROUP_UUID);
|
|
|
- params.setGroupName(TEST_GROUP_NAME);
|
|
|
- params.setLength(new BigDecimal("100"));
|
|
|
- params.setWidth(new BigDecimal("50"));
|
|
|
- params.setNorthAngle(new BigDecimal("45"));
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.updateGroup(params)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.updateGroup(params);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).updateGroup(params);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void updateGroup_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- GroupUpdateParams params = new GroupUpdateParams();
|
|
|
- params.setGroupUuid(TEST_GROUP_UUID);
|
|
|
- params.setGroupName(TEST_GROUP_NAME);
|
|
|
- params.setLength(new BigDecimal("100"));
|
|
|
- params.setWidth(new BigDecimal("50"));
|
|
|
- params.setNorthAngle(new BigDecimal("45"));
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.updateGroup(params)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.updateGroup(params);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).updateGroup(params);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 查询群组列表相关测试 ==========
|
|
|
- @Test
|
|
|
- void groupList_Success() {
|
|
|
- // 准备测试数据
|
|
|
- Long userId = TEST_USER_ID;
|
|
|
-
|
|
|
- List<GroupDTO> expectedGroups = new ArrayList<>();
|
|
|
- GroupDTO group = new GroupDTO();
|
|
|
- group.setDevGroupId(TEST_GROUP_ID);
|
|
|
- group.setGroupUuid(TEST_GROUP_UUID);
|
|
|
- group.setGroupName(TEST_GROUP_NAME);
|
|
|
- group.setTotalDevice(5);
|
|
|
- group.setOnlineDevice(3);
|
|
|
- group.setWarningDevice(1);
|
|
|
- expectedGroups.add(group);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.queryGroupList(userId)).thenReturn(expectedGroups);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<List<GroupDTO>> result = groupController.GroupList(userId);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).queryGroupList(userId);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(expectedGroups, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupList_EmptyResult() {
|
|
|
- // 准备测试数据
|
|
|
- Long userId = TEST_USER_ID;
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回空列表
|
|
|
- when(groupGateway.queryGroupList(userId)).thenReturn(Collections.emptyList());
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<List<GroupDTO>> result = groupController.GroupList(userId);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).queryGroupList(userId);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(Collections.emptyList(), ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupList_NullUserId() {
|
|
|
- // 模拟Gateway行为 - 返回空列表
|
|
|
- when(groupGateway.queryGroupList(null)).thenReturn(Collections.emptyList());
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<List<GroupDTO>> result = groupController.GroupList(null);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).queryGroupList(null);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(Collections.emptyList(), ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 查询群组设备列表相关测试 ==========
|
|
|
- @Test
|
|
|
- void queryGroupById_Success() {
|
|
|
- // 准备测试数据
|
|
|
- Long groupId = TEST_GROUP_ID;
|
|
|
-
|
|
|
- List<DeviceDTO> expectedDevices = new ArrayList<>();
|
|
|
- DeviceDTO device = new DeviceDTO();
|
|
|
- device.setDevId(TEST_DEVICE_ID);
|
|
|
- device.setDevName("测试设备");
|
|
|
- expectedDevices.add(device);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.queryGroupDeviceInfoById(groupId)).thenReturn(expectedDevices);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<List<DeviceDTO>> result = groupController.queryGroupById(groupId);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).queryGroupDeviceInfoById(groupId);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(expectedDevices, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void queryGroupById_EmptyResult() {
|
|
|
- // 准备测试数据
|
|
|
- Long groupId = TEST_GROUP_ID;
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回空列表
|
|
|
- when(groupGateway.queryGroupDeviceInfoById(groupId)).thenReturn(Collections.emptyList());
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<List<DeviceDTO>> result = groupController.queryGroupById(groupId);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).queryGroupDeviceInfoById(groupId);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(Collections.emptyList(), ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 添加设备到群组相关测试 ==========
|
|
|
- @Test
|
|
|
- void addDeviceToGroup_Success() {
|
|
|
- // 准备测试数据
|
|
|
- AddDeviceToGroupParams request = new AddDeviceToGroupParams();
|
|
|
- request.setDevId(TEST_DEVICE_ID);
|
|
|
- request.setGroupId(TEST_GROUP_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.addDeviceToGroup(request)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.addDeviceToGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).addDeviceToGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void addDeviceToGroup_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- AddDeviceToGroupParams request = new AddDeviceToGroupParams();
|
|
|
- request.setDevId(TEST_DEVICE_ID);
|
|
|
- request.setGroupId(TEST_GROUP_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.addDeviceToGroup(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.addDeviceToGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).addDeviceToGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void addDeviceToGroup_ThrowsException() {
|
|
|
- // 准备测试数据
|
|
|
- AddDeviceToGroupParams request = new AddDeviceToGroupParams();
|
|
|
- request.setDevId(TEST_DEVICE_ID);
|
|
|
- request.setGroupId(TEST_GROUP_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 抛出异常
|
|
|
- when(groupGateway.addDeviceToGroup(request)).thenThrow(new BizException(ErrorEnum.DEVICE_IS_NOT_EXIST.getErrorCode(), ErrorEnum.DEVICE_IS_NOT_EXIST.getErrorMessage()));
|
|
|
-
|
|
|
- // 验证异常抛出
|
|
|
- assertThrows(BizException.class, () -> groupController.addDeviceToGroup(request));
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).addDeviceToGroup(request);
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 从群组删除设备相关测试 ==========
|
|
|
- @Test
|
|
|
- void deleteDeviceFromGroup_Success() {
|
|
|
- // 准备测试数据
|
|
|
- DeleteDeviceFromGroupParams request = new DeleteDeviceFromGroupParams();
|
|
|
- request.setDevId(TEST_DEVICE_ID);
|
|
|
- request.setGroupId(TEST_GROUP_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.deleteDeviceFromGroup(request)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.deleteDeviceFromGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).deleteDeviceFromGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void deleteDeviceFromGroup_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- DeleteDeviceFromGroupParams request = new DeleteDeviceFromGroupParams();
|
|
|
- request.setDevId(TEST_DEVICE_ID);
|
|
|
- request.setGroupId(TEST_GROUP_ID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.deleteDeviceFromGroup(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.deleteDeviceFromGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).deleteDeviceFromGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 分享群组相关测试 ==========
|
|
|
- @Test
|
|
|
- void shareGroup_Success() {
|
|
|
- // 准备测试数据
|
|
|
- ShareGroupParams request = new ShareGroupParams();
|
|
|
- request.setGroupUuid(TEST_GROUP_UUID);
|
|
|
- request.setSharerUserId(TEST_USER_ID);
|
|
|
- request.setSharerPhone("13800138000");
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.shareGroup(request)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.shareGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).shareGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void shareGroup_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- ShareGroupParams request = new ShareGroupParams();
|
|
|
- request.setGroupUuid(TEST_GROUP_UUID);
|
|
|
- request.setSharerUserId(TEST_USER_ID);
|
|
|
- request.setSharerPhone("13800138000");
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.shareGroup(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.shareGroup(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).shareGroup(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void shareGroup_ThrowsException() {
|
|
|
- // 准备测试数据
|
|
|
- ShareGroupParams request = new ShareGroupParams();
|
|
|
- request.setGroupUuid(TEST_GROUP_UUID);
|
|
|
- request.setSharerUserId(TEST_USER_ID);
|
|
|
- request.setSharerPhone("13800138000");
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 抛出异常
|
|
|
- when(groupGateway.shareGroup(request)).thenThrow(new BizException(ErrorEnum.GROUP_IS_NOT_EXIST.getErrorCode(), ErrorEnum.GROUP_IS_NOT_EXIST.getErrorMessage()));
|
|
|
-
|
|
|
- // 验证异常抛出
|
|
|
- assertThrows(BizException.class, () -> groupController.shareGroup(request));
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).shareGroup(request);
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 群组分享确认相关测试 ==========
|
|
|
- @Test
|
|
|
- void groupShareConfirm_Success() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
- request.setSharedUserId(TEST_USER_ID);
|
|
|
- request.setSharedPhone("13800138000");
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.groupShareConfirm(request)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.GroupShareConfirm(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupShareConfirm_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
- request.setSharedUserId(TEST_USER_ID);
|
|
|
- request.setSharedPhone("13800138000");
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.groupShareConfirm(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.GroupShareConfirm(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupShareConfirm_ThrowsException() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
- request.setSharedUserId(TEST_USER_ID);
|
|
|
- request.setSharedPhone("13800138000");
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 抛出异常
|
|
|
- when(groupGateway.groupShareConfirm(request)).thenThrow(new BizException(ErrorEnum.SHARE_IS_EXPIRED.getErrorCode(), ErrorEnum.SHARE_IS_EXPIRED.getErrorMessage()));
|
|
|
-
|
|
|
- // 验证异常抛出
|
|
|
- assertThrows(BizException.class, () -> groupController.GroupShareConfirm(request));
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupShareConfirm_NullUserId() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
- request.setSharedUserId(null);
|
|
|
- request.setSharedPhone("13800138000");
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.groupShareConfirm(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.GroupShareConfirm(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- // ========== 群组分享处理相关测试 ==========
|
|
|
- @Test
|
|
|
- void groupShareHandle_Success() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareHandleParams request = new GroupShareHandleParams();
|
|
|
- request.setState(1); // 接受状态
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为
|
|
|
- when(groupGateway.groupShareHandle(request)).thenReturn(true);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.groupShareHandle(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareHandle(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupShareHandle_Failed() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareHandleParams request = new GroupShareHandleParams();
|
|
|
- request.setState(2); // 拒绝状态
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 返回失败
|
|
|
- when(groupGateway.groupShareHandle(request)).thenReturn(false);
|
|
|
-
|
|
|
- // 执行测试
|
|
|
- ApiResult<Boolean> result = groupController.groupShareHandle(request);
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareHandle(request);
|
|
|
-
|
|
|
- // 验证结果
|
|
|
- assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
- assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- void groupShareHandle_ThrowsException() {
|
|
|
- // 准备测试数据
|
|
|
- GroupShareHandleParams request = new GroupShareHandleParams();
|
|
|
- request.setState(2); // 拒绝状态
|
|
|
- request.setUuid(TEST_GROUP_UUID);
|
|
|
-
|
|
|
- // 模拟Gateway行为 - 抛出异常
|
|
|
- when(groupGateway.groupShareHandle(request)).thenThrow(new BizException(ErrorEnum.SHARE_GROUP_IS_NOT_EXIST.getErrorCode(), ErrorEnum.SHARE_GROUP_IS_NOT_EXIST.getErrorMessage()));
|
|
|
-
|
|
|
- // 验证异常抛出
|
|
|
- assertThrows(BizException.class, () -> groupController.groupShareHandle(request));
|
|
|
-
|
|
|
- // 验证交互
|
|
|
- verify(groupGateway, times(1)).groupShareHandle(request);
|
|
|
- }
|
|
|
-}
|
|
|
+//package com.hfln.portal.application.controller.wap;
|
|
|
+//
|
|
|
+//import cn.hfln.framework.dto.ApiResult;
|
|
|
+//import cn.hfln.framework.extension.BizException;
|
|
|
+//import com.hfln.portal.common.dto.data.device.DeviceDTO;
|
|
|
+//import com.hfln.portal.common.dto.data.group.GroupDTO;
|
|
|
+//import com.hfln.portal.common.request.group.*;
|
|
|
+//import com.hfln.portal.domain.exception.ErrorEnum;
|
|
|
+//import com.hfln.portal.domain.gateway.GroupGateway;
|
|
|
+//import org.junit.jupiter.api.Test;
|
|
|
+//import org.junit.jupiter.api.extension.ExtendWith;
|
|
|
+//import org.mockito.InjectMocks;
|
|
|
+//import org.mockito.Mock;
|
|
|
+//import org.mockito.junit.jupiter.MockitoExtension;
|
|
|
+//import org.springframework.test.util.ReflectionTestUtils;
|
|
|
+//
|
|
|
+//import java.math.BigDecimal;
|
|
|
+//import java.util.ArrayList;
|
|
|
+//import java.util.Collections;
|
|
|
+//import java.util.List;
|
|
|
+//
|
|
|
+//import static org.junit.jupiter.api.Assertions.*;
|
|
|
+//import static org.mockito.Mockito.*;
|
|
|
+//
|
|
|
+//@ExtendWith(MockitoExtension.class)
|
|
|
+//class GroupControllerTest {
|
|
|
+//
|
|
|
+// // 常量定义
|
|
|
+// private static final String SUCCESS_CODE = "200";
|
|
|
+// private static final Long TEST_USER_ID = 1L;
|
|
|
+// private static final Long TEST_GROUP_ID = 1L;
|
|
|
+// private static final String TEST_GROUP_NAME = "测试群组";
|
|
|
+// private static final String TEST_GROUP_UUID = "test-group-uuid";
|
|
|
+// private static final Long TEST_DEVICE_ID = 1L;
|
|
|
+//
|
|
|
+// @Mock
|
|
|
+// private GroupGateway groupGateway;
|
|
|
+//
|
|
|
+// @InjectMocks
|
|
|
+// private GroupController groupController;
|
|
|
+//
|
|
|
+// // ========== 添加群组相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void addGroup_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupAddParams request = new GroupAddParams();
|
|
|
+// request.setGroupName(TEST_GROUP_NAME);
|
|
|
+// request.setUserId(TEST_USER_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.addGroup(request)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.addGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).addGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void addGroup_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupAddParams request = new GroupAddParams();
|
|
|
+// request.setGroupName(TEST_GROUP_NAME);
|
|
|
+// request.setUserId(TEST_USER_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.addGroup(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.addGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).addGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void addGroup_ThrowsException() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupAddParams request = new GroupAddParams();
|
|
|
+// request.setGroupName(TEST_GROUP_NAME);
|
|
|
+// request.setUserId(TEST_USER_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 抛出异常
|
|
|
+// when(groupGateway.addGroup(request)).thenThrow(new BizException(ErrorEnum.USER_IS_NOT_EXIST.getErrorCode(), ErrorEnum.USER_IS_NOT_EXIST.getErrorMessage()));
|
|
|
+//
|
|
|
+// // 验证异常抛出
|
|
|
+// assertThrows(BizException.class, () -> groupController.addGroup(request));
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).addGroup(request);
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 删除群组相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void deleteGroup_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long groupId = TEST_GROUP_ID;
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.deleteGroup(groupId)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.deleteGroup(groupId);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).deleteGroup(groupId);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void deleteGroup_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long groupId = TEST_GROUP_ID;
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.deleteGroup(groupId)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.deleteGroup(groupId);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).deleteGroup(groupId);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void deleteGroup_ThrowsException() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long groupId = TEST_GROUP_ID;
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 抛出异常
|
|
|
+// when(groupGateway.deleteGroup(groupId)).thenThrow(new BizException(ErrorEnum.GROUP_IS_NOT_EXIST.getErrorCode(), ErrorEnum.GROUP_IS_NOT_EXIST.getErrorMessage()));
|
|
|
+//
|
|
|
+// // 验证异常抛出
|
|
|
+// assertThrows(BizException.class, () -> groupController.deleteGroup(groupId));
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).deleteGroup(groupId);
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 更新群组相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void updateGroup_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupUpdateParams params = new GroupUpdateParams();
|
|
|
+// params.setGroupUuid(TEST_GROUP_UUID);
|
|
|
+// params.setGroupName(TEST_GROUP_NAME);
|
|
|
+// params.setLength(new BigDecimal("100"));
|
|
|
+// params.setWidth(new BigDecimal("50"));
|
|
|
+// params.setNorthAngle(new BigDecimal("45"));
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.updateGroup(params)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.updateGroup(params);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).updateGroup(params);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void updateGroup_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupUpdateParams params = new GroupUpdateParams();
|
|
|
+// params.setGroupUuid(TEST_GROUP_UUID);
|
|
|
+// params.setGroupName(TEST_GROUP_NAME);
|
|
|
+// params.setLength(new BigDecimal("100"));
|
|
|
+// params.setWidth(new BigDecimal("50"));
|
|
|
+// params.setNorthAngle(new BigDecimal("45"));
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.updateGroup(params)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.updateGroup(params);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).updateGroup(params);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 查询群组列表相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void groupList_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long userId = TEST_USER_ID;
|
|
|
+//
|
|
|
+// List<GroupDTO> expectedGroups = new ArrayList<>();
|
|
|
+// GroupDTO group = new GroupDTO();
|
|
|
+// group.setDevGroupId(TEST_GROUP_ID);
|
|
|
+// group.setGroupUuid(TEST_GROUP_UUID);
|
|
|
+// group.setGroupName(TEST_GROUP_NAME);
|
|
|
+// group.setTotalDevice(5);
|
|
|
+// group.setOnlineDevice(3);
|
|
|
+// group.setWarningDevice(1);
|
|
|
+// expectedGroups.add(group);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.queryGroupList(userId)).thenReturn(expectedGroups);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<List<GroupDTO>> result = groupController.GroupList(userId);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).queryGroupList(userId);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(expectedGroups, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupList_EmptyResult() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long userId = TEST_USER_ID;
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回空列表
|
|
|
+// when(groupGateway.queryGroupList(userId)).thenReturn(Collections.emptyList());
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<List<GroupDTO>> result = groupController.GroupList(userId);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).queryGroupList(userId);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(Collections.emptyList(), ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupList_NullUserId() {
|
|
|
+// // 模拟Gateway行为 - 返回空列表
|
|
|
+// when(groupGateway.queryGroupList(null)).thenReturn(Collections.emptyList());
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<List<GroupDTO>> result = groupController.GroupList(null);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).queryGroupList(null);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(Collections.emptyList(), ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 查询群组设备列表相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void queryGroupById_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long groupId = TEST_GROUP_ID;
|
|
|
+//
|
|
|
+// List<DeviceDTO> expectedDevices = new ArrayList<>();
|
|
|
+// DeviceDTO device = new DeviceDTO();
|
|
|
+// device.setDevId(TEST_DEVICE_ID);
|
|
|
+// device.setDevName("测试设备");
|
|
|
+// expectedDevices.add(device);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.queryGroupDeviceInfoById(groupId)).thenReturn(expectedDevices);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<List<DeviceDTO>> result = groupController.queryGroupById(groupId);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).queryGroupDeviceInfoById(groupId);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(expectedDevices, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void queryGroupById_EmptyResult() {
|
|
|
+// // 准备测试数据
|
|
|
+// Long groupId = TEST_GROUP_ID;
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回空列表
|
|
|
+// when(groupGateway.queryGroupDeviceInfoById(groupId)).thenReturn(Collections.emptyList());
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<List<DeviceDTO>> result = groupController.queryGroupById(groupId);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).queryGroupDeviceInfoById(groupId);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(Collections.emptyList(), ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 添加设备到群组相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void addDeviceToGroup_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// AddDeviceToGroupParams request = new AddDeviceToGroupParams();
|
|
|
+// request.setDevId(TEST_DEVICE_ID);
|
|
|
+// request.setGroupId(TEST_GROUP_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.addDeviceToGroup(request)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.addDeviceToGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).addDeviceToGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void addDeviceToGroup_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// AddDeviceToGroupParams request = new AddDeviceToGroupParams();
|
|
|
+// request.setDevId(TEST_DEVICE_ID);
|
|
|
+// request.setGroupId(TEST_GROUP_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.addDeviceToGroup(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.addDeviceToGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).addDeviceToGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void addDeviceToGroup_ThrowsException() {
|
|
|
+// // 准备测试数据
|
|
|
+// AddDeviceToGroupParams request = new AddDeviceToGroupParams();
|
|
|
+// request.setDevId(TEST_DEVICE_ID);
|
|
|
+// request.setGroupId(TEST_GROUP_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 抛出异常
|
|
|
+// when(groupGateway.addDeviceToGroup(request)).thenThrow(new BizException(ErrorEnum.DEVICE_IS_NOT_EXIST.getErrorCode(), ErrorEnum.DEVICE_IS_NOT_EXIST.getErrorMessage()));
|
|
|
+//
|
|
|
+// // 验证异常抛出
|
|
|
+// assertThrows(BizException.class, () -> groupController.addDeviceToGroup(request));
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).addDeviceToGroup(request);
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 从群组删除设备相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void deleteDeviceFromGroup_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// DeleteDeviceFromGroupParams request = new DeleteDeviceFromGroupParams();
|
|
|
+// request.setDevId(TEST_DEVICE_ID);
|
|
|
+// request.setGroupId(TEST_GROUP_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.deleteDeviceFromGroup(request)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.deleteDeviceFromGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).deleteDeviceFromGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void deleteDeviceFromGroup_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// DeleteDeviceFromGroupParams request = new DeleteDeviceFromGroupParams();
|
|
|
+// request.setDevId(TEST_DEVICE_ID);
|
|
|
+// request.setGroupId(TEST_GROUP_ID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.deleteDeviceFromGroup(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.deleteDeviceFromGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).deleteDeviceFromGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 分享群组相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void shareGroup_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// ShareGroupParams request = new ShareGroupParams();
|
|
|
+// request.setGroupUuid(TEST_GROUP_UUID);
|
|
|
+// request.setSharerUserId(TEST_USER_ID);
|
|
|
+// request.setSharerPhone("13800138000");
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.shareGroup(request)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.shareGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).shareGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void shareGroup_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// ShareGroupParams request = new ShareGroupParams();
|
|
|
+// request.setGroupUuid(TEST_GROUP_UUID);
|
|
|
+// request.setSharerUserId(TEST_USER_ID);
|
|
|
+// request.setSharerPhone("13800138000");
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.shareGroup(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.shareGroup(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).shareGroup(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void shareGroup_ThrowsException() {
|
|
|
+// // 准备测试数据
|
|
|
+// ShareGroupParams request = new ShareGroupParams();
|
|
|
+// request.setGroupUuid(TEST_GROUP_UUID);
|
|
|
+// request.setSharerUserId(TEST_USER_ID);
|
|
|
+// request.setSharerPhone("13800138000");
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 抛出异常
|
|
|
+// when(groupGateway.shareGroup(request)).thenThrow(new BizException(ErrorEnum.GROUP_IS_NOT_EXIST.getErrorCode(), ErrorEnum.GROUP_IS_NOT_EXIST.getErrorMessage()));
|
|
|
+//
|
|
|
+// // 验证异常抛出
|
|
|
+// assertThrows(BizException.class, () -> groupController.shareGroup(request));
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).shareGroup(request);
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 群组分享确认相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void groupShareConfirm_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
+// request.setSharedUserId(TEST_USER_ID);
|
|
|
+// request.setSharedPhone("13800138000");
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.groupShareConfirm(request)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.GroupShareConfirm(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupShareConfirm_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
+// request.setSharedUserId(TEST_USER_ID);
|
|
|
+// request.setSharedPhone("13800138000");
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.groupShareConfirm(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.GroupShareConfirm(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupShareConfirm_ThrowsException() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
+// request.setSharedUserId(TEST_USER_ID);
|
|
|
+// request.setSharedPhone("13800138000");
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 抛出异常
|
|
|
+// when(groupGateway.groupShareConfirm(request)).thenThrow(new BizException(ErrorEnum.SHARE_IS_EXPIRED.getErrorCode(), ErrorEnum.SHARE_IS_EXPIRED.getErrorMessage()));
|
|
|
+//
|
|
|
+// // 验证异常抛出
|
|
|
+// assertThrows(BizException.class, () -> groupController.GroupShareConfirm(request));
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupShareConfirm_NullUserId() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareConfirmParams request = new GroupShareConfirmParams();
|
|
|
+// request.setSharedUserId(null);
|
|
|
+// request.setSharedPhone("13800138000");
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.groupShareConfirm(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.GroupShareConfirm(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareConfirm(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// // ========== 群组分享处理相关测试 ==========
|
|
|
+// @Test
|
|
|
+// void groupShareHandle_Success() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareHandleParams request = new GroupShareHandleParams();
|
|
|
+// request.setState(1); // 接受状态
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为
|
|
|
+// when(groupGateway.groupShareHandle(request)).thenReturn(true);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.groupShareHandle(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareHandle(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(true, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupShareHandle_Failed() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareHandleParams request = new GroupShareHandleParams();
|
|
|
+// request.setState(2); // 拒绝状态
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 返回失败
|
|
|
+// when(groupGateway.groupShareHandle(request)).thenReturn(false);
|
|
|
+//
|
|
|
+// // 执行测试
|
|
|
+// ApiResult<Boolean> result = groupController.groupShareHandle(request);
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareHandle(request);
|
|
|
+//
|
|
|
+// // 验证结果
|
|
|
+// assertEquals(SUCCESS_CODE, ReflectionTestUtils.getField(result, "code"));
|
|
|
+// assertEquals(false, ReflectionTestUtils.getField(result, "data"));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// void groupShareHandle_ThrowsException() {
|
|
|
+// // 准备测试数据
|
|
|
+// GroupShareHandleParams request = new GroupShareHandleParams();
|
|
|
+// request.setState(2); // 拒绝状态
|
|
|
+// request.setUuid(TEST_GROUP_UUID);
|
|
|
+//
|
|
|
+// // 模拟Gateway行为 - 抛出异常
|
|
|
+// when(groupGateway.groupShareHandle(request)).thenThrow(new BizException(ErrorEnum.SHARE_GROUP_IS_NOT_EXIST.getErrorCode(), ErrorEnum.SHARE_GROUP_IS_NOT_EXIST.getErrorMessage()));
|
|
|
+//
|
|
|
+// // 验证异常抛出
|
|
|
+// assertThrows(BizException.class, () -> groupController.groupShareHandle(request));
|
|
|
+//
|
|
|
+// // 验证交互
|
|
|
+// verify(groupGateway, times(1)).groupShareHandle(request);
|
|
|
+// }
|
|
|
+//}
|