1 package club.wpia.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.junit.BeforeClass;
18 import org.junit.Test;
20 import club.wpia.gigi.testUtils.ConfiguredTest;
22 public class TestEmailProviderClass extends ConfiguredTest {
25 public void testNonmail() throws IOException {
26 String result = EmailProvider.getInstance().checkEmailServer(0, "nomail");
27 assertNotEquals(EmailProvider.OK, result);
31 public void testFastcheckSucceed() throws IOException {
32 String succmail = getTestProps().getProperty("email.address");
33 assumeNotNull(succmail);
35 String result = EmailProvider.getInstance().checkEmailServer(0, succmail);
36 assertEquals(EmailProvider.OK, result);
40 public void testFastcheckFail() throws IOException {
41 String failmail = getTestProps().getProperty("email.non-address");
42 assumeNotNull(failmail);
44 String result = EmailProvider.getInstance().checkEmailServer(0, failmail);
45 assertNotEquals(EmailProvider.OK, result);
49 public static void initMailsystem() throws NoSuchAlgorithmException, KeyManagementException {
50 Properties prop = new Properties();
51 prop.setProperty("emailProvider", "club.wpia.gigi.email.SendMail");
52 EmailProvider.initSystem(prop, null, null);
53 SSLContext c = SSLContext.getInstance("TLS");
54 c.init(null, new TrustManager[] {
55 new X509TrustManager() {
58 public X509Certificate[] getAcceptedIssuers() {
63 public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
68 public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
73 SSLContext.setDefault(c);