Commit 97fd7a7187d916cd1f16a3e200b18213f3e4a046
1 parent
d7f86afd
完善 SmsChannelServiceImpl 单元测试
Showing
4 changed files
with
44 additions
and
41 deletions
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.java
| @@ -70,7 +70,7 @@ public class SmsChannelController { | @@ -70,7 +70,7 @@ public class SmsChannelController { | ||
| 70 | 70 | ||
| 71 | @GetMapping("/list-all-simple") | 71 | @GetMapping("/list-all-simple") |
| 72 | @ApiOperation(value = "获得短信渠道精简列表", notes = "包含被禁用的短信渠道") | 72 | @ApiOperation(value = "获得短信渠道精简列表", notes = "包含被禁用的短信渠道") |
| 73 | - public CommonResult<List<SmsChannelSimpleRespVO>> getSimpleSmsChannels() { | 73 | + public CommonResult<List<SmsChannelSimpleRespVO>> getSimpleSmsChannelList() { |
| 74 | List<SmsChannelDO> list = smsChannelService.getSmsChannelList(); | 74 | List<SmsChannelDO> list = smsChannelService.getSmsChannelList(); |
| 75 | // 排序后,返回给前端 | 75 | // 排序后,返回给前端 |
| 76 | list.sort(Comparator.comparing(SmsChannelDO::getId)); | 76 | list.sort(Comparator.comparing(SmsChannelDO::getId)); |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelService.java
| 1 | package cn.iocoder.yudao.module.system.service.sms; | 1 | package cn.iocoder.yudao.module.system.service.sms; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO; |
| 7 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO; |
| 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO; | ||
| 8 | 8 | ||
| 9 | import javax.validation.Valid; | 9 | import javax.validation.Valid; |
| 10 | -import java.util.Collection; | ||
| 11 | import java.util.List; | 10 | import java.util.List; |
| 12 | 11 | ||
| 13 | /** | 12 | /** |
| @@ -54,14 +53,6 @@ public interface SmsChannelService { | @@ -54,14 +53,6 @@ public interface SmsChannelService { | ||
| 54 | SmsChannelDO getSmsChannel(Long id); | 53 | SmsChannelDO getSmsChannel(Long id); |
| 55 | 54 | ||
| 56 | /** | 55 | /** |
| 57 | - * 获得短信渠道列表 | ||
| 58 | - * | ||
| 59 | - * @param ids 编号 | ||
| 60 | - * @return 短信渠道列表 | ||
| 61 | - */ | ||
| 62 | - List<SmsChannelDO> getSmsChannelList(Collection<Long> ids); | ||
| 63 | - | ||
| 64 | - /** | ||
| 65 | * 获得所有短信渠道列表 | 56 | * 获得所有短信渠道列表 |
| 66 | * | 57 | * |
| 67 | * @return 短信渠道列表 | 58 | * @return 短信渠道列表 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceImpl.java
| @@ -15,7 +15,6 @@ import org.springframework.stereotype.Service; | @@ -15,7 +15,6 @@ import org.springframework.stereotype.Service; | ||
| 15 | 15 | ||
| 16 | import javax.annotation.PostConstruct; | 16 | import javax.annotation.PostConstruct; |
| 17 | import javax.annotation.Resource; | 17 | import javax.annotation.Resource; |
| 18 | -import java.util.Collection; | ||
| 19 | import java.util.List; | 18 | import java.util.List; |
| 20 | 19 | ||
| 21 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 20 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| @@ -103,11 +102,6 @@ public class SmsChannelServiceImpl implements SmsChannelService { | @@ -103,11 +102,6 @@ public class SmsChannelServiceImpl implements SmsChannelService { | ||
| 103 | } | 102 | } |
| 104 | 103 | ||
| 105 | @Override | 104 | @Override |
| 106 | - public List<SmsChannelDO> getSmsChannelList(Collection<Long> ids) { | ||
| 107 | - return smsChannelMapper.selectBatchIds(ids); | ||
| 108 | - } | ||
| 109 | - | ||
| 110 | - @Override | ||
| 111 | public List<SmsChannelDO> getSmsChannelList() { | 105 | public List<SmsChannelDO> getSmsChannelList() { |
| 112 | return smsChannelMapper.selectList(); | 106 | return smsChannelMapper.selectList(); |
| 113 | } | 107 | } |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceTest.java
| @@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.sms; | @@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.sms; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | -import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | ||
| 6 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | ||
| 7 | import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory; | 5 | import cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory; |
| 8 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | 6 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; |
| 9 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; | 7 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO; |
| @@ -17,11 +15,12 @@ import org.springframework.boot.test.mock.mockito.MockBean; | @@ -17,11 +15,12 @@ import org.springframework.boot.test.mock.mockito.MockBean; | ||
| 17 | import org.springframework.context.annotation.Import; | 15 | import org.springframework.context.annotation.Import; |
| 18 | 16 | ||
| 19 | import javax.annotation.Resource; | 17 | import javax.annotation.Resource; |
| 20 | -import java.time.LocalDateTime; | ||
| 21 | -import java.util.function.Consumer; | ||
| 22 | 18 | ||
| 23 | -import static cn.hutool.core.util.RandomUtil.randomEle; | 19 | +import java.util.List; |
| 20 | + | ||
| 21 | +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; | ||
| 24 | import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; | 22 | import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildTime; |
| 23 | +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; | ||
| 25 | import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; | 24 | import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; |
| 26 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | 25 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; |
| 27 | import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN; | 26 | import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SMS_CHANNEL_HAS_CHILDREN; |
| @@ -49,9 +48,9 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -49,9 +48,9 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 49 | @Test | 48 | @Test |
| 50 | public void testInitLocalCache_success() { | 49 | public void testInitLocalCache_success() { |
| 51 | // mock 数据 | 50 | // mock 数据 |
| 52 | - SmsChannelDO smsChannelDO01 = randomSmsChannelDO(); | 51 | + SmsChannelDO smsChannelDO01 = randomPojo(SmsChannelDO.class); |
| 53 | smsChannelMapper.insert(smsChannelDO01); | 52 | smsChannelMapper.insert(smsChannelDO01); |
| 54 | - SmsChannelDO smsChannelDO02 = randomSmsChannelDO(); | 53 | + SmsChannelDO smsChannelDO02 = randomPojo(SmsChannelDO.class); |
| 55 | smsChannelMapper.insert(smsChannelDO02); | 54 | smsChannelMapper.insert(smsChannelDO02); |
| 56 | 55 | ||
| 57 | // 调用 | 56 | // 调用 |
| @@ -82,7 +81,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -82,7 +81,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 82 | @Test | 81 | @Test |
| 83 | public void testUpdateSmsChannel_success() { | 82 | public void testUpdateSmsChannel_success() { |
| 84 | // mock 数据 | 83 | // mock 数据 |
| 85 | - SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | 84 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); |
| 86 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 | 85 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 |
| 87 | // 准备参数 | 86 | // 准备参数 |
| 88 | SmsChannelUpdateReqVO reqVO = randomPojo(SmsChannelUpdateReqVO.class, o -> { | 87 | SmsChannelUpdateReqVO reqVO = randomPojo(SmsChannelUpdateReqVO.class, o -> { |
| @@ -112,7 +111,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -112,7 +111,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 112 | @Test | 111 | @Test |
| 113 | public void testDeleteSmsChannel_success() { | 112 | public void testDeleteSmsChannel_success() { |
| 114 | // mock 数据 | 113 | // mock 数据 |
| 115 | - SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | 114 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); |
| 116 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 | 115 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 |
| 117 | // 准备参数 | 116 | // 准备参数 |
| 118 | Long id = dbSmsChannel.getId(); | 117 | Long id = dbSmsChannel.getId(); |
| @@ -137,7 +136,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -137,7 +136,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 137 | @Test | 136 | @Test |
| 138 | public void testDeleteSmsChannel_hasChildren() { | 137 | public void testDeleteSmsChannel_hasChildren() { |
| 139 | // mock 数据 | 138 | // mock 数据 |
| 140 | - SmsChannelDO dbSmsChannel = randomSmsChannelDO(); | 139 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); |
| 141 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 | 140 | smsChannelMapper.insert(dbSmsChannel);// @Sql: 先插入出一条存在的数据 |
| 142 | // 准备参数 | 141 | // 准备参数 |
| 143 | Long id = dbSmsChannel.getId(); | 142 | Long id = dbSmsChannel.getId(); |
| @@ -149,6 +148,35 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -149,6 +148,35 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 149 | } | 148 | } |
| 150 | 149 | ||
| 151 | @Test | 150 | @Test |
| 151 | + public void testGetSmsChannel() { | ||
| 152 | + // mock 数据 | ||
| 153 | + SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class); | ||
| 154 | + smsChannelMapper.insert(dbSmsChannel); // @Sql: 先插入出一条存在的数据 | ||
| 155 | + // 准备参数 | ||
| 156 | + Long id = dbSmsChannel.getId(); | ||
| 157 | + | ||
| 158 | + // 调用,并断言 | ||
| 159 | + assertPojoEquals(dbSmsChannel, smsChannelService.getSmsChannel(id)); | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + @Test | ||
| 163 | + public void testGetSmsChannelList() { | ||
| 164 | + // mock 数据 | ||
| 165 | + SmsChannelDO dbSmsChannel01 = randomPojo(SmsChannelDO.class); | ||
| 166 | + smsChannelMapper.insert(dbSmsChannel01); | ||
| 167 | + SmsChannelDO dbSmsChannel02 = randomPojo(SmsChannelDO.class); | ||
| 168 | + smsChannelMapper.insert(dbSmsChannel02); | ||
| 169 | + // 准备参数 | ||
| 170 | + | ||
| 171 | + // 调用 | ||
| 172 | + List<SmsChannelDO> list = smsChannelService.getSmsChannelList(); | ||
| 173 | + // 断言 | ||
| 174 | + assertEquals(2, list.size()); | ||
| 175 | + assertPojoEquals(dbSmsChannel01, list.get(0)); | ||
| 176 | + assertPojoEquals(dbSmsChannel02, list.get(1)); | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + @Test | ||
| 152 | public void testGetSmsChannelPage() { | 180 | public void testGetSmsChannelPage() { |
| 153 | // mock 数据 | 181 | // mock 数据 |
| 154 | SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class, o -> { // 等会查询到 | 182 | SmsChannelDO dbSmsChannel = randomPojo(SmsChannelDO.class, o -> { // 等会查询到 |
| @@ -158,16 +186,16 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -158,16 +186,16 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 158 | }); | 186 | }); |
| 159 | smsChannelMapper.insert(dbSmsChannel); | 187 | smsChannelMapper.insert(dbSmsChannel); |
| 160 | // 测试 signature 不匹配 | 188 | // 测试 signature 不匹配 |
| 161 | - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setSignature("源码"))); | 189 | + smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setSignature("源码"))); |
| 162 | // 测试 status 不匹配 | 190 | // 测试 status 不匹配 |
| 163 | - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); | 191 | + smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); |
| 164 | // 测试 createTime 不匹配 | 192 | // 测试 createTime 不匹配 |
| 165 | - smsChannelMapper.insert(ObjectUtils.cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); | 193 | + smsChannelMapper.insert(cloneIgnoreId(dbSmsChannel, o -> o.setCreateTime(buildTime(2020, 11, 11)))); |
| 166 | // 准备参数 | 194 | // 准备参数 |
| 167 | SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO(); | 195 | SmsChannelPageReqVO reqVO = new SmsChannelPageReqVO(); |
| 168 | reqVO.setSignature("芋道"); | 196 | reqVO.setSignature("芋道"); |
| 169 | reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); | 197 | reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); |
| 170 | - reqVO.setCreateTime((new LocalDateTime[]{buildTime(2020, 12, 1),buildTime(2020, 12, 24)})); | 198 | + reqVO.setCreateTime(buildBetweenTime(2020, 12, 1, 2020, 12, 24)); |
| 171 | 199 | ||
| 172 | // 调用 | 200 | // 调用 |
| 173 | PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(reqVO); | 201 | PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(reqVO); |
| @@ -177,14 +205,4 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | @@ -177,14 +205,4 @@ public class SmsChannelServiceTest extends BaseDbUnitTest { | ||
| 177 | assertPojoEquals(dbSmsChannel, pageResult.getList().get(0)); | 205 | assertPojoEquals(dbSmsChannel, pageResult.getList().get(0)); |
| 178 | } | 206 | } |
| 179 | 207 | ||
| 180 | - // ========== 随机对象 ========== | ||
| 181 | - | ||
| 182 | - @SafeVarargs | ||
| 183 | - private static SmsChannelDO randomSmsChannelDO(Consumer<SmsChannelDO>... consumers) { | ||
| 184 | - Consumer<SmsChannelDO> consumer = (o) -> { | ||
| 185 | - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | ||
| 186 | - }; | ||
| 187 | - return randomPojo(SmsChannelDO.class, ArrayUtils.append(consumer, consumers)); | ||
| 188 | - } | ||
| 189 | - | ||
| 190 | } | 208 | } |