]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/pages/account/TestPasswordResetExternal.java
add: send notification to applicant after successful verification
[gigi.git] / tests / org / cacert / gigi / pages / account / TestPasswordResetExternal.java
index 8acef6b2d451ea49df3872cc82c1b63216f463e8..8f22ecf7cc48958e0587a3f5e5c6c8e7b54edcfd 100644 (file)
@@ -1,16 +1,19 @@
 package org.cacert.gigi.pages.account;
 
+import static org.hamcrest.CoreMatchers.*;
 import static org.junit.Assert.*;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
 
 import org.cacert.gigi.dbObjects.User;
+import org.cacert.gigi.pages.PasswordResetPage;
 import org.cacert.gigi.pages.wot.TestAssurance;
 import org.cacert.gigi.testUtils.ClientTest;
 import org.cacert.gigi.testUtils.IOUtils;
@@ -26,15 +29,17 @@ public class TestPasswordResetExternal extends ClientTest {
         String cookie2 = login(u.getEmail(), TEST_PASSWORD);
         URLConnection uc = TestAssurance.buildupAssureFormConnection(cookie2, email, true);
         String avalue = RandomToken.generateToken(32);
-        uc.getOutputStream().write(("date=1910-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10&passwordReset=1&passwordResetValue=" + URLEncoder.encode(avalue, "UTF-8")).getBytes("UTF-8"));
+        uc.getOutputStream().write(("assuredName=" + u.getPreferredName().getId() + "&date=1910-01-01&location=testcase&certify=1&rules=1&assertion=1&points=10&passwordReset=1&passwordResetValue=" + URLEncoder.encode(avalue, "UTF-8")).getBytes("UTF-8"));
         uc.getOutputStream().flush();
         String error = fetchStartErrorMessage(IOUtils.readURL(uc));
         assertNull(error);
 
-        TestMail mail = getMailReciever().receive();
-        System.out.println(mail.getMessage());
+        TestMail mail = getMailReceiver().receive();
+        assertThat(mail.getSubject(), containsString("Verification"));
+        mail = getMailReceiver().receive();
         String link = mail.extractLink();
         String npw = TEST_PASSWORD + "'";
+        System.out.println(link);
         assertNotNull(toPasswordReset(avalue, link, npw, npw + "'"));
         assertNotNull(toPasswordReset(avalue + "'", link, npw, npw));
         assertNotNull(toPasswordReset(avalue, link, "a", "a"));
@@ -48,11 +53,13 @@ public class TestPasswordResetExternal extends ClientTest {
         String headerField = uc2.getHeaderField("Set-Cookie");
         assertNotNull(headerField);
         String cookie3 = stripCookie(headerField);
-        uc2 = new URL(link).openConnection();
+        uc2 = new URL("https://" + getServerName() + PasswordResetPage.PATH).openConnection();
         cookie(uc2, cookie3);
         uc2.setDoOutput(true);
         OutputStream o = uc2.getOutputStream();
         o.write(("csrf=" + csrf + "&pword1=" + URLEncoder.encode(npw, "UTF-8") + "&pword2=" + URLEncoder.encode(npw2, "UTF-8") + "&private_token=" + URLEncoder.encode(avalue, "UTF-8")).getBytes("UTF-8"));
-        return fetchStartErrorMessage(IOUtils.readURL(uc2));
+        System.out.println(((HttpURLConnection) uc2).getResponseCode());
+        String readURL = IOUtils.readURL(uc2);
+        return fetchStartErrorMessage(readURL);
     }
 }