X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Fclub%2Fwpia%2Fgigi%2Fpages%2Faccount%2FTestPasswordResetExternal.java;h=439c0f5b7401b7ad842b555cf249cf26f097a419;hb=47459b4c744dc5e3d7eda51e6af98aff09679505;hp=872fc7467fca4b7f45ecc8f91a94f0a1f5cb665a;hpb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;p=gigi.git diff --git a/tests/club/wpia/gigi/pages/account/TestPasswordResetExternal.java b/tests/club/wpia/gigi/pages/account/TestPasswordResetExternal.java index 872fc746..439c0f5b 100644 --- a/tests/club/wpia/gigi/pages/account/TestPasswordResetExternal.java +++ b/tests/club/wpia/gigi/pages/account/TestPasswordResetExternal.java @@ -6,17 +6,20 @@ 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 java.security.GeneralSecurityException; +import org.hamcrest.CoreMatchers; import org.junit.Test; +import club.wpia.gigi.GigiApiException; import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.pages.PasswordResetPage; -import club.wpia.gigi.pages.wot.TestAssurance; +import club.wpia.gigi.pages.wot.TestVerification; +import club.wpia.gigi.testUtils.ArrayContains; import club.wpia.gigi.testUtils.ClientTest; import club.wpia.gigi.testUtils.IOUtils; import club.wpia.gigi.testUtils.TestEmailReceiver.TestMail; @@ -25,28 +28,30 @@ import club.wpia.gigi.util.RandomToken; public class TestPasswordResetExternal extends ClientTest { @Test - public void testByAssurance() throws IOException { - User u = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@example.com", TEST_PASSWORD)); - String cookie2 = login(u.getEmail(), TEST_PASSWORD); - URLConnection uc = TestAssurance.buildupAssureFormConnection(cookie2, email, true); + public void testByVerification() throws IOException, GeneralSecurityException, GigiApiException, InterruptedException { + User u = User.getById(createVerificationUser("fn", "ln", createUniqueName() + "@example.com", TEST_PASSWORD)); + String cookie2 = cookieWithCertificateLogin(u); + URLConnection uc = TestVerification.buildupVerifyFormConnection(cookie2, email, true); String avalue = RandomToken.generateToken(32); - uc.getOutputStream().write(("assuredName=" + this.u.getPreferredName().getId() + "&date=" + TestAssurance.validVerificationDateString() + "&location=testcase&countryCode=DE&certify=1&rules=1&assertion=1&points=10&passwordReset=1&passwordResetValue=" + URLEncoder.encode(avalue, "UTF-8")).getBytes("UTF-8")); + uc.getOutputStream().write(("verifiedName=" + this.u.getPreferredName().getId() + "&date=" + TestVerification.validVerificationDateString() + "&location=testcase&countryCode=DE&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 = getMailReceiver().receive(); + TestMail mail = getMailReceiver().receive(this.u.getEmail()); assertThat(mail.getSubject(), containsString("Verification")); - mail = getMailReceiver().receive(); - assertEquals(mail.getTo(), this.u.getEmail()); + mail = getMailReceiver().receive(this.u.getEmail()); 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")); assertNull(toPasswordReset(avalue, link, npw, npw)); assertNotNull(login(email, npw)); + + String[] result = this.u.getAdminLog(); + assertThat(result, ArrayContains.contains(CoreMatchers.equalTo("RA Agent triggered password reset"))); + assertThat(result, ArrayContains.contains(CoreMatchers.equalTo("User token based password reset"))); } private String toPasswordReset(String avalue, String link, String npw, String npw2) throws IOException, MalformedURLException, UnsupportedEncodingException { @@ -60,7 +65,6 @@ public class TestPasswordResetExternal extends ClientTest { 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")); - System.out.println(((HttpURLConnection) uc2).getResponseCode()); String readURL = IOUtils.readURL(uc2); return fetchStartErrorMessage(readURL); }