|
|
|
|
@ -1,8 +1,6 @@
|
|
|
|
|
package cn.iocoder.yudao.module.system.service.mail;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
|
|
import cn.hutool.extra.mail.MailAccount;
|
|
|
|
|
import cn.hutool.extra.mail.MailUtil;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
|
|
|
|
import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
|
|
|
|
|
@ -15,6 +13,7 @@ import cn.iocoder.yudao.module.system.mq.producer.mail.MailProducer;
|
|
|
|
|
import cn.iocoder.yudao.module.system.service.member.MemberService;
|
|
|
|
|
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
|
|
import org.assertj.core.util.Lists;
|
|
|
|
|
import org.dromara.hutool.extra.mail.*;
|
|
|
|
|
import org.junit.jupiter.api.Disabled;
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.mockito.InjectMocks;
|
|
|
|
|
@ -28,8 +27,7 @@ import static cn.hutool.core.util.RandomUtil.randomEle;
|
|
|
|
|
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
|
|
|
|
|
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*;
|
|
|
|
|
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
|
import static org.mockito.ArgumentMatchers.eq;
|
|
|
|
|
import static org.mockito.Mockito.*;
|
|
|
|
|
|
|
|
|
|
@ -61,7 +59,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|
|
|
|
// .setFrom("奥特曼 <ydym_test@163.com>")
|
|
|
|
|
.setFrom("ydym_test@163.com") // 邮箱地址
|
|
|
|
|
.setHost("smtp.163.com").setPort(465).setSslEnable(true) // SMTP 服务器
|
|
|
|
|
.setAuth(true).setUser("ydym_test@163.com").setPass("WBZTEINMIFVRYSOE"); // 登录账号密码
|
|
|
|
|
.setAuth(true).setUser("ydym_test@163.com").setPass("WBZTEINMIFVRYSOE".toCharArray()); // 登录账号密码
|
|
|
|
|
String messageId = MailUtil.send(mailAccount, "7685413@qq.com", "主题", "内容", false);
|
|
|
|
|
System.out.println("发送结果:" + messageId);
|
|
|
|
|
}
|
|
|
|
|
@ -268,7 +266,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testDoSendMail_success() {
|
|
|
|
|
try (MockedStatic<MailUtil> mailUtilMock = mockStatic(MailUtil.class)) {
|
|
|
|
|
try (final MockedStatic<MailUtil> mailUtilMock = mockStatic(MailUtil.class)) {
|
|
|
|
|
// 准备参数
|
|
|
|
|
MailSendMessage message = randomPojo(MailSendMessage.class, o -> o.setNickname("芋艿"));
|
|
|
|
|
// mock 方法(获得邮箱账号)
|
|
|
|
|
@ -283,7 +281,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|
|
|
|
assertEquals("芋艿 <7685@qq.com>", mailAccount.getFrom());
|
|
|
|
|
assertTrue(mailAccount.isAuth());
|
|
|
|
|
assertEquals(account.getUsername(), mailAccount.getUser());
|
|
|
|
|
assertEquals(account.getPassword(), mailAccount.getPass());
|
|
|
|
|
assertArrayEquals(account.getPassword().toCharArray(), mailAccount.getPass());
|
|
|
|
|
assertEquals(account.getHost(), mailAccount.getHost());
|
|
|
|
|
assertEquals(account.getPort(), mailAccount.getPort());
|
|
|
|
|
assertEquals(account.getSslEnable(), mailAccount.isSslEnable());
|
|
|
|
|
@ -314,13 +312,12 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|
|
|
|
assertEquals("芋艿 <7685@qq.com>", mailAccount.getFrom());
|
|
|
|
|
assertTrue(mailAccount.isAuth());
|
|
|
|
|
assertEquals(account.getUsername(), mailAccount.getUser());
|
|
|
|
|
assertEquals(account.getPassword(), mailAccount.getPass());
|
|
|
|
|
assertArrayEquals(account.getPassword().toCharArray(), mailAccount.getPass());
|
|
|
|
|
assertEquals(account.getHost(), mailAccount.getHost());
|
|
|
|
|
assertEquals(account.getPort(), mailAccount.getPort());
|
|
|
|
|
assertEquals(account.getSslEnable(), mailAccount.isSslEnable());
|
|
|
|
|
return true;
|
|
|
|
|
}), eq(message.getMail()), eq(message.getTitle()), eq(message.getContent()), eq(true)))
|
|
|
|
|
.thenThrow(e);
|
|
|
|
|
}), eq(message.getMail()), eq(message.getTitle()), eq(message.getContent()), eq(true))).thenThrow(e);
|
|
|
|
|
|
|
|
|
|
// 调用
|
|
|
|
|
mailSendService.doSendMail(message);
|
|
|
|
|
|