Commit 3235b4e70754a428ef24860c6aeee9762d447241
1 parent
40c9449f
fix: 优化对 JDK8 的兼容性
Showing
11 changed files
with
210 additions
and
203 deletions
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/dal/mysql/message/ImGroupMessageMapperTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.dal.mysql.message; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 4 | 5 | import cn.iocoder.yudao.module.im.dal.dataobject.message.ImGroupMessageDO; |
| 5 | 6 | import cn.iocoder.yudao.module.im.enums.message.ImGroupMessageReceiptStatusEnum; |
| ... | ... | @@ -10,7 +11,6 @@ import org.junit.jupiter.api.Test; |
| 10 | 11 | import java.time.LocalDateTime; |
| 11 | 12 | import java.util.List; |
| 12 | 13 | |
| 13 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 14 | 14 | import static org.junit.jupiter.api.Assertions.*; |
| 15 | 15 | |
| 16 | 16 | /** |
| ... | ... | @@ -36,7 +36,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { |
| 36 | 36 | mapper.insert(msg20); |
| 37 | 37 | |
| 38 | 38 | // 调用:只查群 10 |
| 39 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, FAR_PAST, 100); | |
| 39 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(ListUtil.of(10L), 0L, FAR_PAST, 100); | |
| 40 | 40 | |
| 41 | 41 | // 断言:只有 msg10 |
| 42 | 42 | assertEquals(1, result.size()); |
| ... | ... | @@ -51,7 +51,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { |
| 51 | 51 | ImGroupMessageDO recalled = buildMessage(10L, 1L, ImMessageStatusEnum.RECALL); |
| 52 | 52 | mapper.insert(recalled); |
| 53 | 53 | |
| 54 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, FAR_PAST, 100); | |
| 54 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(ListUtil.of(10L), 0L, FAR_PAST, 100); | |
| 55 | 55 | |
| 56 | 56 | // 断言:撤回消息一并返回,由客户端按 status 切换渲染 |
| 57 | 57 | assertEquals(2, result.size()); |
| ... | ... | @@ -67,7 +67,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { |
| 67 | 67 | outWindow.setSendTime(LocalDateTime.now().minusDays(40)); |
| 68 | 68 | mapper.insert(outWindow); |
| 69 | 69 | |
| 70 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, | |
| 70 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(ListUtil.of(10L), 0L, | |
| 71 | 71 | LocalDateTime.now().minusDays(30), 100); |
| 72 | 72 | |
| 73 | 73 | assertEquals(1, result.size()); |
| ... | ... | @@ -85,7 +85,7 @@ public class ImGroupMessageMapperTest extends BaseDbUnitTest { |
| 85 | 85 | mapper.insert(m3); |
| 86 | 86 | |
| 87 | 87 | // 调用:size=2,返回 id 最小的 2 条 |
| 88 | - List<ImGroupMessageDO> result = mapper.selectListByMinId(listOf(10L), 0L, FAR_PAST, 2); | |
| 88 | + List<ImGroupMessageDO> result = mapper.selectListByMinId(ListUtil.of(10L), 0L, FAR_PAST, 2); | |
| 89 | 89 | |
| 90 | 90 | assertEquals(2, result.size()); |
| 91 | 91 | assertTrue(result.get(0).getId() < result.get(1).getId()); | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/friend/ImFriendRequestServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.friend; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 5 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| ... | ... | @@ -24,7 +25,6 @@ import java.time.LocalDateTime; |
| 24 | 25 | import java.util.List; |
| 25 | 26 | |
| 26 | 27 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 27 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 28 | 28 | import static org.junit.jupiter.api.Assertions.*; |
| 29 | 29 | import static org.mockito.ArgumentMatchers.any; |
| 30 | 30 | import static org.mockito.ArgumentMatchers.anyInt; |
| ... | ... | @@ -229,7 +229,7 @@ public class ImFriendRequestServiceImplTest extends BaseMockitoUnitTest { |
| 229 | 229 | friendRequestService.agreeFriendRequest(2L, 100L); |
| 230 | 230 | |
| 231 | 231 | // 断言:双向建立好友 + 推 APPROVED 给发起方 |
| 232 | - verify(adminUserApi).validateUserList(listOf(1L, 2L)); | |
| 232 | + verify(adminUserApi).validateUserList(ListUtil.of(1L, 2L)); | |
| 233 | 233 | verify(friendService).becomeFriends(request); |
| 234 | 234 | verify(websocketService).sendPrivateMessageAsync(eq(1L), any(ImPrivateMessageDTO.class)); |
| 235 | 235 | } | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/friend/ImFriendServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.friend; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 5 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| ... | ... | @@ -22,7 +23,6 @@ import java.util.Collections; |
| 22 | 23 | import java.util.List; |
| 23 | 24 | |
| 24 | 25 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FRIEND_NOT_FRIEND; |
| 25 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 26 | 26 | import static org.junit.jupiter.api.Assertions.*; |
| 27 | 27 | import static org.mockito.ArgumentMatchers.*; |
| 28 | 28 | import static org.mockito.Mockito.never; |
| ... | ... | @@ -249,7 +249,7 @@ public class ImFriendServiceImplTest extends BaseMockitoUnitTest { |
| 249 | 249 | |
| 250 | 250 | @Test |
| 251 | 251 | public void testGetFriendList() { |
| 252 | - List<ImFriendDO> list = listOf( | |
| 252 | + List<ImFriendDO> list = ListUtil.of( | |
| 253 | 253 | ImFriendDO.builder().id(1L).userId(1L).friendUserId(2L) |
| 254 | 254 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 255 | 255 | ImFriendDO.builder().id(2L).userId(1L).friendUserId(3L) |
| ... | ... | @@ -277,9 +277,9 @@ public class ImFriendServiceImplTest extends BaseMockitoUnitTest { |
| 277 | 277 | ImFriendDO friend3 = ImFriendDO.builder().id(2L).userId(1L).friendUserId(3L) |
| 278 | 278 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 279 | 279 | when(imFriendMapper.selectListByUserIdAndStatus(1L, CommonStatusEnum.ENABLE.getStatus())) |
| 280 | - .thenReturn(listOf(friend2, friend3)); | |
| 280 | + .thenReturn(ListUtil.of(friend2, friend3)); | |
| 281 | 281 | when(imFriendMapper.selectListByUserIdsAndFriendUserIdAndStatus(anyCollection(), eq(1L), |
| 282 | - eq(CommonStatusEnum.ENABLE.getStatus()))).thenReturn(listOf( | |
| 282 | + eq(CommonStatusEnum.ENABLE.getStatus()))).thenReturn(ListUtil.of( | |
| 283 | 283 | ImFriendDO.builder().userId(2L).friendUserId(1L) |
| 284 | 284 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 285 | 285 | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupMemberServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.group; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 5 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| ... | ... | @@ -18,7 +19,6 @@ import org.springframework.dao.DuplicateKeyException; |
| 18 | 19 | import java.util.List; |
| 19 | 20 | |
| 20 | 21 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.GROUP_MEMBER_NOT_IN_GROUP; |
| 21 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 22 | 22 | import static org.junit.jupiter.api.Assertions.*; |
| 23 | 23 | import static org.mockito.ArgumentMatchers.*; |
| 24 | 24 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -117,10 +117,10 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 117 | 117 | ImGroupMemberDO exist4 = ImGroupMemberDO.builder().id(40L).groupId(10L).userId(4L) |
| 118 | 118 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 119 | 119 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 120 | - .thenReturn(listOf(exist3, exist4)); | |
| 120 | + .thenReturn(ListUtil.of(exist3, exist4)); | |
| 121 | 121 | |
| 122 | 122 | // 调用 |
| 123 | - groupMemberService.addGroupMembers(10L, listOf(2L, 3L, 4L)); | |
| 123 | + groupMemberService.addGroupMembers(10L, ListUtil.of(2L, 3L, 4L)); | |
| 124 | 124 | |
| 125 | 125 | // 断言:updates 只有用户 3;inserts 只有用户 2 |
| 126 | 126 | verify(groupMemberMapper).updateRejoinFields(eq(30L), eq(CommonStatusEnum.ENABLE.getStatus()), |
| ... | ... | @@ -132,7 +132,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 132 | 132 | @Test |
| 133 | 133 | public void testAddGroupMembers_allExisting_onlyUpdates() { |
| 134 | 134 | // 准备:传入的 3 个用户都已有记录(全部 DISABLE) → 只做 update,不做 insert |
| 135 | - List<ImGroupMemberDO> existing = listOf( | |
| 135 | + List<ImGroupMemberDO> existing = ListUtil.of( | |
| 136 | 136 | ImGroupMemberDO.builder().id(1L).groupId(10L).userId(2L) |
| 137 | 137 | .status(CommonStatusEnum.DISABLE.getStatus()).build(), |
| 138 | 138 | ImGroupMemberDO.builder().id(2L).groupId(10L).userId(3L) |
| ... | ... | @@ -141,7 +141,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 141 | 141 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 142 | 142 | .thenReturn(existing); |
| 143 | 143 | |
| 144 | - groupMemberService.addGroupMembers(10L, listOf(2L, 3L)); | |
| 144 | + groupMemberService.addGroupMembers(10L, ListUtil.of(2L, 3L)); | |
| 145 | 145 | |
| 146 | 146 | verify(groupMemberMapper, times(2)).updateRejoinFields(anyLong(), eq(CommonStatusEnum.ENABLE.getStatus()), |
| 147 | 147 | any(), eq(ImGroupMemberRoleEnum.NORMAL.getRole()), isNull(), isNull()); |
| ... | ... | @@ -152,9 +152,9 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 152 | 152 | public void testAddGroupMembers_allNew_onlyInserts() { |
| 153 | 153 | // 准备:都不存在 → 只做 insert |
| 154 | 154 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 155 | - .thenReturn(listOf()); | |
| 155 | + .thenReturn(ListUtil.of()); | |
| 156 | 156 | |
| 157 | - groupMemberService.addGroupMembers(10L, listOf(2L, 3L)); | |
| 157 | + groupMemberService.addGroupMembers(10L, ListUtil.of(2L, 3L)); | |
| 158 | 158 | |
| 159 | 159 | verify(groupMemberMapper, never()).updateRejoinFields(anyLong(), anyInt(), any(), anyInt(), any(), any()); |
| 160 | 160 | verify(groupMemberMapper).insertBatch(anyList()); |
| ... | ... | @@ -163,14 +163,14 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 163 | 163 | @Test |
| 164 | 164 | public void testAddGroupMembers_allExistingEnabled_nothingHappens() { |
| 165 | 165 | // 准备:都已存在且 ENABLE → 既不 update 也不 insert |
| 166 | - List<ImGroupMemberDO> existing = listOf( | |
| 166 | + List<ImGroupMemberDO> existing = ListUtil.of( | |
| 167 | 167 | ImGroupMemberDO.builder().id(1L).groupId(10L).userId(2L) |
| 168 | 168 | .status(CommonStatusEnum.ENABLE.getStatus()).build() |
| 169 | 169 | ); |
| 170 | 170 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 171 | 171 | .thenReturn(existing); |
| 172 | 172 | |
| 173 | - groupMemberService.addGroupMembers(10L, listOf(2L)); | |
| 173 | + groupMemberService.addGroupMembers(10L, ListUtil.of(2L)); | |
| 174 | 174 | |
| 175 | 175 | verify(groupMemberMapper, never()).updateRejoinFields(anyLong(), anyInt(), any(), anyInt(), any(), any()); |
| 176 | 176 | verify(groupMemberMapper, never()).insertBatch(anyList()); |
| ... | ... | @@ -180,14 +180,14 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 180 | 180 | public void testAddGroupMembers_batchInsertDuplicateFallback() { |
| 181 | 181 | // 准备:两个新增成员,批量插入失败时降级为逐个 addGroupMember |
| 182 | 182 | when(groupMemberMapper.selectListByGroupIdAndUserIds(eq(10L), anyCollection())) |
| 183 | - .thenReturn(listOf()); | |
| 183 | + .thenReturn(ListUtil.of()); | |
| 184 | 184 | doThrow(new DuplicateKeyException("concurrent batch insert")) |
| 185 | 185 | .when(groupMemberMapper).insertBatch(anyList()); |
| 186 | 186 | // addGroupMember 单条兜底逻辑 |
| 187 | 187 | when(groupMemberMapper.selectByGroupIdAndUserId(eq(10L), anyLong())).thenReturn(null); |
| 188 | 188 | |
| 189 | 189 | // 调用 |
| 190 | - groupMemberService.addGroupMembers(10L, listOf(2L, 3L)); | |
| 190 | + groupMemberService.addGroupMembers(10L, ListUtil.of(2L, 3L)); | |
| 191 | 191 | |
| 192 | 192 | // 断言:降级为逐条调用 insert |
| 193 | 193 | verify(groupMemberMapper, times(2)).insert(any(ImGroupMemberDO.class)); |
| ... | ... | @@ -245,7 +245,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 245 | 245 | // 公开字段昵称变化 → 全员广播 GROUP_MEMBER_NICKNAME_UPDATE |
| 246 | 246 | verify(groupMessageService).sendGroupMessage(eq(1L), any(cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO.class)); |
| 247 | 247 | // 个人字段 silent 变化 → 仅自己多端同步 GROUP_MEMBER_SETTING_UPDATE |
| 248 | - verify(groupMessageService).sendGroupMessage(eq(1L), eq(listOf(1L)), | |
| 248 | + verify(groupMessageService).sendGroupMessage(eq(1L), eq(ListUtil.of(1L)), | |
| 249 | 249 | any(cn.iocoder.yudao.module.im.service.message.dto.ImGroupMessageSendDTO.class)); |
| 250 | 250 | } |
| 251 | 251 | |
| ... | ... | @@ -279,7 +279,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 279 | 279 | |
| 280 | 280 | @Test |
| 281 | 281 | public void testRemoveGroupMembers_batch() { |
| 282 | - groupMemberService.removeGroupMembers(10L, listOf(2L, 3L)); | |
| 282 | + groupMemberService.removeGroupMembers(10L, ListUtil.of(2L, 3L)); | |
| 283 | 283 | |
| 284 | 284 | ArgumentCaptor<ImGroupMemberDO> captor = ArgumentCaptor.forClass(ImGroupMemberDO.class); |
| 285 | 285 | verify(groupMemberMapper).updateByGroupIdAndUserIdsAndStatus(eq(10L), anyCollection(), |
| ... | ... | @@ -304,7 +304,7 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 304 | 304 | @Test |
| 305 | 305 | public void testGetActiveGroupMemberUserIdsByGroupId_extractsUserIds() { |
| 306 | 306 | // 准备:3 个 ENABLE 成员 |
| 307 | - List<ImGroupMemberDO> members = listOf( | |
| 307 | + List<ImGroupMemberDO> members = ListUtil.of( | |
| 308 | 308 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 309 | 309 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 310 | 310 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| ... | ... | @@ -319,13 +319,13 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 319 | 319 | List<Long> userIds = groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L); |
| 320 | 320 | |
| 321 | 321 | // 断言:只返回 userId、顺序保留 |
| 322 | - assertEquals(listOf(1L, 2L, 3L), userIds); | |
| 322 | + assertEquals(ListUtil.of(1L, 2L, 3L), userIds); | |
| 323 | 323 | } |
| 324 | 324 | |
| 325 | 325 | @Test |
| 326 | 326 | public void testGetActiveGroupMemberUserIdsByGroupId_emptyList() { |
| 327 | 327 | when(groupMemberMapper.selectListByGroupIdAndStatus( |
| 328 | - 10L, CommonStatusEnum.ENABLE.getStatus())).thenReturn(listOf()); | |
| 328 | + 10L, CommonStatusEnum.ENABLE.getStatus())).thenReturn(ListUtil.of()); | |
| 329 | 329 | |
| 330 | 330 | List<Long> userIds = groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L); |
| 331 | 331 | |
| ... | ... | @@ -334,8 +334,8 @@ public class ImGroupMemberServiceImplTest extends BaseMockitoUnitTest { |
| 334 | 334 | |
| 335 | 335 | @Test |
| 336 | 336 | public void testGetGroupMemberListByOwnerAndAdmin_passesRoles() { |
| 337 | - List<Integer> roles = listOf(ImGroupMemberRoleEnum.OWNER.getRole(), ImGroupMemberRoleEnum.ADMIN.getRole()); | |
| 338 | - List<ImGroupMemberDO> members = listOf(ImGroupMemberDO.builder().groupId(10L).userId(1L).build()); | |
| 337 | + List<Integer> roles = ListUtil.of(ImGroupMemberRoleEnum.OWNER.getRole(), ImGroupMemberRoleEnum.ADMIN.getRole()); | |
| 338 | + List<ImGroupMemberDO> members = ListUtil.of(ImGroupMemberDO.builder().groupId(10L).userId(1L).build()); | |
| 339 | 339 | when(groupMemberMapper.selectListByGroupIdAndStatusAndRoles(10L, CommonStatusEnum.ENABLE.getStatus(), roles)) |
| 340 | 340 | .thenReturn(members); |
| 341 | 341 | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupRequestServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.group; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 4 | +import cn.hutool.core.map.MapUtil; | |
| 3 | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | 6 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 5 | 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| ... | ... | @@ -28,7 +30,6 @@ import java.util.Collection; |
| 28 | 30 | import java.util.List; |
| 29 | 31 | |
| 30 | 32 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 31 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 32 | 33 | import static org.junit.jupiter.api.Assertions.*; |
| 33 | 34 | import static org.mockito.ArgumentMatchers.*; |
| 34 | 35 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -94,7 +95,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { |
| 94 | 95 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 95 | 96 | when(groupService.validateGroupExists(10L)).thenReturn(group); |
| 96 | 97 | // 群里有 owner + 一个 admin,作为 1503 推送目标 |
| 97 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( | |
| 98 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(ListUtil.of( | |
| 98 | 99 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 99 | 100 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 100 | 101 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| ... | ... | @@ -126,7 +127,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { |
| 126 | 127 | .joinApproval(true) |
| 127 | 128 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 128 | 129 | when(groupService.validateGroupExists(10L)).thenReturn(group); |
| 129 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( | |
| 130 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(ListUtil.of( | |
| 130 | 131 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 131 | 132 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 132 | 133 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| ... | ... | @@ -191,7 +192,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { |
| 191 | 192 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(99L) |
| 192 | 193 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 193 | 194 | when(groupService.getGroup(10L)).thenReturn(group); |
| 194 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( | |
| 195 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(ListUtil.of( | |
| 195 | 196 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 196 | 197 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 197 | 198 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| ... | ... | @@ -269,7 +270,7 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { |
| 269 | 270 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 270 | 271 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 271 | 272 | when(groupService.getGroup(10L)).thenReturn(group); |
| 272 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( | |
| 273 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(ListUtil.of( | |
| 273 | 274 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 274 | 275 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 275 | 276 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| ... | ... | @@ -290,16 +291,17 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { |
| 290 | 291 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 291 | 292 | when(groupService.validateGroupExists(10L)).thenReturn(group); |
| 292 | 293 | when(groupRequestMapper.selectByGroupIdAndUserId(eq(10L), anyLong())).thenReturn(null); |
| 293 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( | |
| 294 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(ListUtil.of( | |
| 294 | 295 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 295 | 296 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 296 | 297 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 297 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf( | |
| 298 | - 2L, buildUser(2L, "用户A"), | |
| 299 | - 3L, buildUser(3L, "用户B"))); | |
| 298 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(MapUtil.<Long, AdminUserRespDTO>builder() | |
| 299 | + .put(2L, buildUser(2L, "用户A")) | |
| 300 | + .put(3L, buildUser(3L, "用户B")) | |
| 301 | + .build()); | |
| 300 | 302 | |
| 301 | 303 | // 调用:邀请人 1L 邀请 2L、3L(都没有旧记录) |
| 302 | - groupRequestService.createInviteRequestList(10L, 1L, listOf(2L, 3L)); | |
| 304 | + groupRequestService.createInviteRequestList(10L, 1L, ListUtil.of(2L, 3L)); | |
| 303 | 305 | |
| 304 | 306 | // 断言:插入 2 条 + 推 1503 给 owner(每条 1 帧)共 2 帧 |
| 305 | 307 | ArgumentCaptor<ImGroupRequestDO> captor = ArgumentCaptor.forClass(ImGroupRequestDO.class); |
| ... | ... | @@ -324,14 +326,14 @@ public class ImGroupRequestServiceImplTest extends BaseMockitoUnitTest { |
| 324 | 326 | .setHandleResult(ImGroupRequestHandleResultEnum.REFUSED.getResult()); |
| 325 | 327 | when(groupRequestMapper.selectByGroupIdAndUserId(10L, 2L)).thenReturn(null, old); |
| 326 | 328 | when(groupRequestMapper.insert(any(ImGroupRequestDO.class))).thenThrow(new DuplicateKeyException("dup")); |
| 327 | - when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(listOf( | |
| 329 | + when(groupMemberService.getGroupMemberListByOwnerAndAdmin(10L)).thenReturn(ListUtil.of( | |
| 328 | 330 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 329 | 331 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 330 | 332 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 331 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf(2L, buildUser(2L, "用户A"))); | |
| 333 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(MapUtil.of(2L, buildUser(2L, "用户A"))); | |
| 332 | 334 | |
| 333 | 335 | // 调用 |
| 334 | - groupRequestService.createInviteRequestList(10L, 1L, listOf(2L)); | |
| 336 | + groupRequestService.createInviteRequestList(10L, 1L, ListUtil.of(2L)); | |
| 335 | 337 | |
| 336 | 338 | // 断言:复用并重置旧邀请申请 |
| 337 | 339 | verify(groupRequestMapper).updateInviteByIdReset(eq(50L), eq(1L), | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/group/ImGroupServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.group; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 4 | +import cn.hutool.core.collection.ListUtil; | |
| 5 | +import cn.hutool.core.map.MapUtil; | |
| 3 | 6 | import cn.hutool.extra.spring.SpringUtil; |
| 4 | 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 5 | 8 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| ... | ... | @@ -43,7 +46,6 @@ import java.util.Map; |
| 43 | 46 | import java.util.Set; |
| 44 | 47 | |
| 45 | 48 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 46 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 47 | 49 | import static org.junit.jupiter.api.Assertions.*; |
| 48 | 50 | import static org.mockito.ArgumentMatchers.*; |
| 49 | 51 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -109,13 +111,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 109 | 111 | // 准备:创建者 + 2 个初始成员,都是好友 |
| 110 | 112 | ImGroupCreateReqVO reqVO = new ImGroupCreateReqVO(); |
| 111 | 113 | reqVO.setName("测试群"); |
| 112 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); | |
| 114 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L, 3L))); | |
| 113 | 115 | when(groupMapper.insert(any(ImGroupDO.class))).thenAnswer(invocation -> { |
| 114 | 116 | ImGroupDO group = invocation.getArgument(0); |
| 115 | 117 | group.setId(100L); |
| 116 | 118 | return 1; |
| 117 | 119 | }); |
| 118 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | |
| 120 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(ListUtil.of( | |
| 119 | 121 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 120 | 122 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 121 | 123 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| ... | ... | @@ -141,15 +143,15 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 141 | 143 | // 准备:初始成员里有非好友 |
| 142 | 144 | ImGroupCreateReqVO reqVO = new ImGroupCreateReqVO(); |
| 143 | 145 | reqVO.setName("测试群"); |
| 144 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); | |
| 146 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L, 3L))); | |
| 145 | 147 | // 只有 2 是好友,3 不是 |
| 146 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | |
| 148 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(ListUtil.of( | |
| 147 | 149 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 148 | 150 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 149 | 151 | AdminUserRespDTO u3 = new AdminUserRespDTO(); |
| 150 | 152 | u3.setId(3L); |
| 151 | 153 | u3.setNickname("李四"); |
| 152 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf(3L, u3)); | |
| 154 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(MapUtil.of(3L, u3)); | |
| 153 | 155 | |
| 154 | 156 | // 调用并断言 |
| 155 | 157 | ServiceException exception = assertThrows(ServiceException.class, |
| ... | ... | @@ -328,8 +330,8 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 328 | 330 | // 被邀请人 2 和 3 都是好友 |
| 329 | 331 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 330 | 332 | reqVO.setGroupId(10L); |
| 331 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); | |
| 332 | - List<ImFriendDO> friends = listOf( | |
| 333 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L, 3L))); | |
| 334 | + List<ImFriendDO> friends = ListUtil.of( | |
| 333 | 335 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 334 | 336 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 335 | 337 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| ... | ... | @@ -367,7 +369,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 367 | 369 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 368 | 370 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) |
| 369 | 371 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); |
| 370 | - when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(listOf( | |
| 372 | + when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(ListUtil.of( | |
| 371 | 373 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 372 | 374 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 373 | 375 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| ... | ... | @@ -377,8 +379,8 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 377 | 379 | |
| 378 | 380 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 379 | 381 | reqVO.setGroupId(10L); |
| 380 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); | |
| 381 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | |
| 382 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L, 3L))); | |
| 383 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(ListUtil.of( | |
| 382 | 384 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 383 | 385 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 384 | 386 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| ... | ... | @@ -409,15 +411,15 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 409 | 411 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 410 | 412 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 411 | 413 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); |
| 412 | - when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(listOf( | |
| 414 | + when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(ListUtil.of( | |
| 413 | 415 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 414 | 416 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 415 | 417 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 416 | 418 | |
| 417 | 419 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 418 | 420 | reqVO.setGroupId(10L); |
| 419 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); | |
| 420 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | |
| 421 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L, 3L))); | |
| 422 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(ListUtil.of( | |
| 421 | 423 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 422 | 424 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 423 | 425 | ImFriendDO.builder().userId(1L).friendUserId(3L) |
| ... | ... | @@ -446,18 +448,18 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 446 | 448 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 447 | 449 | when(groupMapper.selectById(10L)).thenReturn(group); |
| 448 | 450 | when(groupMemberService.getActiveGroupMemberListByGroupId(10L)) |
| 449 | - .thenReturn(listOf(ImGroupMemberDO.builder().groupId(10L).userId(1L) | |
| 451 | + .thenReturn(ListUtil.of(ImGroupMemberDO.builder().groupId(10L).userId(1L) | |
| 450 | 452 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 451 | 453 | |
| 452 | 454 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 453 | 455 | reqVO.setGroupId(10L); |
| 454 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L, 3L))); | |
| 456 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L, 3L))); | |
| 455 | 457 | // 只有 2 是好友,3 不是 |
| 456 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | |
| 458 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(ListUtil.of( | |
| 457 | 459 | ImFriendDO.builder().userId(1L).friendUserId(2L) |
| 458 | 460 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 459 | 461 | AdminUserRespDTO u3 = new AdminUserRespDTO(); u3.setId(3L); u3.setNickname("李四"); |
| 460 | - when(adminUserApi.getUserMap(anyCollection())).thenReturn(mapOf(3L, u3)); | |
| 462 | + when(adminUserApi.getUserMap(anyCollection())).thenReturn(MapUtil.of(3L, u3)); | |
| 461 | 463 | |
| 462 | 464 | ServiceException exception = assertThrows(ServiceException.class, |
| 463 | 465 | () -> groupService.inviteGroupMember(1L, reqVO)); |
| ... | ... | @@ -485,9 +487,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 485 | 487 | |
| 486 | 488 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 487 | 489 | reqVO.setGroupId(10L); |
| 488 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(600L, 601L))); | |
| 490 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(600L, 601L))); | |
| 489 | 491 | // 被邀请人都是好友 |
| 490 | - when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(listOf( | |
| 492 | + when(friendService.getActiveFriendList(eq(1L), anyCollection())).thenReturn(ListUtil.of( | |
| 491 | 493 | ImFriendDO.builder().userId(1L).friendUserId(600L) |
| 492 | 494 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 493 | 495 | ImFriendDO.builder().userId(1L).friendUserId(601L) |
| ... | ... | @@ -513,7 +515,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 513 | 515 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 514 | 516 | when(groupMapper.selectById(10L)).thenReturn(group); |
| 515 | 517 | // 用户 2 已在群中 |
| 516 | - when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(listOf( | |
| 518 | + when(groupMemberService.getActiveGroupMemberListByGroupId(10L)).thenReturn(ListUtil.of( | |
| 517 | 519 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 518 | 520 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 519 | 521 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| ... | ... | @@ -522,7 +524,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 522 | 524 | |
| 523 | 525 | ImGroupMemberInviteReqVO reqVO = new ImGroupMemberInviteReqVO(); |
| 524 | 526 | reqVO.setGroupId(10L); |
| 525 | - reqVO.setMemberUserIds(new ArrayList<>(listOf(2L))); // 只邀请 2,他已在群中 | |
| 527 | + reqVO.setMemberUserIds(new ArrayList<>(ListUtil.of(2L))); // 只邀请 2,他已在群中 | |
| 526 | 528 | |
| 527 | 529 | // 调用 |
| 528 | 530 | groupService.inviteGroupMember(1L, reqVO); |
| ... | ... | @@ -607,7 +609,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 607 | 609 | |
| 608 | 610 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 609 | 611 | reqVO.setGroupId(10L); |
| 610 | - reqVO.setMemberUserIds(listOf(1L, 2L)); | |
| 612 | + reqVO.setMemberUserIds(ListUtil.of(1L, 2L)); | |
| 611 | 613 | |
| 612 | 614 | ServiceException exception = assertThrows(ServiceException.class, |
| 613 | 615 | () -> groupService.removeGroupMember(1L, reqVO)); |
| ... | ... | @@ -629,7 +631,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 629 | 631 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 630 | 632 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); |
| 631 | 633 | // 目标:两个普通成员 |
| 632 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 634 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 633 | 635 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 634 | 636 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) |
| 635 | 637 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| ... | ... | @@ -639,7 +641,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 639 | 641 | |
| 640 | 642 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 641 | 643 | reqVO.setGroupId(10L); |
| 642 | - reqVO.setMemberUserIds(listOf(2L, 3L)); | |
| 644 | + reqVO.setMemberUserIds(ListUtil.of(2L, 3L)); | |
| 643 | 645 | |
| 644 | 646 | groupService.removeGroupMember(1L, reqVO); |
| 645 | 647 | |
| ... | ... | @@ -666,14 +668,14 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 666 | 668 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 667 | 669 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build()); |
| 668 | 670 | // 目标:另一个管理员 |
| 669 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 671 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 670 | 672 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 671 | 673 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()) |
| 672 | 674 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 673 | 675 | |
| 674 | 676 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 675 | 677 | reqVO.setGroupId(10L); |
| 676 | - reqVO.setMemberUserIds(listOf(2L)); | |
| 678 | + reqVO.setMemberUserIds(ListUtil.of(2L)); | |
| 677 | 679 | |
| 678 | 680 | ServiceException exception = assertThrows(ServiceException.class, |
| 679 | 681 | () -> groupService.removeGroupMember(1L, reqVO)); |
| ... | ... | @@ -695,14 +697,14 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 695 | 697 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn( |
| 696 | 698 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 697 | 699 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); |
| 698 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 700 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 699 | 701 | ImGroupMemberDO.builder().groupId(10L).userId(99L) |
| 700 | 702 | .role(ImGroupMemberRoleEnum.OWNER.getRole()) |
| 701 | 703 | .status(CommonStatusEnum.ENABLE.getStatus()).build())); |
| 702 | 704 | |
| 703 | 705 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 704 | 706 | reqVO.setGroupId(10L); |
| 705 | - reqVO.setMemberUserIds(listOf(99L)); | |
| 707 | + reqVO.setMemberUserIds(ListUtil.of(99L)); | |
| 706 | 708 | |
| 707 | 709 | ServiceException exception = assertThrows(ServiceException.class, |
| 708 | 710 | () -> groupService.removeGroupMember(1L, reqVO)); |
| ... | ... | @@ -724,7 +726,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 724 | 726 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 725 | 727 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build()); |
| 726 | 728 | // 目标:2L 有效普通成员;3L 已退群(DISABLE)的历史管理员,应被跳过而非拦截整批 |
| 727 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 729 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 728 | 730 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 729 | 731 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()) |
| 730 | 732 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| ... | ... | @@ -734,17 +736,17 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 734 | 736 | |
| 735 | 737 | ImGroupMemberRemoveReqVO reqVO = new ImGroupMemberRemoveReqVO(); |
| 736 | 738 | reqVO.setGroupId(10L); |
| 737 | - reqVO.setMemberUserIds(listOf(2L, 3L)); | |
| 739 | + reqVO.setMemberUserIds(ListUtil.of(2L, 3L)); | |
| 738 | 740 | |
| 739 | 741 | groupService.removeGroupMember(1L, reqVO); |
| 740 | 742 | |
| 741 | 743 | // 仅有效成员 2L 进入移除 / 已读清理,已退群的 3L 被跳过 |
| 742 | 744 | ArgumentCaptor<Collection> removeCaptor = ArgumentCaptor.forClass(Collection.class); |
| 743 | 745 | verify(groupMemberService).removeGroupMembers(eq(10L), removeCaptor.capture()); |
| 744 | - assertEquals(setOf(2L), setCopyOf(removeCaptor.getValue())); | |
| 746 | + assertEquals(CollUtil.newHashSet(2L), CollUtil.newHashSet(removeCaptor.getValue())); | |
| 745 | 747 | ArgumentCaptor<Collection> readCaptor = ArgumentCaptor.forClass(Collection.class); |
| 746 | 748 | verify(groupMessageService).deleteReadMaxMessageIds(eq(10L), readCaptor.capture()); |
| 747 | - assertEquals(setOf(2L), setCopyOf(readCaptor.getValue())); | |
| 749 | + assertEquals(CollUtil.newHashSet(2L), CollUtil.newHashSet(readCaptor.getValue())); | |
| 748 | 750 | } |
| 749 | 751 | } |
| 750 | 752 | |
| ... | ... | @@ -760,7 +762,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 760 | 762 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 761 | 763 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 762 | 764 | // 目标 3 是普通成员 |
| 763 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 765 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 764 | 766 | ImGroupMemberDO.builder().userId(3L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 765 | 767 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); |
| 766 | 768 | // 群里已有 1 个 ADMIN,1 + 1 ≤ 3 不超上限 |
| ... | ... | @@ -771,7 +773,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 771 | 773 | |
| 772 | 774 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 773 | 775 | reqVO.setId(10L); |
| 774 | - reqVO.setUserIds(listOf(3L)); | |
| 776 | + reqVO.setUserIds(ListUtil.of(3L)); | |
| 775 | 777 | |
| 776 | 778 | groupService.addGroupAdmin(1L, reqVO); |
| 777 | 779 | |
| ... | ... | @@ -790,7 +792,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 790 | 792 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 791 | 793 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 792 | 794 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 793 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 795 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 794 | 796 | ImGroupMemberDO.builder().userId(5L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 795 | 797 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); |
| 796 | 798 | // 群里已有 3 个 ADMIN(达到上限),再加 1 会超 |
| ... | ... | @@ -799,7 +801,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 799 | 801 | |
| 800 | 802 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 801 | 803 | reqVO.setId(10L); |
| 802 | - reqVO.setUserIds(listOf(5L)); | |
| 804 | + reqVO.setUserIds(ListUtil.of(5L)); | |
| 803 | 805 | |
| 804 | 806 | ServiceException exception = assertThrows(ServiceException.class, |
| 805 | 807 | () -> groupService.addGroupAdmin(1L, reqVO)); |
| ... | ... | @@ -817,13 +819,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 817 | 819 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 818 | 820 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 819 | 821 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 820 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 822 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 821 | 823 | ImGroupMemberDO.builder().userId(1L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 822 | 824 | .role(ImGroupMemberRoleEnum.OWNER.getRole()).build())); |
| 823 | 825 | |
| 824 | 826 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 825 | 827 | reqVO.setId(10L); |
| 826 | - reqVO.setUserIds(listOf(1L)); | |
| 828 | + reqVO.setUserIds(ListUtil.of(1L)); | |
| 827 | 829 | |
| 828 | 830 | ServiceException exception = assertThrows(ServiceException.class, |
| 829 | 831 | () -> groupService.addGroupAdmin(1L, reqVO)); |
| ... | ... | @@ -841,13 +843,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 841 | 843 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 842 | 844 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 843 | 845 | // 目标已是 ADMIN:再加无需操作 |
| 844 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 846 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 845 | 847 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 846 | 848 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build())); |
| 847 | 849 | |
| 848 | 850 | ImGroupAdminAddReqVO reqVO = new ImGroupAdminAddReqVO(); |
| 849 | 851 | reqVO.setId(10L); |
| 850 | - reqVO.setUserIds(listOf(2L)); | |
| 852 | + reqVO.setUserIds(ListUtil.of(2L)); | |
| 851 | 853 | |
| 852 | 854 | groupService.addGroupAdmin(1L, reqVO); |
| 853 | 855 | |
| ... | ... | @@ -867,7 +869,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 867 | 869 | ImGroupDO group = ImGroupDO.builder().id(10L).ownerUserId(1L) |
| 868 | 870 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 869 | 871 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 870 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 872 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 871 | 873 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 872 | 874 | .role(ImGroupMemberRoleEnum.ADMIN.getRole()).build())); |
| 873 | 875 | when(groupMemberService.updateGroupMemberRole(eq(10L), anyCollection(), |
| ... | ... | @@ -875,7 +877,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 875 | 877 | |
| 876 | 878 | ImGroupAdminRemoveReqVO reqVO = new ImGroupAdminRemoveReqVO(); |
| 877 | 879 | reqVO.setId(10L); |
| 878 | - reqVO.setUserIds(listOf(2L)); | |
| 880 | + reqVO.setUserIds(ListUtil.of(2L)); | |
| 879 | 881 | |
| 880 | 882 | groupService.removeGroupAdmin(1L, reqVO); |
| 881 | 883 | |
| ... | ... | @@ -895,13 +897,13 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 895 | 897 | .status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 896 | 898 | when(groupMapper.selectByIdForUpdate(10L)).thenReturn(group); |
| 897 | 899 | // 目标已是 MEMBER:撤销无需操作 |
| 898 | - when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(listOf( | |
| 900 | + when(groupMemberService.getGroupMembers(eq(10L), anyCollection())).thenReturn(ListUtil.of( | |
| 899 | 901 | ImGroupMemberDO.builder().userId(2L).status(CommonStatusEnum.ENABLE.getStatus()) |
| 900 | 902 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build())); |
| 901 | 903 | |
| 902 | 904 | ImGroupAdminRemoveReqVO reqVO = new ImGroupAdminRemoveReqVO(); |
| 903 | 905 | reqVO.setId(10L); |
| 904 | - reqVO.setUserIds(listOf(2L)); | |
| 906 | + reqVO.setUserIds(ListUtil.of(2L)); | |
| 905 | 907 | |
| 906 | 908 | groupService.removeGroupAdmin(1L, reqVO); |
| 907 | 909 | |
| ... | ... | @@ -923,9 +925,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 923 | 925 | when(groupMemberService.validateMemberInGroup(10L, 2L)).thenReturn( |
| 924 | 926 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 925 | 927 | .role(ImGroupMemberRoleEnum.NORMAL.getRole()).build()); |
| 926 | - when(groupMemberService.updateGroupMemberRole(eq(10L), eq(setOf(2L)), | |
| 928 | + when(groupMemberService.updateGroupMemberRole(eq(10L), eq(CollUtil.newHashSet(2L)), | |
| 927 | 929 | eq(ImGroupMemberRoleEnum.OWNER.getRole()))).thenReturn(1); |
| 928 | - when(groupMemberService.updateGroupMemberRole(eq(10L), eq(setOf(1L)), | |
| 930 | + when(groupMemberService.updateGroupMemberRole(eq(10L), eq(CollUtil.newHashSet(1L)), | |
| 929 | 931 | eq(ImGroupMemberRoleEnum.NORMAL.getRole()))).thenReturn(1); |
| 930 | 932 | |
| 931 | 933 | ImGroupTransferOwnerReqVO reqVO = new ImGroupTransferOwnerReqVO(); |
| ... | ... | @@ -939,9 +941,9 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 939 | 941 | verify(groupMapper).updateById(groupCaptor.capture()); |
| 940 | 942 | assertEquals(2L, groupCaptor.getValue().getOwnerUserId()); |
| 941 | 943 | // 旧群主 → MEMBER;新群主 → OWNER |
| 942 | - verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(setOf(1L)), | |
| 944 | + verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(CollUtil.newHashSet(1L)), | |
| 943 | 945 | eq(ImGroupMemberRoleEnum.NORMAL.getRole())); |
| 944 | - verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(setOf(2L)), | |
| 946 | + verify(groupMemberService).updateGroupMemberRole(eq(10L), eq(CollUtil.newHashSet(2L)), | |
| 945 | 947 | eq(ImGroupMemberRoleEnum.OWNER.getRole())); |
| 946 | 948 | } |
| 947 | 949 | } |
| ... | ... | @@ -1121,7 +1123,7 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 1121 | 1123 | @Test |
| 1122 | 1124 | public void testGetMyGroupList_success() { |
| 1123 | 1125 | // 活跃群成员 |
| 1124 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(new ArrayList<>(listOf( | |
| 1126 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(new ArrayList<>(ListUtil.of( | |
| 1125 | 1127 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 1126 | 1128 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 1127 | 1129 | ImGroupMemberDO.builder().groupId(20L).userId(1L) |
| ... | ... | @@ -1129,11 +1131,11 @@ public class ImGroupServiceImplTest extends BaseMockitoUnitTest { |
| 1129 | 1131 | ))); |
| 1130 | 1132 | // 最近退群成员(最近 30 天内) |
| 1131 | 1133 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 1132 | - .thenReturn(new ArrayList<>(listOf( | |
| 1134 | + .thenReturn(new ArrayList<>(ListUtil.of( | |
| 1133 | 1135 | ImGroupMemberDO.builder().groupId(30L).userId(1L) |
| 1134 | 1136 | .status(CommonStatusEnum.DISABLE.getStatus()).build() |
| 1135 | 1137 | ))); |
| 1136 | - List<ImGroupDO> groups = listOf( | |
| 1138 | + List<ImGroupDO> groups = ListUtil.of( | |
| 1137 | 1139 | ImGroupDO.builder().id(10L).status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 1138 | 1140 | ImGroupDO.builder().id(20L).status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 1139 | 1141 | ImGroupDO.builder().id(30L).status(CommonStatusEnum.ENABLE.getStatus()).build() | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/message/ImGroupMessageServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.message; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 4 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 5 | import cn.hutool.extra.spring.SpringUtil; |
| 4 | 6 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 5 | 7 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| ... | ... | @@ -34,7 +36,6 @@ import java.time.LocalDateTime; |
| 34 | 36 | import java.util.*; |
| 35 | 37 | |
| 36 | 38 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 37 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 38 | 39 | import static org.junit.jupiter.api.Assertions.*; |
| 39 | 40 | import static org.mockito.ArgumentMatchers.*; |
| 40 | 41 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -97,7 +98,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 97 | 98 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); |
| 98 | 99 | |
| 99 | 100 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 100 | - .thenReturn(listOf(1L, 2L, 3L)); | |
| 101 | + .thenReturn(ListUtil.of(1L, 2L, 3L)); | |
| 101 | 102 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenAnswer(invocation -> { |
| 102 | 103 | ImGroupMessageDO msg = invocation.getArgument(0); |
| 103 | 104 | msg.setId(99L); |
| ... | ... | @@ -169,7 +170,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 169 | 170 | .groupId(10L).userId(1L) |
| 170 | 171 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 171 | 172 | .joinTime(joinTime).build(); |
| 172 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); | |
| 173 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(member)); | |
| 173 | 174 | |
| 174 | 175 | // 入群前 1 条 + 入群后 1 条 |
| 175 | 176 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() |
| ... | ... | @@ -178,11 +179,11 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 178 | 179 | ImGroupMessageDO afterJoin = ImGroupMessageDO.builder() |
| 179 | 180 | .id(2L).groupId(10L).senderId(2L) |
| 180 | 181 | .sendTime(now.minusHours(1)).build(); |
| 181 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 182 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 182 | 183 | any(LocalDateTime.class), eq(100))) |
| 183 | - .thenReturn(listOf(beforeJoin, afterJoin)); | |
| 184 | + .thenReturn(ListUtil.of(beforeJoin, afterJoin)); | |
| 184 | 185 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 185 | - .thenReturn(listOf()); | |
| 186 | + .thenReturn(ListUtil.of()); | |
| 186 | 187 | |
| 187 | 188 | // 调用 |
| 188 | 189 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| ... | ... | @@ -201,26 +202,26 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 201 | 202 | .groupId(10L).userId(1L) |
| 202 | 203 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 203 | 204 | .joinTime(joinTime).build(); |
| 204 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); | |
| 205 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(member)); | |
| 205 | 206 | |
| 206 | 207 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() |
| 207 | 208 | .id(1L).groupId(10L).senderId(2L) |
| 208 | 209 | .sendTime(now.minusHours(3)).build(); |
| 209 | 210 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() |
| 210 | 211 | .id(2L).groupId(10L).senderId(2L) |
| 211 | - .receiverUserIds(listOf(2L, 3L)) | |
| 212 | + .receiverUserIds(ListUtil.of(2L, 3L)) | |
| 212 | 213 | .sendTime(now.minusHours(2)).build(); |
| 213 | 214 | ImGroupMessageDO visibleMsg = ImGroupMessageDO.builder() |
| 214 | 215 | .id(3L).groupId(10L).senderId(2L) |
| 215 | 216 | .sendTime(now.minusMinutes(30)).build(); |
| 216 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 217 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 217 | 218 | any(LocalDateTime.class), eq(2))) |
| 218 | - .thenReturn(listOf(beforeJoin, directedMsg)); | |
| 219 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(2L), | |
| 219 | + .thenReturn(ListUtil.of(beforeJoin, directedMsg)); | |
| 220 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(2L), | |
| 220 | 221 | any(LocalDateTime.class), eq(2))) |
| 221 | - .thenReturn(listOf(visibleMsg)); | |
| 222 | + .thenReturn(ListUtil.of(visibleMsg)); | |
| 222 | 223 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 223 | - .thenReturn(listOf()); | |
| 224 | + .thenReturn(ListUtil.of()); | |
| 224 | 225 | |
| 225 | 226 | // 调用 |
| 226 | 227 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 2); |
| ... | ... | @@ -228,9 +229,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 228 | 229 | // 断言:仅返回第二批的可见消息;两批 selectListByMinId 各被调用一次 |
| 229 | 230 | assertEquals(1, result.size()); |
| 230 | 231 | assertEquals(3L, result.get(0).getId()); |
| 231 | - verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 232 | + verify(groupMessageMapper).selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 232 | 233 | any(LocalDateTime.class), eq(2)); |
| 233 | - verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(2L), | |
| 234 | + verify(groupMessageMapper).selectListByMinId(eq(ListUtil.of(10L)), eq(2L), | |
| 234 | 235 | any(LocalDateTime.class), eq(2)); |
| 235 | 236 | } |
| 236 | 237 | |
| ... | ... | @@ -242,14 +243,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 242 | 243 | .groupId(10L).userId(1L) |
| 243 | 244 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 244 | 245 | .joinTime(now.minusDays(10)).build(); |
| 245 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(activeMember)); | |
| 246 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(activeMember)); | |
| 246 | 247 | |
| 247 | 248 | ImGroupMessageDO activeMsg = ImGroupMessageDO.builder() |
| 248 | 249 | .id(5L).groupId(10L).senderId(2L) |
| 249 | 250 | .sendTime(now.minusHours(2)).build(); |
| 250 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 251 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 251 | 252 | any(LocalDateTime.class), eq(100))) |
| 252 | - .thenReturn(listOf(activeMsg)); | |
| 253 | + .thenReturn(ListUtil.of(activeMsg)); | |
| 253 | 254 | |
| 254 | 255 | // 已退群:退群时间在窗口内(minId=0,minQuitTime 直接用 minSendTime) |
| 255 | 256 | LocalDateTime quitTime = now.minusDays(3); |
| ... | ... | @@ -259,14 +260,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 259 | 260 | .joinTime(now.minusDays(20)) |
| 260 | 261 | .quitTime(quitTime).build(); |
| 261 | 262 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 262 | - .thenReturn(listOf(quitMember)); | |
| 263 | + .thenReturn(ListUtil.of(quitMember)); | |
| 263 | 264 | |
| 264 | 265 | ImGroupMessageDO quitGroupMsg = ImGroupMessageDO.builder() |
| 265 | 266 | .id(3L).groupId(20L).senderId(99L) |
| 266 | 267 | .sendTime(now.minusDays(5)).build(); |
| 267 | 268 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(0L), |
| 268 | 269 | any(LocalDateTime.class), eq(quitTime), eq(100))) |
| 269 | - .thenReturn(listOf(quitGroupMsg)); | |
| 270 | + .thenReturn(ListUtil.of(quitGroupMsg)); | |
| 270 | 271 | |
| 271 | 272 | // 调用 |
| 272 | 273 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| ... | ... | @@ -281,14 +282,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 281 | 282 | public void testPullMessages_quitMemberFilteredByBoundarySendTime() { |
| 282 | 283 | // 准备:minId > 0,边界消息 sendTime 晚于窗口起点,应当被用作 minQuitTime |
| 283 | 284 | LocalDateTime now = LocalDateTime.now(); |
| 284 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf()); | |
| 285 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of()); | |
| 285 | 286 | |
| 286 | 287 | LocalDateTime boundarySendTime = now.minusDays(2); |
| 287 | 288 | ImGroupMessageDO boundary = ImGroupMessageDO.builder() |
| 288 | 289 | .id(8L).groupId(10L).senderId(2L).sendTime(boundarySendTime).build(); |
| 289 | 290 | when(groupMessageMapper.selectById(8L)).thenReturn(boundary); |
| 290 | 291 | when(groupMemberService.getQuitGroupMemberListByUserId(1L, boundarySendTime)) |
| 291 | - .thenReturn(listOf()); | |
| 292 | + .thenReturn(ListUtil.of()); | |
| 292 | 293 | |
| 293 | 294 | // 调用 |
| 294 | 295 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 8L, 100); |
| ... | ... | @@ -307,24 +308,24 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 307 | 308 | .groupId(10L).userId(1L) |
| 308 | 309 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 309 | 310 | .joinTime(joinTime).build(); |
| 310 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(activeMember)); | |
| 311 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(activeMember)); | |
| 311 | 312 | |
| 312 | 313 | ImGroupMessageDO beforeJoin = ImGroupMessageDO.builder() |
| 313 | 314 | .id(100L).groupId(10L).senderId(2L) |
| 314 | 315 | .sendTime(now.minusHours(3)).build(); |
| 315 | 316 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() |
| 316 | 317 | .id(101L).groupId(10L).senderId(2L) |
| 317 | - .receiverUserIds(listOf(2L, 3L)) | |
| 318 | + .receiverUserIds(ListUtil.of(2L, 3L)) | |
| 318 | 319 | .sendTime(now.minusMinutes(50)).build(); |
| 319 | 320 | ImGroupMessageDO visibleActiveMsg = ImGroupMessageDO.builder() |
| 320 | 321 | .id(102L).groupId(10L).senderId(2L) |
| 321 | 322 | .sendTime(now.minusMinutes(30)).build(); |
| 322 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(8L), | |
| 323 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(8L), | |
| 323 | 324 | any(LocalDateTime.class), eq(2))) |
| 324 | - .thenReturn(listOf(beforeJoin, directedMsg)); | |
| 325 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(101L), | |
| 325 | + .thenReturn(ListUtil.of(beforeJoin, directedMsg)); | |
| 326 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(101L), | |
| 326 | 327 | any(LocalDateTime.class), eq(2))) |
| 327 | - .thenReturn(listOf(visibleActiveMsg)); | |
| 328 | + .thenReturn(ListUtil.of(visibleActiveMsg)); | |
| 328 | 329 | |
| 329 | 330 | LocalDateTime boundarySendTime = now.minusDays(2); |
| 330 | 331 | ImGroupMessageDO boundary = ImGroupMessageDO.builder() |
| ... | ... | @@ -338,14 +339,14 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 338 | 339 | .joinTime(now.minusDays(10)) |
| 339 | 340 | .quitTime(quitTime).build(); |
| 340 | 341 | when(groupMemberService.getQuitGroupMemberListByUserId(1L, boundarySendTime)) |
| 341 | - .thenReturn(listOf(quitMember)); | |
| 342 | + .thenReturn(ListUtil.of(quitMember)); | |
| 342 | 343 | |
| 343 | 344 | ImGroupMessageDO quitGroupMsg = ImGroupMessageDO.builder() |
| 344 | 345 | .id(50L).groupId(20L).senderId(99L) |
| 345 | 346 | .sendTime(now.minusDays(1)).build(); |
| 346 | 347 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(8L), |
| 347 | 348 | any(LocalDateTime.class), eq(quitTime), eq(2))) |
| 348 | - .thenReturn(listOf(quitGroupMsg)); | |
| 349 | + .thenReturn(ListUtil.of(quitGroupMsg)); | |
| 349 | 350 | |
| 350 | 351 | // 调用 |
| 351 | 352 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 8L, 2); |
| ... | ... | @@ -354,9 +355,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 354 | 355 | assertEquals(2, result.size()); |
| 355 | 356 | assertEquals(50L, result.get(0).getId()); |
| 356 | 357 | assertEquals(102L, result.get(1).getId()); |
| 357 | - verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(8L), | |
| 358 | + verify(groupMessageMapper).selectListByMinId(eq(ListUtil.of(10L)), eq(8L), | |
| 358 | 359 | any(LocalDateTime.class), eq(2)); |
| 359 | - verify(groupMessageMapper).selectListByMinId(eq(listOf(10L)), eq(101L), | |
| 360 | + verify(groupMessageMapper).selectListByMinId(eq(ListUtil.of(10L)), eq(101L), | |
| 360 | 361 | any(LocalDateTime.class), eq(2)); |
| 361 | 362 | verify(groupMemberService).getQuitGroupMemberListByUserId(1L, boundarySendTime); |
| 362 | 363 | verify(groupMessageMapper).selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(8L), |
| ... | ... | @@ -373,22 +374,22 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 373 | 374 | .groupId(10L).userId(1L) |
| 374 | 375 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 375 | 376 | .joinTime(now.minusDays(10)).build(); |
| 376 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); | |
| 377 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(member)); | |
| 377 | 378 | |
| 378 | 379 | // 定向接收消息:只给用户 2 和 3 |
| 379 | 380 | ImGroupMessageDO directedMsg = ImGroupMessageDO.builder() |
| 380 | 381 | .id(1L).groupId(10L).senderId(5L) |
| 381 | - .receiverUserIds(listOf(2L, 3L)) | |
| 382 | + .receiverUserIds(ListUtil.of(2L, 3L)) | |
| 382 | 383 | .sendTime(now.minusHours(2)).build(); |
| 383 | 384 | // 全员消息 |
| 384 | 385 | ImGroupMessageDO allMsg = ImGroupMessageDO.builder() |
| 385 | 386 | .id(2L).groupId(10L).senderId(5L) |
| 386 | 387 | .sendTime(now.minusHours(1)).build(); |
| 387 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 388 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 388 | 389 | any(LocalDateTime.class), eq(100))) |
| 389 | - .thenReturn(listOf(directedMsg, allMsg)); | |
| 390 | + .thenReturn(ListUtil.of(directedMsg, allMsg)); | |
| 390 | 391 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 391 | - .thenReturn(listOf()); | |
| 392 | + .thenReturn(ListUtil.of()); | |
| 392 | 393 | |
| 393 | 394 | // 调用 |
| 394 | 395 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| ... | ... | @@ -406,24 +407,24 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 406 | 407 | .groupId(10L).userId(1L) |
| 407 | 408 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 408 | 409 | .joinTime(now.minusDays(10)).build(); |
| 409 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); | |
| 410 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(member)); | |
| 410 | 411 | |
| 411 | 412 | ImGroupMessageDO atMsg = ImGroupMessageDO.builder() |
| 412 | 413 | .id(1L).groupId(10L).senderId(2L) |
| 413 | - .atUserIds(listOf(1L, 3L)) | |
| 414 | + .atUserIds(ListUtil.of(1L, 3L)) | |
| 414 | 415 | .sendTime(now.minusHours(1)).build(); |
| 415 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 416 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 416 | 417 | any(LocalDateTime.class), eq(100))) |
| 417 | - .thenReturn(listOf(atMsg)); | |
| 418 | + .thenReturn(ListUtil.of(atMsg)); | |
| 418 | 419 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 419 | - .thenReturn(listOf()); | |
| 420 | + .thenReturn(ListUtil.of()); | |
| 420 | 421 | |
| 421 | 422 | // 调用 |
| 422 | 423 | List<ImGroupMessageDO> result = groupMessageService.pullGroupMessageList(1L, 0L, 100); |
| 423 | 424 | |
| 424 | 425 | // 断言:@ 字段正确返回 |
| 425 | 426 | assertEquals(1, result.size()); |
| 426 | - assertEquals(listOf(1L, 3L), result.get(0).getAtUserIds()); | |
| 427 | + assertEquals(ListUtil.of(1L, 3L), result.get(0).getAtUserIds()); | |
| 427 | 428 | } |
| 428 | 429 | |
| 429 | 430 | @Test |
| ... | ... | @@ -433,15 +434,15 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 433 | 434 | .groupId(10L).userId(1L) |
| 434 | 435 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 435 | 436 | .joinTime(now.minusDays(10)).build(); |
| 436 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(activeMember)); | |
| 437 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(activeMember)); | |
| 437 | 438 | |
| 438 | 439 | ImGroupMessageDO activeMsg1 = ImGroupMessageDO.builder() |
| 439 | 440 | .id(1000L).groupId(10L).senderId(2L).sendTime(now.minusHours(2)).build(); |
| 440 | 441 | ImGroupMessageDO activeMsg2 = ImGroupMessageDO.builder() |
| 441 | 442 | .id(2000L).groupId(10L).senderId(2L).sendTime(now.minusHours(1)).build(); |
| 442 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 443 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 443 | 444 | any(LocalDateTime.class), eq(2))) |
| 444 | - .thenReturn(listOf(activeMsg1, activeMsg2)); | |
| 445 | + .thenReturn(ListUtil.of(activeMsg1, activeMsg2)); | |
| 445 | 446 | |
| 446 | 447 | LocalDateTime quitTime = now.minusDays(1); |
| 447 | 448 | ImGroupMemberDO quitMember = ImGroupMemberDO.builder() |
| ... | ... | @@ -450,7 +451,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 450 | 451 | .joinTime(now.minusDays(20)) |
| 451 | 452 | .quitTime(quitTime).build(); |
| 452 | 453 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 453 | - .thenReturn(listOf(quitMember)); | |
| 454 | + .thenReturn(ListUtil.of(quitMember)); | |
| 454 | 455 | |
| 455 | 456 | ImGroupMessageDO quit1 = ImGroupMessageDO.builder() |
| 456 | 457 | .id(150L).groupId(20L).senderId(99L).sendTime(now.minusDays(5)).build(); |
| ... | ... | @@ -458,7 +459,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 458 | 459 | .id(160L).groupId(20L).senderId(99L).sendTime(now.minusDays(4)).build(); |
| 459 | 460 | when(groupMessageMapper.selectListByGroupIdAndMinIdAndQuitTimeBefore(eq(20L), eq(0L), |
| 460 | 461 | any(LocalDateTime.class), eq(quitTime), eq(2))) |
| 461 | - .thenReturn(listOf(quit1, quit2)); | |
| 462 | + .thenReturn(ListUtil.of(quit1, quit2)); | |
| 462 | 463 | |
| 463 | 464 | when(groupMessageReadRedisDAO.getReadMaxMessageId(anyLong(), eq(1L))).thenReturn(null); |
| 464 | 465 | |
| ... | ... | @@ -476,7 +477,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 476 | 477 | .groupId(10L).userId(1L) |
| 477 | 478 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 478 | 479 | .joinTime(now.minusDays(10)).build(); |
| 479 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); | |
| 480 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(member)); | |
| 480 | 481 | |
| 481 | 482 | ImGroupMessageDO low = ImGroupMessageDO.builder() |
| 482 | 483 | .id(5L).groupId(10L).senderId(2L).status(ImMessageStatusEnum.UNREAD.getStatus()) |
| ... | ... | @@ -484,11 +485,11 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 484 | 485 | ImGroupMessageDO high = ImGroupMessageDO.builder() |
| 485 | 486 | .id(10L).groupId(10L).senderId(2L).status(ImMessageStatusEnum.UNREAD.getStatus()) |
| 486 | 487 | .sendTime(now.minusHours(1)).build(); |
| 487 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 488 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 488 | 489 | any(LocalDateTime.class), eq(100))) |
| 489 | - .thenReturn(listOf(low, high)); | |
| 490 | + .thenReturn(ListUtil.of(low, high)); | |
| 490 | 491 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 491 | - .thenReturn(listOf()); | |
| 492 | + .thenReturn(ListUtil.of()); | |
| 492 | 493 | |
| 493 | 494 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(7L); |
| 494 | 495 | |
| ... | ... | @@ -506,18 +507,18 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 506 | 507 | .groupId(10L).userId(1L) |
| 507 | 508 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 508 | 509 | .joinTime(now.minusDays(10)).build(); |
| 509 | - when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(listOf(member)); | |
| 510 | + when(groupMemberService.getActiveGroupMemberListByUserId(1L)).thenReturn(ListUtil.of(member)); | |
| 510 | 511 | |
| 511 | 512 | ImGroupMessageDO receiptMsg = ImGroupMessageDO.builder() |
| 512 | 513 | .id(100L).groupId(10L).senderId(1L) |
| 513 | 514 | .status(ImMessageStatusEnum.UNREAD.getStatus()) |
| 514 | 515 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) |
| 515 | 516 | .sendTime(now.minusHours(1)).build(); |
| 516 | - when(groupMessageMapper.selectListByMinId(eq(listOf(10L)), eq(0L), | |
| 517 | + when(groupMessageMapper.selectListByMinId(eq(ListUtil.of(10L)), eq(0L), | |
| 517 | 518 | any(LocalDateTime.class), eq(100))) |
| 518 | - .thenReturn(listOf(receiptMsg)); | |
| 519 | + .thenReturn(ListUtil.of(receiptMsg)); | |
| 519 | 520 | when(groupMemberService.getQuitGroupMemberListByUserId(eq(1L), any(LocalDateTime.class))) |
| 520 | - .thenReturn(listOf()); | |
| 521 | + .thenReturn(ListUtil.of()); | |
| 521 | 522 | |
| 522 | 523 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(100L); |
| 523 | 524 | Map<Long, Long> positions = new HashMap<>(); |
| ... | ... | @@ -526,7 +527,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 526 | 527 | positions.put(3L, 50L); |
| 527 | 528 | when(groupMessageReadRedisDAO.getReadMaxMessageIdMap(10L)).thenReturn(positions); |
| 528 | 529 | |
| 529 | - List<ImGroupMemberDO> allMembers = listOf( | |
| 530 | + List<ImGroupMemberDO> allMembers = ListUtil.of( | |
| 530 | 531 | member, |
| 531 | 532 | ImGroupMemberDO.builder().groupId(10L).userId(2L) |
| 532 | 533 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| ... | ... | @@ -565,7 +566,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 565 | 566 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenReturn(1); |
| 566 | 567 | |
| 567 | 568 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 568 | - .thenReturn(listOf(1L, 2L)); | |
| 569 | + .thenReturn(ListUtil.of(1L, 2L)); | |
| 569 | 570 | |
| 570 | 571 | // 调用 |
| 571 | 572 | ImGroupMessageDO result = groupMessageService.recallGroupMessage(1L, 50L); |
| ... | ... | @@ -670,7 +671,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 670 | 671 | // 用户 2: 正常,入群在消息之前 |
| 671 | 672 | // 用户 3: 正常,但入群在消息之后 → 不可见 |
| 672 | 673 | // 用户 5: 发送者,不计入回执 |
| 673 | - List<ImGroupMemberDO> allMembers = listOf( | |
| 674 | + List<ImGroupMemberDO> allMembers = ListUtil.of( | |
| 674 | 675 | currentMember, |
| 675 | 676 | ImGroupMemberDO.builder().groupId(10L).userId(1L) |
| 676 | 677 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| ... | ... | @@ -740,7 +741,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 740 | 741 | ImGroupMemberDO member = ImGroupMemberDO.builder() |
| 741 | 742 | .groupId(10L).userId(1L).status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 742 | 743 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); |
| 743 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L)); | |
| 744 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(ListUtil.of(1L)); | |
| 744 | 745 | when(groupMessageMapper.insert(any(ImGroupMessageDO.class))).thenReturn(1); |
| 745 | 746 | |
| 746 | 747 | // 调用 |
| ... | ... | @@ -822,7 +823,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 822 | 823 | .id(100L).groupId(10L).senderId(2L).sendTime(LocalDateTime.now()).build()); |
| 823 | 824 | when(groupMessageReadRedisDAO.getReadMaxMessageId(10L, 1L)).thenReturn(5L); |
| 824 | 825 | // readGroupMessageEvent 内部会调 selectListByGroupIdAndPendingReceipt → 返回空简化流程 |
| 825 | - when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 5L, 100L)).thenReturn(listOf()); | |
| 826 | + when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 5L, 100L)).thenReturn(ListUtil.of()); | |
| 826 | 827 | |
| 827 | 828 | // 调用 |
| 828 | 829 | groupMessageService.readGroupMessages(1L, 10L, 100L); |
| ... | ... | @@ -876,7 +877,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 876 | 877 | ImGroupMemberDO member = ImGroupMemberDO.builder() |
| 877 | 878 | .groupId(10L).userId(1L).status(CommonStatusEnum.ENABLE.getStatus()).build(); |
| 878 | 879 | when(groupMemberService.validateMemberInGroup(10L, 1L)).thenReturn(member); |
| 879 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L, 2L)); | |
| 880 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(ListUtil.of(1L, 2L)); | |
| 880 | 881 | |
| 881 | 882 | ImGroupMessageDO result = groupMessageService.sendGroupMessage(1L, reqVO); |
| 882 | 883 | |
| ... | ... | @@ -933,8 +934,8 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 933 | 934 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) |
| 934 | 935 | .status(ImMessageStatusEnum.UNREAD.getStatus()).build(); |
| 935 | 936 | when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 0L, 100L)) |
| 936 | - .thenReturn(listOf(pending)); | |
| 937 | - List<ImGroupMemberDO> activeMembers = listOf( | |
| 937 | + .thenReturn(ListUtil.of(pending)); | |
| 938 | + List<ImGroupMemberDO> activeMembers = ListUtil.of( | |
| 938 | 939 | ImGroupMemberDO.builder().groupId(10L).userId(5L) |
| 939 | 940 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 940 | 941 | .joinTime(LocalDateTime.now().minusDays(10)).build(), |
| ... | ... | @@ -972,8 +973,8 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 972 | 973 | .receiptStatus(ImGroupMessageReceiptStatusEnum.PENDING.getStatus()) |
| 973 | 974 | .status(ImMessageStatusEnum.UNREAD.getStatus()).build(); |
| 974 | 975 | when(groupMessageMapper.selectListByGroupIdAndPendingReceipt(10L, 0L, 100L)) |
| 975 | - .thenReturn(listOf(pending)); | |
| 976 | - List<ImGroupMemberDO> activeMembers = listOf( | |
| 976 | + .thenReturn(ListUtil.of(pending)); | |
| 977 | + List<ImGroupMemberDO> activeMembers = ListUtil.of( | |
| 977 | 978 | ImGroupMemberDO.builder().groupId(10L).userId(5L) |
| 978 | 979 | .status(CommonStatusEnum.ENABLE.getStatus()) |
| 979 | 980 | .joinTime(LocalDateTime.now().minusDays(10)).build(), |
| ... | ... | @@ -1007,7 +1008,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1007 | 1008 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1008 | 1009 | .setContent("{\"messageId\":1}"); |
| 1009 | 1010 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 1010 | - .thenReturn(listOf(1L, 2L, 3L, 4L)); | |
| 1011 | + .thenReturn(ListUtil.of(1L, 2L, 3L, 4L)); | |
| 1011 | 1012 | |
| 1012 | 1013 | groupMessageService.sendGroupMessage(1L, dto); |
| 1013 | 1014 | |
| ... | ... | @@ -1024,9 +1025,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1024 | 1025 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1025 | 1026 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1026 | 1027 | .setContent("{\"messageId\":1}") |
| 1027 | - .setReceiverUserIds(listOf(2L, 3L)); | |
| 1028 | + .setReceiverUserIds(ListUtil.of(2L, 3L)); | |
| 1028 | 1029 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 1029 | - .thenReturn(listOf(1L, 2L, 3L, 4L)); | |
| 1030 | + .thenReturn(ListUtil.of(1L, 2L, 3L, 4L)); | |
| 1030 | 1031 | |
| 1031 | 1032 | groupMessageService.sendGroupMessage(1L, dto); |
| 1032 | 1033 | |
| ... | ... | @@ -1043,9 +1044,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1043 | 1044 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1044 | 1045 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1045 | 1046 | .setContent("{\"messageId\":1}") |
| 1046 | - .setReceiverUserIds(listOf(2L, 3L)); | |
| 1047 | + .setReceiverUserIds(ListUtil.of(2L, 3L)); | |
| 1047 | 1048 | when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)) |
| 1048 | - .thenReturn(listOf(1L, 2L, 3L, 4L)); | |
| 1049 | + .thenReturn(ListUtil.of(1L, 2L, 3L, 4L)); | |
| 1049 | 1050 | |
| 1050 | 1051 | groupMessageService.sendGroupMessage(99L, dto); |
| 1051 | 1052 | |
| ... | ... | @@ -1062,7 +1063,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1062 | 1063 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1063 | 1064 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1064 | 1065 | .setContent(new RecallMessage().setMessageId(50L)); |
| 1065 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L)); | |
| 1066 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(ListUtil.of(1L)); | |
| 1066 | 1067 | |
| 1067 | 1068 | groupMessageService.sendGroupMessage(1L, dto); |
| 1068 | 1069 | |
| ... | ... | @@ -1086,7 +1087,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1086 | 1087 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1087 | 1088 | .setGroupId(10L).setType(ImMessageTypeEnum.RECALL.getType()) |
| 1088 | 1089 | .setContent("{\"messageId\":50}").setReceipt(true); |
| 1089 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L)); | |
| 1090 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(ListUtil.of(1L)); | |
| 1090 | 1091 | |
| 1091 | 1092 | groupMessageService.sendGroupMessage(1L, dto); |
| 1092 | 1093 | |
| ... | ... | @@ -1100,7 +1101,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1100 | 1101 | // 准备:persistent=false 类型(RECEIPT 回执)→ 不入库,仅推送 |
| 1101 | 1102 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1102 | 1103 | .setGroupId(10L).setType(ImMessageTypeEnum.RECEIPT.getType()); |
| 1103 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(listOf(1L, 2L)); | |
| 1104 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(10L)).thenReturn(ListUtil.of(1L, 2L)); | |
| 1104 | 1105 | |
| 1105 | 1106 | groupMessageService.sendGroupMessage(1L, dto); |
| 1106 | 1107 | |
| ... | ... | @@ -1111,7 +1112,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1111 | 1112 | @Test |
| 1112 | 1113 | public void testSendGroupMessage_threeArg_explicitTargetsBypassActiveMembers() { |
| 1113 | 1114 | // 准备:调用方传入显式 targets(解散场景成员已被批量 DISABLE,必须按移除前快照推送) |
| 1114 | - Set<Long> targets = setOf(1L, 2L, 3L); | |
| 1115 | + Set<Long> targets = CollUtil.newHashSet(1L, 2L, 3L); | |
| 1115 | 1116 | ImGroupMessageSendDTO dto = new ImGroupMessageSendDTO() |
| 1116 | 1117 | .setGroupId(10L).setType(ImMessageTypeEnum.GROUP_DISSOLVE.getType()).setContent("{}"); |
| 1117 | 1118 | |
| ... | ... | @@ -1139,7 +1140,7 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1139 | 1140 | reqVO.setMaxId(100L); |
| 1140 | 1141 | reqVO.setLimit(20); |
| 1141 | 1142 | |
| 1142 | - List<ImGroupMessageDO> mockList = listOf( | |
| 1143 | + List<ImGroupMessageDO> mockList = ListUtil.of( | |
| 1143 | 1144 | ImGroupMessageDO.builder().id(99L).groupId(10L).senderId(2L) |
| 1144 | 1145 | .sendTime(joinTime.plusMinutes(1)).build() |
| 1145 | 1146 | ); |
| ... | ... | @@ -1182,9 +1183,9 @@ public class ImGroupMessageServiceImplTest extends BaseMockitoUnitTest { |
| 1182 | 1183 | |
| 1183 | 1184 | @Test |
| 1184 | 1185 | public void testDeleteReadMaxMessageIds_delegatesToRedis() { |
| 1185 | - groupMessageService.deleteReadMaxMessageIds(10L, listOf(1L, 2L)); | |
| 1186 | + groupMessageService.deleteReadMaxMessageIds(10L, ListUtil.of(1L, 2L)); | |
| 1186 | 1187 | |
| 1187 | - verify(groupMessageReadRedisDAO).deleteReadMaxMessageIds(10L, listOf(1L, 2L)); | |
| 1188 | + verify(groupMessageReadRedisDAO).deleteReadMaxMessageIds(10L, ListUtil.of(1L, 2L)); | |
| 1188 | 1189 | } |
| 1189 | 1190 | |
| 1190 | 1191 | @Test | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/message/ImPrivateMessageServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.message; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 4 | 5 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| 5 | 6 | import cn.iocoder.yudao.module.im.controller.admin.message.vo.privates.ImPrivateMessageListReqVO; |
| ... | ... | @@ -25,7 +26,6 @@ import java.time.LocalDateTime; |
| 25 | 26 | import java.util.List; |
| 26 | 27 | |
| 27 | 28 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*; |
| 28 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 29 | 29 | import static org.junit.jupiter.api.Assertions.*; |
| 30 | 30 | import static org.mockito.ArgumentMatchers.*; |
| 31 | 31 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -136,7 +136,7 @@ public class ImPrivateMessageServiceImplTest extends BaseMockitoUnitTest { |
| 136 | 136 | @Test |
| 137 | 137 | public void testPullMessages_success() { |
| 138 | 138 | // 准备 |
| 139 | - List<ImPrivateMessageDO> mockMessages = listOf( | |
| 139 | + List<ImPrivateMessageDO> mockMessages = ListUtil.of( | |
| 140 | 140 | ImPrivateMessageDO.builder().id(1L).senderId(1L).receiverId(2L).build(), |
| 141 | 141 | ImPrivateMessageDO.builder().id(2L).senderId(2L).receiverId(1L).build() |
| 142 | 142 | ); |
| ... | ... | @@ -416,7 +416,7 @@ public class ImPrivateMessageServiceImplTest extends BaseMockitoUnitTest { |
| 416 | 416 | reqVO.setReceiverId(2L); |
| 417 | 417 | reqVO.setMaxId(100L); |
| 418 | 418 | reqVO.setLimit(20); |
| 419 | - List<ImPrivateMessageDO> mockList = listOf( | |
| 419 | + List<ImPrivateMessageDO> mockList = ListUtil.of( | |
| 420 | 420 | ImPrivateMessageDO.builder().id(99L).senderId(1L).receiverId(2L).build(), |
| 421 | 421 | ImPrivateMessageDO.builder().id(98L).senderId(2L).receiverId(1L).build() |
| 422 | 422 | ); | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/rtc/ImRtcCallServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.rtc; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 4 | +import cn.hutool.core.collection.ListUtil; | |
| 5 | +import cn.hutool.core.map.MapUtil; | |
| 3 | 6 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 4 | 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| 5 | 8 | import cn.iocoder.yudao.module.im.controller.admin.rtc.vo.ImRtcCallCreateReqVO; |
| ... | ... | @@ -37,7 +40,6 @@ import java.util.concurrent.Callable; |
| 37 | 40 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_GROUP_INVITEE_OVER_LIMIT; |
| 38 | 41 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_GROUP_INVITEE_REQUIRED; |
| 39 | 42 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_SELF_BUSY; |
| 40 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 41 | 43 | import static org.junit.jupiter.api.Assertions.*; |
| 42 | 44 | import static org.mockito.ArgumentMatchers.*; |
| 43 | 45 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -104,8 +106,8 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { |
| 104 | 106 | // 准备:候选非空但每个 CAS 都失败(并发已变状态) |
| 105 | 107 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); |
| 106 | 108 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) |
| 107 | - .thenReturn(listOf(p)); | |
| 108 | - when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(100L, buildUser(100L))); | |
| 109 | + .thenReturn(ListUtil.of(p)); | |
| 110 | + when(adminUserApi.getUserMap(anySet())).thenReturn(MapUtil.of(100L, buildUser(100L))); | |
| 109 | 111 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 110 | 112 | .thenReturn(0); |
| 111 | 113 | |
| ... | ... | @@ -123,15 +125,15 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { |
| 123 | 125 | // 准备:群通话单候选 CAS 成功;shouldCloseGroupRoom 通过 selectListByRoom 多 JOINED 让其返 false,跳过 endSession |
| 124 | 126 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); |
| 125 | 127 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) |
| 126 | - .thenReturn(listOf(p)); | |
| 127 | - when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(100L, buildUser(100L))); | |
| 128 | + .thenReturn(ListUtil.of(p)); | |
| 129 | + when(adminUserApi.getUserMap(anySet())).thenReturn(MapUtil.of(100L, buildUser(100L))); | |
| 128 | 130 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 129 | 131 | .thenReturn(1); |
| 130 | 132 | ImRtcCallDO call = buildCall("r1", 200L, ImConversationTypeEnum.GROUP, 999L); |
| 131 | 133 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(call); |
| 132 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(listOf(200L, 201L)); | |
| 134 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(ListUtil.of(200L, 201L)); | |
| 133 | 135 | // 房内 2 个 JOINED + 1 个 INVITING → shouldCloseGroupRoom 返 false |
| 134 | - when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(listOf( | |
| 136 | + when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(ListUtil.of( | |
| 135 | 137 | buildParticipant(20L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), |
| 136 | 138 | buildParticipant(21L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED), |
| 137 | 139 | buildParticipant(22L, "r1", 202L, ImRtcParticipantStatusEnum.INVITING) |
| ... | ... | @@ -151,8 +153,8 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { |
| 151 | 153 | // 准备:CAS 成功后通话主表缺失(异常兜底场景) |
| 152 | 154 | ImRtcParticipantDO p = buildParticipant(10L, "r1", 100L, ImRtcParticipantStatusEnum.INVITING); |
| 153 | 155 | when(rtcParticipantMapper.selectListByStatusAndInviteTimeBefore(any(), any())) |
| 154 | - .thenReturn(listOf(p)); | |
| 155 | - when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(100L, buildUser(100L))); | |
| 156 | + .thenReturn(ListUtil.of(p)); | |
| 157 | + when(adminUserApi.getUserMap(anySet())).thenReturn(MapUtil.of(100L, buildUser(100L))); | |
| 156 | 158 | when(rtcParticipantMapper.updateByIdAndStatus(eq(10L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 157 | 159 | .thenReturn(1); |
| 158 | 160 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(null); |
| ... | ... | @@ -220,15 +222,15 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { |
| 220 | 222 | ImRtcParticipantDO timeoutTarget = buildParticipant(11L, "r1", 101L, ImRtcParticipantStatusEnum.INVITING); |
| 221 | 223 | when(rtcParticipantMapper.selectListByRoomAndStatusAndInviteTimeBefore( |
| 222 | 224 | eq("r1"), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 223 | - .thenReturn(listOf(timeoutTarget)); | |
| 224 | - when(adminUserApi.getUserMap(anySet())).thenReturn(mapOf(101L, buildUser(101L))); | |
| 225 | + .thenReturn(ListUtil.of(timeoutTarget)); | |
| 226 | + when(adminUserApi.getUserMap(anySet())).thenReturn(MapUtil.of(101L, buildUser(101L))); | |
| 225 | 227 | when(rtcParticipantMapper.updateByIdAndStatus(eq(11L), eq(ImRtcParticipantStatusEnum.INVITING.getStatus()), any())) |
| 226 | 228 | .thenReturn(1); |
| 227 | 229 | ImRtcCallDO call = buildCall("r1", 200L, ImConversationTypeEnum.GROUP, 999L); |
| 228 | 230 | when(rtcCallMapper.selectByRoom("r1")).thenReturn(call); |
| 229 | - when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(listOf(200L, 201L)); | |
| 231 | + when(groupMemberService.getActiveGroupMemberUserIdsByGroupId(999L)).thenReturn(ListUtil.of(200L, 201L)); | |
| 230 | 232 | // 让 shouldCloseGroupRoom 返 false |
| 231 | - when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(listOf( | |
| 233 | + when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(ListUtil.of( | |
| 232 | 234 | buildParticipant(20L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), |
| 233 | 235 | buildParticipant(21L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED) |
| 234 | 236 | )); |
| ... | ... | @@ -254,7 +256,7 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { |
| 254 | 256 | ImRtcCallCreateReqVO reqVO = new ImRtcCallCreateReqVO(); |
| 255 | 257 | reqVO.setConversationType(ImConversationTypeEnum.GROUP.getType()); |
| 256 | 258 | reqVO.setGroupId(10L); |
| 257 | - reqVO.setInviteeIds(setOf(100L)); | |
| 259 | + reqVO.setInviteeIds(CollUtil.newHashSet(100L)); | |
| 258 | 260 | |
| 259 | 261 | ServiceException exception = assertThrows(ServiceException.class, |
| 260 | 262 | () -> rtcCallService.createCall(100L, reqVO)); |
| ... | ... | @@ -336,14 +338,14 @@ public class ImRtcCallServiceImplTest extends BaseMockitoUnitTest { |
| 336 | 338 | Callable<Void> callable = invocation.getArgument(1); |
| 337 | 339 | return callable.call(); |
| 338 | 340 | }); |
| 339 | - when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(listOf( | |
| 341 | + when(rtcParticipantMapper.selectListByRoom("r1")).thenReturn(ListUtil.of( | |
| 340 | 342 | buildParticipant(10L, "r1", 200L, ImRtcParticipantStatusEnum.JOINED), |
| 341 | 343 | buildParticipant(11L, "r1", 201L, ImRtcParticipantStatusEnum.JOINED), |
| 342 | 344 | buildParticipant(12L, "r1", 202L, ImRtcParticipantStatusEnum.INVITING) |
| 343 | 345 | )); |
| 344 | 346 | ImRtcCallInviteReqVO reqVO = new ImRtcCallInviteReqVO(); |
| 345 | 347 | reqVO.setRoom("r1"); |
| 346 | - reqVO.setInviteeIds(setOf(203L)); | |
| 348 | + reqVO.setInviteeIds(CollUtil.newHashSet(203L)); | |
| 347 | 349 | |
| 348 | 350 | ServiceException exception = assertThrows(ServiceException.class, |
| 349 | 351 | () -> rtcCallService.inviteCall(200L, reqVO)); | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/sensitiveword/ImSensitiveWordServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.sensitiveword; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.exception.ServiceException; |
| 5 | 6 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| ... | ... | @@ -19,7 +20,6 @@ import java.util.List; |
| 19 | 20 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.MESSAGE_SENSITIVE_WORD_BLOCKED; |
| 20 | 21 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.SENSITIVE_WORD_DUPLICATED; |
| 21 | 22 | import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.SENSITIVE_WORD_NOT_EXISTS; |
| 22 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 23 | 23 | import static org.junit.jupiter.api.Assertions.*; |
| 24 | 24 | import static org.mockito.Mockito.*; |
| 25 | 25 | |
| ... | ... | @@ -45,7 +45,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { |
| 45 | 45 | // mock 启用敏感词列表;LoadingCache 在首次 validateText 时懒加载,无需主动 init |
| 46 | 46 | // 用 lenient 避免 null / empty 等不触发 cache load 的用例报 UnnecessaryStubbing |
| 47 | 47 | lenient().when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 48 | - .thenReturn(listOf( | |
| 48 | + .thenReturn(ListUtil.of( | |
| 49 | 49 | ImSensitiveWordDO.builder().id(1L).word("badword") |
| 50 | 50 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 51 | 51 | ImSensitiveWordDO.builder().id(2L).word("违禁词") |
| ... | ... | @@ -119,7 +119,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { |
| 119 | 119 | |
| 120 | 120 | // 准备:mapper 返回新词库(额外多一个 newbad),并让 createSensitiveWord 走通 |
| 121 | 121 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 122 | - .thenReturn(listOf( | |
| 122 | + .thenReturn(ListUtil.of( | |
| 123 | 123 | ImSensitiveWordDO.builder().id(1L).word("badword") |
| 124 | 124 | .status(CommonStatusEnum.ENABLE.getStatus()).build(), |
| 125 | 125 | ImSensitiveWordDO.builder().id(2L).word("违禁词") |
| ... | ... | @@ -179,7 +179,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { |
| 179 | 179 | when(imSensitiveWordMapper.selectByWord("updatedbad")).thenReturn(null); |
| 180 | 180 | // 准备:reload 时返回新词库 |
| 181 | 181 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 182 | - .thenReturn(listOf( | |
| 182 | + .thenReturn(ListUtil.of( | |
| 183 | 183 | ImSensitiveWordDO.builder().id(1L).word("updatedbad") |
| 184 | 184 | .status(CommonStatusEnum.ENABLE.getStatus()).build() |
| 185 | 185 | )); |
| ... | ... | @@ -212,7 +212,7 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { |
| 212 | 212 | .status(CommonStatusEnum.ENABLE.getStatus()).build()); |
| 213 | 213 | // 准备:reload 时返回剩余词库(只剩中文那条) |
| 214 | 214 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 215 | - .thenReturn(listOf( | |
| 215 | + .thenReturn(ListUtil.of( | |
| 216 | 216 | ImSensitiveWordDO.builder().id(2L).word("违禁词") |
| 217 | 217 | .status(CommonStatusEnum.ENABLE.getStatus()).build() |
| 218 | 218 | )); |
| ... | ... | @@ -252,24 +252,24 @@ public class ImSensitiveWordServiceImplTest extends BaseMockitoUnitTest { |
| 252 | 252 | |
| 253 | 253 | // 准备:reload 时返回空词库 |
| 254 | 254 | when(imSensitiveWordMapper.selectListByStatus(CommonStatusEnum.ENABLE.getStatus())) |
| 255 | - .thenReturn(listOf()); | |
| 255 | + .thenReturn(ListUtil.of()); | |
| 256 | 256 | |
| 257 | 257 | // 调用:批量删除,触发 invalidate |
| 258 | - sensitiveWordService.deleteSensitiveWordList(listOf(1L, 2L)); | |
| 258 | + sensitiveWordService.deleteSensitiveWordList(ListUtil.of(1L, 2L)); | |
| 259 | 259 | |
| 260 | 260 | // 调用 + 断言:所有词都不再命中 |
| 261 | 261 | assertDoesNotThrow(() -> sensitiveWordService.validateText("contains badword here")); |
| 262 | 262 | assertDoesNotThrow(() -> sensitiveWordService.validateText("这条消息里有违禁词哦")); |
| 263 | 263 | |
| 264 | 264 | // 断言:deleteByIds 被调用 1 次;selectListByStatus 共 2 次 |
| 265 | - verify(imSensitiveWordMapper, times(1)).deleteByIds(listOf(1L, 2L)); | |
| 265 | + verify(imSensitiveWordMapper, times(1)).deleteByIds(ListUtil.of(1L, 2L)); | |
| 266 | 266 | verify(imSensitiveWordMapper, times(2)).selectListByStatus(CommonStatusEnum.ENABLE.getStatus()); |
| 267 | 267 | } |
| 268 | 268 | |
| 269 | 269 | @Test |
| 270 | 270 | public void testDeleteSensitiveWordList_emptyIds_skip() { |
| 271 | 271 | // 调用:空列表直接返回 |
| 272 | - sensitiveWordService.deleteSensitiveWordList(listOf()); | |
| 272 | + sensitiveWordService.deleteSensitiveWordList(ListUtil.of()); | |
| 273 | 273 | |
| 274 | 274 | // 断言:mapper 不被调用 |
| 275 | 275 | verify(imSensitiveWordMapper, never()).deleteByIds(anyList()); | ... | ... |
yudao-module-im/src/test/java/cn/iocoder/yudao/module/im/service/websocket/ImWebSocketServiceImplTest.java
| 1 | 1 | package cn.iocoder.yudao.module.im.service.websocket; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.ListUtil; | |
| 3 | 4 | import cn.hutool.extra.spring.SpringUtil; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 5 | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| ... | ... | @@ -18,7 +19,6 @@ import java.util.Arrays; |
| 18 | 19 | import java.util.Collections; |
| 19 | 20 | import java.util.List; |
| 20 | 21 | |
| 21 | -import static cn.iocoder.yudao.module.im.util.ImTestCollectionUtils.*; | |
| 22 | 22 | import static org.junit.jupiter.api.Assertions.assertEquals; |
| 23 | 23 | import static org.mockito.ArgumentMatchers.eq; |
| 24 | 24 | import static org.mockito.Mockito.*; |
| ... | ... | @@ -108,7 +108,7 @@ public class ImWebSocketServiceImplTest extends BaseMockitoUnitTest { |
| 108 | 108 | dto.setGroupId(10L); |
| 109 | 109 | dto.setSenderId(1L); |
| 110 | 110 | |
| 111 | - imWebSocketService.sendGroupMessageAsync(listOf(1L, 2L, 3L), dto); | |
| 111 | + imWebSocketService.sendGroupMessageAsync(ListUtil.of(1L, 2L, 3L), dto); | |
| 112 | 112 | |
| 113 | 113 | verify(webSocketMessageSender).sendObject( |
| 114 | 114 | eq(UserTypeEnum.ADMIN.getValue()), eq(1L), eq(ImGroupMessageDTO.TYPE), eq(dto)); |
| ... | ... | @@ -131,7 +131,7 @@ public class ImWebSocketServiceImplTest extends BaseMockitoUnitTest { |
| 131 | 131 | doThrow(new RuntimeException("user offline")) |
| 132 | 132 | .when(webSocketMessageSender).sendObject(anyInt(), eq(1L), anyString(), any()); |
| 133 | 133 | |
| 134 | - imWebSocketService.sendGroupMessageAsync(listOf(1L, 2L, 3L), dto); | |
| 134 | + imWebSocketService.sendGroupMessageAsync(ListUtil.of(1L, 2L, 3L), dto); | |
| 135 | 135 | |
| 136 | 136 | // 2L 和 3L 也都被推送 |
| 137 | 137 | verify(webSocketMessageSender).sendObject(anyInt(), eq(2L), anyString(), any()); | ... | ... |