package org.cacert.gigi.ping;
import static org.junit.Assert.*;
+import static org.junit.Assume.*;
import java.io.IOException;
import java.net.Socket;
import javax.net.ssl.X509KeyManager;
import javax.net.ssl.X509TrustManager;
-import org.cacert.gigi.Certificate;
-import org.cacert.gigi.CertificateProfile;
-import org.cacert.gigi.Certificate.CSRType;
import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.pages.account.DomainOverview;
+import org.cacert.gigi.dbObjects.Certificate;
+import org.cacert.gigi.dbObjects.Certificate.CSRType;
+import org.cacert.gigi.dbObjects.CertificateProfile;
+import org.cacert.gigi.dbObjects.User;
+import org.cacert.gigi.pages.account.domain.DomainOverview;
import org.cacert.gigi.testUtils.IOUtils;
import org.cacert.gigi.testUtils.PingTest;
import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
private Certificate c;
- @Test
+ @Test(timeout = 70000)
public void sslAndMailSuccess() throws IOException, InterruptedException, SQLException, GeneralSecurityException, GigiApiException {
testEmailAndSSL(0, 0, true);
}
- @Test
+ @Test(timeout = 70000)
public void sslWongTypeAndMailSuccess() throws IOException, InterruptedException, SQLException, GeneralSecurityException, GigiApiException {
testEmailAndSSL(1, 0, true);
}
- @Test
+ @Test(timeout = 70000)
public void sslOneMissingAndMailSuccess() throws IOException, InterruptedException, SQLException, GeneralSecurityException, GigiApiException {
testEmailAndSSL(2, 0, true);
}
- @Test
+ @Test(timeout = 70000)
public void sslBothMissingAndMailSuccess() throws IOException, InterruptedException, SQLException, GeneralSecurityException, GigiApiException {
testEmailAndSSL(3, 0, true);
}
- @Test
+ @Test(timeout = 70000)
public void sslWrongTypeAndMailFail() throws IOException, InterruptedException, SQLException, GeneralSecurityException, GigiApiException {
testEmailAndSSL(1, 1, false);
}
private void testEmailAndSSL(int sslVariant, int emailVariant, boolean successMail) throws IOException, InterruptedException, SQLException, GeneralSecurityException, GigiApiException {
String test = getTestProps().getProperty("domain.local");
-
+ assumeNotNull(test);
URL u = new URL("https://" + getServerName() + DomainOverview.PATH);
initailizeDomainForm(u);
TestMail mail = getMailReciever().recieve();
if (emailVariant == 0) {
- String link = mail.extractLink();
- new URL(link).openConnection().getHeaderField("");
+ mail.verify();
}
waitForPings(3);
private void createCertificate(String test, CertificateProfile profile) throws GeneralSecurityException, IOException, SQLException, InterruptedException, GigiApiException {
kp = generateKeypair();
String csr = generatePEMCSR(kp, "CN=" + test);
- c = new Certificate(userid, "/CN=" + test, "sha256", csr, CSRType.CSR, profile);
+ c = new Certificate(User.getById(id), Certificate.buildDN("CN", test), "sha256", csr, CSRType.CSR, profile);
c.issue(null, "2y").waitFor(60000);
}
private boolean acceptSSLServer(SSLServerSocket sss) throws IOException {
- try {
- Socket s = sss.accept();
+ try (Socket s = sss.accept()) {
s.getOutputStream().write('b');
s.getOutputStream().close();
return true;