Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.digiwin.utils;
- import com.digiwin.app.common.DWApplicationConfigUtils;
- import com.sun.mail.smtp.SMTPSSLTransport;
- import com.sun.mail.smtp.SMTPTransport;
- import mockit.*;
- import org.junit.Assert;
- import org.junit.jupiter.api.Test;
- import org.mockito.ArgumentCaptor;
- import org.mockito.Mockito;
- import javax.mail.*;
- import javax.mail.event.TransportEvent;
- import javax.mail.internet.AddressException;
- import javax.mail.internet.InternetAddress;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Properties;
- import static org.junit.jupiter.api.Assertions.*;
- /**
- * @author Miko
- */
- class DWMailUtilsTest {
- @Tested
- DWMailUtils dwMailUtils;
- String sender = "George";
- String receiver = "Mary";
- String ccList = "123456";
- String bccList = "987654";
- String smtpHost = "12.34.56.78";
- int port = 90;
- String username = "test";
- String passwd = "test";
- String subject = "單元測試用";
- String content = "發信內文";
- Integer typeOfConnection = 0;
- Transport transport;
- @Test
- void doSendMail0() throws Exception {
- Message message = Mockito.mock(Message.class);
- new Expectations() {
- {
- MockUp<Transport> transport = new MockUp<Transport>() {
- @Mock //class的方法回傳期望的值
- public void connect(String host, String user, String password)
- throws MessagingException {
- }
- @Mock
- public void sendMessage(Message msg, Address[] addresses)
- throws MessagingException {
- }
- @Mock
- public Transport getTransport(String protocol)
- throws NoSuchProviderException {
- return null;
- }
- @Mock
- private void closeTransport(Transport transport) throws MessagingException {
- }
- };
- // new MockUp<DWMailUtils>() {
- // @Mock
- // public boolean doSendMail(String sender, String receiver, String ccList, String bccList,
- // String smtpHost, int port, String username, String passwd, String subject, String content,
- // Integer typeOfConnection) throws Exception {
- // return true;
- // }
- // };
- new MockUp<DWMailUtils>() {
- java.util.Properties props = new java.util.Properties();
- @Mock
- private java.util.Properties getPropertyInNormalConnection(String smtpHost, int port) {
- props.put("mail.host", smtpHost);
- props.put("mail.transport.protocol", "smtp");
- props.put("mail.smtp.port", port);
- props.put("mail.smtp.auth", "true");
- return props;
- }
- @Mock
- private java.util.Properties getPropertyInSsl(String smtpHost, int port) {
- java.util.Properties props = new java.util.Properties();
- props.put("mail.host", smtpHost);
- props.put("mail.smtps.auth", "true");
- props.put("mail.smtps.port", port);
- props.put("mail.smtps.socketFactory.port", port);
- props.put("mail.smtps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- props.put("mail.smtps.socketFactory.fallback", "true");
- props.put("mail.smtps.ssl.enable", "true");
- return props;
- }
- };
- }
- };
- // Assert.assertTrue(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 0));
- Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 0));
- // Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 0));
- // Assert.assertTrue(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 1));
- Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 1));
- Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 2));
- // Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 1));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement