1 package org.cacert.gigi.email;
3 import static org.junit.Assert.*;
4 import static org.junit.Assume.*;
6 import java.io.IOException;
7 import java.security.KeyManagementException;
8 import java.security.NoSuchAlgorithmException;
9 import java.security.cert.CertificateException;
10 import java.security.cert.X509Certificate;
11 import java.util.Properties;
13 import javax.net.ssl.SSLContext;
14 import javax.net.ssl.TrustManager;
15 import javax.net.ssl.X509TrustManager;
17 import org.cacert.gigi.testUtils.ConfiguredTest;
18 import org.junit.BeforeClass;
19 import org.junit.Test;
21 public class TestEmailProviderClass extends ConfiguredTest {
24 public void testNonmail() throws IOException {
25 String result = EmailProvider.getInstance().checkEmailServer(0, "nomail");
26 assertNotEquals(EmailProvider.OK, result);
30 public void testFastcheckSucceed() throws IOException {
31 String succmail = getTestProps().getProperty("email.address");
32 assumeNotNull(succmail);
34 String result = EmailProvider.getInstance().checkEmailServer(0, succmail);
35 assertEquals(EmailProvider.OK, result);
39 public void testFastcheckFail() throws IOException {
40 String failmail = getTestProps().getProperty("email.non-address");
41 assumeNotNull(failmail);
43 String result = EmailProvider.getInstance().checkEmailServer(0, failmail);
44 assertNotEquals(EmailProvider.OK, result);
48 public static void initMailsystem() throws NoSuchAlgorithmException, KeyManagementException {
49 Properties prop = new Properties();
50 prop.setProperty("emailProvider", "org.cacert.gigi.email.SendMail");
51 EmailProvider.initSystem(prop, null, null);
52 SSLContext c = SSLContext.getInstance("TLS");
53 c.init(null, new TrustManager[] {
54 new X509TrustManager() {
57 public X509Certificate[] getAcceptedIssuers() {
62 public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
67 public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
72 SSLContext.setDefault(c);