Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. package com.digiwin.utils;
  2.  
  3. import com.digiwin.app.common.DWApplicationConfigUtils;
  4. import com.sun.mail.smtp.SMTPSSLTransport;
  5. import com.sun.mail.smtp.SMTPTransport;
  6. import mockit.*;
  7. import org.junit.Assert;
  8. import org.junit.jupiter.api.Test;
  9. import org.mockito.ArgumentCaptor;
  10. import org.mockito.Mockito;
  11.  
  12. import javax.mail.*;
  13. import javax.mail.event.TransportEvent;
  14. import javax.mail.internet.AddressException;
  15. import javax.mail.internet.InternetAddress;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. import java.util.Properties;
  19.  
  20. import static org.junit.jupiter.api.Assertions.*;
  21.  
  22. /**
  23. * @author Miko
  24. */
  25. class DWMailUtilsTest {
  26.  
  27. @Tested
  28. DWMailUtils dwMailUtils;
  29.  
  30. String sender = "George";
  31. String receiver = "Mary";
  32. String ccList = "123456";
  33. String bccList = "987654";
  34. String smtpHost = "12.34.56.78";
  35. int port = 90;
  36. String username = "test";
  37. String passwd = "test";
  38. String subject = "單元測試用";
  39. String content = "發信內文";
  40. Integer typeOfConnection = 0;
  41.  
  42. Transport transport;
  43.  
  44.  
  45. @Test
  46. void doSendMail0() throws Exception {
  47. Message message = Mockito.mock(Message.class);
  48.  
  49. new Expectations() {
  50. {
  51. MockUp<Transport> transport = new MockUp<Transport>() {
  52. @Mock //class的方法回傳期望的值
  53. public void connect(String host, String user, String password)
  54. throws MessagingException {
  55. }
  56.  
  57. @Mock
  58. public void sendMessage(Message msg, Address[] addresses)
  59. throws MessagingException {
  60. }
  61.  
  62. @Mock
  63. public Transport getTransport(String protocol)
  64. throws NoSuchProviderException {
  65. return null;
  66. }
  67.  
  68. @Mock
  69. private void closeTransport(Transport transport) throws MessagingException {
  70. }
  71.  
  72. };
  73.  
  74. // new MockUp<DWMailUtils>() {
  75. // @Mock
  76. // public boolean doSendMail(String sender, String receiver, String ccList, String bccList,
  77. // String smtpHost, int port, String username, String passwd, String subject, String content,
  78. // Integer typeOfConnection) throws Exception {
  79. // return true;
  80. // }
  81. // };
  82.  
  83.  
  84. new MockUp<DWMailUtils>() {
  85. java.util.Properties props = new java.util.Properties();
  86.  
  87. @Mock
  88. private java.util.Properties getPropertyInNormalConnection(String smtpHost, int port) {
  89. props.put("mail.host", smtpHost);
  90. props.put("mail.transport.protocol", "smtp");
  91. props.put("mail.smtp.port", port);
  92. props.put("mail.smtp.auth", "true");
  93. return props;
  94. }
  95.  
  96. @Mock
  97. private java.util.Properties getPropertyInSsl(String smtpHost, int port) {
  98. java.util.Properties props = new java.util.Properties();
  99. props.put("mail.host", smtpHost);
  100. props.put("mail.smtps.auth", "true");
  101. props.put("mail.smtps.port", port);
  102. props.put("mail.smtps.socketFactory.port", port);
  103. props.put("mail.smtps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  104. props.put("mail.smtps.socketFactory.fallback", "true");
  105. props.put("mail.smtps.ssl.enable", "true");
  106. return props;
  107. }
  108. };
  109. }
  110. };
  111. // Assert.assertTrue(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 0));
  112. Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 0));
  113. // Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 0));
  114. // Assert.assertTrue(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 1));
  115. Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 1));
  116. Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 2));
  117. // Assert.assertFalse(DWMailUtils.doSendMail(sender, receiver, ccList, bccList, smtpHost, port, username, passwd, subject, content, 1));
  118. }
  119.  
  120.  
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement