]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/email/TestSendmail.java
upd: rename sendmail to sendMail
[gigi.git] / tests / org / cacert / gigi / email / TestSendmail.java
index ec3f69f2d581f09458a3c30757eba65b10d5058c..5ddd75080fe318da796e0bec0fa706352ac18d78 100644 (file)
@@ -21,10 +21,12 @@ import java.security.cert.CertificateException;
 import java.util.Base64;
 import java.util.Date;
 import java.util.Properties;
+import java.util.Random;
 
 import javax.net.ssl.SSLSocketFactory;
 
 import org.cacert.gigi.testUtils.ConfiguredTest;
+import org.cacert.gigi.util.ServerConstants;
 import org.junit.Test;
 
 import sun.security.x509.AlgorithmId;
@@ -39,6 +41,8 @@ import sun.security.x509.X509CertInfo;
 
 public class TestSendmail extends ConfiguredTest {
 
+    private static final Random rng = new Random();
+
     @Test
     public void testSendmail() throws IOException, GeneralSecurityException {
         initSelfsign();
@@ -51,7 +55,7 @@ public class TestSendmail extends ConfiguredTest {
 
         String subj = "subj-" + createUniqueName();
         String msg = "msg-" + createUniqueName();
-        EmailProvider.getInstance().sendmail(succmail, subj, msg, "system@cacert.org", "system@cacert.org", "Testtarget", "Testsender", null, false);
+        EmailProvider.getInstance().sendMail(succmail, subj, msg, "system@cacert.org", "system@cacert.org", "Testtarget", "Testsender", null, false);
 
         try (Socket s = SSLSocketFactory.getDefault().createSocket(imap, 993);//
                 PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream(), "UTF-8"), true);//
@@ -81,7 +85,7 @@ public class TestSendmail extends ConfiguredTest {
             imapUntil(br, "exp");
             pw.println("log logout");
             imapUntil(br, "log");
-            assertThat(body, containsString("From: support@cacert.local"));
+            assertThat(body, containsString("From: support@" + ServerConstants.getWwwHostName().replaceAll("^www.", "")));
             assertThat(body, containsString("To: gigi-testuser@dogcraft.de"));
             assertThat(body, containsString("Subject: " + subj));
             assertThat(body, containsString(Base64.getEncoder().encodeToString(msg.getBytes("UTF-8"))));
@@ -104,13 +108,16 @@ public class TestSendmail extends ConfiguredTest {
     }
 
     private void initSelfsign() throws GeneralSecurityException, CertificateException, IOException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException {
+        assumeNotNull(getTestProps().getProperty("emailProvider.smtpHost"), getTestProps().getProperty("emailProvider.smtpPort"));
         Properties prop = new Properties();
-        prop.setProperty("emailProvider", "org.cacert.gigi.email.Sendmail");
+        prop.setProperty("emailProvider", "org.cacert.gigi.email.SendMail");
+        prop.setProperty("emailProvider.smtpHost", getTestProps().getProperty("emailProvider.smtpHost"));
+        prop.setProperty("emailProvider.smtpPort", getTestProps().getProperty("emailProvider.smtpPort"));
         KeyPair kp = generateKeypair();
         X509CertInfo info = new X509CertInfo();
         // Add all mandatory attributes
         info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
-        info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new java.util.Random().nextInt() & 0x7fffffff));
+        info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(rng.nextInt() & 0x7fffffff));
         AlgorithmId algID = AlgorithmId.get("SHA256WithRSA");
         info.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID));
         info.set(X509CertInfo.SUBJECT, new X500Name("EMAIL=system@cacert.org"));