]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/TestEmailReciever.java
Fix: some nullpointer references (coverity).
[gigi.git] / tests / org / cacert / gigi / testUtils / TestEmailReciever.java
index 40b4e0312eebd5f57f8c282e8917770ef4971e2d..7cb410d8e2ee15424f6aeba4ca5d289efe93764d 100644 (file)
@@ -3,8 +3,10 @@ package org.cacert.gigi.testUtils;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
-import java.net.SocketAddress;
 import java.net.Socket;
+import java.net.SocketAddress;
+import java.net.URL;
+import java.net.URLConnection;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
@@ -61,6 +63,22 @@ public class TestEmailReciever extends EmailProvider implements Runnable {
             return m.group(0);
         }
 
+        public void verify() throws IOException {
+            String[] parts = extractLink().split("\\?");
+            URL u = new URL("https://" + ManagedTest.getServerName() + "/verify?" + parts[1]);
+
+            URLConnection csrfConn = u.openConnection();
+            String csrf = ManagedTest.getCSRF(csrfConn, 0);
+
+            u = new URL("https://" + ManagedTest.getServerName() + "/verify");
+            URLConnection uc = u.openConnection();
+            ManagedTest.cookie(uc, ManagedTest.stripCookie(csrfConn.getHeaderField("Set-Cookie")));
+            uc.setDoOutput(true);
+            uc.getOutputStream().write((parts[1] + "&csrf=" + csrf).getBytes("UTF-8"));
+            uc.connect();
+            uc.getInputStream().close();
+        }
+
     }
 
     private Socket s;
@@ -76,14 +94,18 @@ public class TestEmailReciever extends EmailProvider implements Runnable {
         s.setSoTimeout(1000 * 60 * 60);
         dis = new DataInputStream(s.getInputStream());
         dos = new DataOutputStream(s.getOutputStream());
-        new Thread(this).start();
         setInstance(this);
     }
 
+    public void start() {
+        new Thread(this).start();
+    }
+
     LinkedBlockingQueue<TestMail> mails = new LinkedBlockingQueue<TestEmailReciever.TestMail>();
 
     public TestMail recieve() throws InterruptedException {
-        return mails.poll(5, TimeUnit.SECONDS);
+        TestMail poll = mails.poll(5, TimeUnit.SECONDS);
+        return poll;
     }
 
     @Override