X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fping%2FTestHTTP.java;h=64c9cd650e3e618d7c51cd194f3b70158554e7b1;hb=372db5bf7d9dbfb66b1117da80f5a8c098506eaa;hp=ef780befe4b4158369558fd0ee531e67b9fb5db7;hpb=b1092da65fd373d945343e01dd8975ec3b84db0a;p=gigi.git diff --git a/tests/org/cacert/gigi/ping/TestHTTP.java b/tests/org/cacert/gigi/ping/TestHTTP.java index ef780bef..64c9cd65 100644 --- a/tests/org/cacert/gigi/ping/TestHTTP.java +++ b/tests/org/cacert/gigi/ping/TestHTTP.java @@ -1,6 +1,8 @@ package org.cacert.gigi.ping; +import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; +import static org.junit.Assume.*; import java.io.IOException; import java.io.InputStreamReader; @@ -12,6 +14,10 @@ import java.util.regex.Pattern; import javax.naming.NamingException; +import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.dbObjects.Domain; +import org.cacert.gigi.dbObjects.DomainPingConfiguration; +import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType; import org.cacert.gigi.pages.account.domain.DomainOverview; import org.cacert.gigi.testUtils.IOUtils; import org.cacert.gigi.testUtils.PingTest; @@ -33,23 +39,24 @@ public class TestHTTP extends PingTest { } @Test - public void httpAndMailSuccess() throws IOException, InterruptedException, SQLException { + public void httpAndMailSuccess() throws Exception { testEmailAndHTTP(0, 0, true, true); } @Test - public void httpFailKeyAndMailSuccess() throws IOException, InterruptedException, SQLException { + public void httpFailKeyAndMailSuccess() throws Exception { testEmailAndHTTP(1, 0, false, true); } @Test - public void httpFailValAndMailFail() throws IOException, InterruptedException, SQLException { + public void httpFailValAndMailFail() throws Exception { testEmailAndHTTP(2, 1, false, false); } - public void testEmailAndHTTP(int httpVariant, int emailVariant, boolean successHTTP, boolean successMail) throws IOException, InterruptedException, SQLException { + public void testEmailAndHTTP(int httpVariant, int emailVariant, boolean successHTTP, boolean successMail) throws IOException, InterruptedException, SQLException, GigiApiException { String test = getTestProps().getProperty("domain.http"); + assumeNotNull(test); URL u = new URL("https://" + getServerName() + DomainOverview.PATH); Matcher m = initailizeDomainForm(u); @@ -76,10 +83,29 @@ public class TestHTTP extends PingTest { assertTrue(newcontent, !successHTTP ^ pat.matcher(newcontent).find()); pat = Pattern.compile("email\\s*success"); assertTrue(newcontent, !successMail ^ pat.matcher(newcontent).find()); + + if (successHTTP) { // give it a second try + int id = Integer.parseInt(u2.toString().replaceFirst("^.*/([0-9]+)$", "$1")); + Domain d = Domain.getById(id); + DomainPingConfiguration dpc = null; + for (DomainPingConfiguration conf : d.getConfiguredPings()) { + if (conf.getType() == PingType.HTTP) { + dpc = conf; + break; + } + } + if (dpc == null) { + fail("Http config not found"); + } + String res = executeBasicWebInteraction(cookie, u2.getPath(), "configId=" + dpc.getId()); + assertThat(res, containsString("only allowed after")); + } } private String readHTTP(String token) throws IOException { - URL u = new URL("http://" + getTestProps().getProperty("domain.http") + "/cacert-" + token + ".txt"); + String httpDom = getTestProps().getProperty("domain.http"); + assumeNotNull(httpDom); + URL u = new URL("http://" + httpDom + "/cacert-" + token + ".txt"); return IOUtils.readURL(new InputStreamReader(u.openStream())).trim(); }