]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/PingTest.java
upd: move external keywords to own class
[gigi.git] / tests / org / cacert / gigi / testUtils / PingTest.java
index 20395878fb4411dc7251bd0166f8cfb2df0eef44..a432cb2af61b91a2dd9b4ce1b63e2dec7765dd03 100644 (file)
@@ -12,10 +12,10 @@ import java.sql.SQLException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.cacert.gigi.database.DatabaseConnection;
 import org.cacert.gigi.database.GigiPreparedStatement;
 import org.cacert.gigi.database.GigiResultSet;
 import org.cacert.gigi.pages.account.domain.DomainOverview;
+import org.cacert.gigi.util.SystemKeywords;
 import org.junit.After;
 
 /**
@@ -34,42 +34,43 @@ public abstract class PingTest extends ClientTest {
     }
 
     protected void waitForPings(int count) throws SQLException, InterruptedException {
-        GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT COUNT(*) FROM domainPinglog");
-        long start = System.currentTimeMillis();
-        while (System.currentTimeMillis() - start < 10000) {
-            GigiResultSet rs = ps.executeQuery();
-            rs.next();
-            if (rs.getInt(1) >= count) {
-                break;
+        try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT COUNT(*) FROM `domainPinglog`")) {
+            long start = System.currentTimeMillis();
+            while (System.currentTimeMillis() - start < 10000) {
+                GigiResultSet rs = ps.executeQuery();
+                rs.next();
+                if (rs.getInt(1) >= count) {
+                    break;
+                }
+                Thread.sleep(200);
             }
-            Thread.sleep(200);
         }
     }
 
-    protected URL sendDomainForm(URL u, String content) throws IOException, MalformedURLException {
-        URLConnection openConnection = u.openConnection();
-        openConnection.setRequestProperty("Cookie", cookie);
+    protected String sendDomainForm(String content) throws IOException, MalformedURLException {
+        URLConnection openConnection = get(DomainOverview.PATH);
         openConnection.setDoOutput(true);
         openConnection.getOutputStream().write(content.getBytes("UTF-8"));
         openConnection.getHeaderField("Location");
+        int code = ((HttpURLConnection) openConnection).getResponseCode();
+        if (code != 302) {
+            throw new Error("Code was: " + code + "\ncontent was: " + fetchStartErrorMessage(IOUtils.readURL(openConnection)));
+        }
 
-        String newcontent = IOUtils.readURL(cookie(u.openConnection(), cookie));
-        Pattern dlink = Pattern.compile(DomainOverview.PATH + "([0-9]+)'>");
+        String newcontent = IOUtils.readURL(get(DomainOverview.PATH));
+        Pattern dlink = Pattern.compile(DomainOverview.PATH + "/([0-9]+)'>");
         Matcher m1 = dlink.matcher(newcontent);
         if ( !m1.find()) {
             throw new Error(newcontent);
         }
-        URL u2 = new URL(u.toString() + m1.group(1));
-        return u2;
+        return DomainOverview.PATH + "/" + m1.group(1);
     }
 
-    protected Matcher initailizeDomainForm(URL u) throws IOException, Error {
-        URLConnection openConnection = u.openConnection();
-        openConnection.setRequestProperty("Cookie", cookie);
-        String content1 = IOUtils.readURL(openConnection);
+    protected Matcher initailizeDomainForm() throws IOException, Error {
+        String content1 = IOUtils.readURL(get(DomainOverview.PATH));
         csrf = getCSRF(1, content1);
 
-        Pattern p = Pattern.compile("([A-Za-z0-9]+)._cacert._auth IN TXT ([A-Za-z0-9]+)");
+        Pattern p = Pattern.compile("([A-Za-z0-9]+)." + SystemKeywords.DNS_PREFIX + "._auth IN TXT ([A-Za-z0-9]+)");
         Matcher m = p.matcher(content1);
         m.find();
         return m;