X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Fmain%2FRegisterPageTest.java;h=e570ccd561b7d12c93305250b62cd892e61c61b6;hb=f8808e481a30a36b3bf8dc269c6ac7a30639ea79;hp=51ca686735dd1a618efd87fb53ebe2bf4406fc2a;hpb=634b7f75c8fc2ed8799bad74731278fb59198c48;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/main/RegisterPageTest.java b/tests/org/cacert/gigi/pages/main/RegisterPageTest.java index 51ca6867..e570ccd5 100644 --- a/tests/org/cacert/gigi/pages/main/RegisterPageTest.java +++ b/tests/org/cacert/gigi/pages/main/RegisterPageTest.java @@ -3,54 +3,31 @@ package org.cacert.gigi.pages.main; import static org.junit.Assert.*; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLEncoder; -import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.cacert.gigi.IOUtils; import org.cacert.gigi.InitTruststore; import org.cacert.gigi.testUtils.ManagedTest; import org.cacert.gigi.testUtils.TestEmailReciever.TestMail; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; public class RegisterPageTest extends ManagedTest { - private final URL registerService; static { InitTruststore.run(); HttpURLConnection.setFollowRedirects(false); } - public RegisterPageTest() { - URL u = null; - try { - u = new URL("https://" + getServerName() + "/register"); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - registerService = u; - } @Before public void setUp() throws Exception { } @Test public void testSuccess() throws IOException { - String startError = fetchStartErrorMessage("fname=ab&lname=b&email=" - + URLEncoder.encode("felix+" + System.currentTimeMillis() - + "@dogcraft.de", "UTF-8") - + "&pword1=ap12UI.a'&pword2=ap12UI.a'&day=1&month=1&year=1910&cca_agree=1"); - assertTrue(startError, startError.startsWith("")); + long uniq = System.currentTimeMillis(); + registerUser("ab", "b", "correct" + uniq + "@email.de", "ap12UI.'"); TestMail tm = waitForMail(); - Pattern link = Pattern.compile("http://[^\\s]+(?=\\s)"); - Matcher m = link.matcher(tm.getMessage()); - m.find(); - System.out.println(tm.getSubject()); - System.out.println(m.group(0)); + String link = tm.extractLink(); + assertTrue(link, link.startsWith("http://")); } @Test public void testNoFname() throws IOException { @@ -77,7 +54,6 @@ public class RegisterPageTest extends ManagedTest { @Test public void testNoDay() throws IOException { - System.out.println(registerService); testFailedForm("fname=a&lname=b&email=e&pword1=ap&pword2=ap&month=1&year=1910&cca_agree=1"); } @Test @@ -145,12 +121,11 @@ public class RegisterPageTest extends ManagedTest { .contains("name=\"radius\" value=\"1\" checked=\"checked\">")); } - @Ignore @Test public void testDoubleMail() throws IOException { long uniq = System.currentTimeMillis(); registerUser("RegisterTest", "User", "testmail" + uniq + "@cacert.org", - "registerPW"); + "registerPW'1"); try { registerUser("RegisterTest", "User", "testmail" + uniq + "@cacert.org", "registerPW"); @@ -160,44 +135,22 @@ public class RegisterPageTest extends ManagedTest { } } + @Test + public void testInvalidMailbox() { + getMailReciever().setApproveRegex(Pattern.compile("a")); + long uniq = System.currentTimeMillis(); + try { + registerUser("RegisterTest", "User", "testInvalidMailbox" + uniq + + "@cacert.org", "registerPW"); + throw new Error( + "Registering a user with invalid mailbox must fail."); + } catch (AssertionError e) { + } + } private void testFailedForm(String query) throws IOException { - String startError = fetchStartErrorMessage(query); + String startError = fetchStartErrorMessage(runRegister(query)); assertTrue(startError, !startError.startsWith("")); } - private String fetchStartErrorMessage(String query) throws IOException { - String d = runRegister(query); - String formFail = "
"; - int idx = d.indexOf(formFail); - assertNotEquals(-1, idx); - String startError = d.substring(idx + formFail.length(), idx + 100) - .trim(); - return startError; - } - public void registerUser(String firstName, String lastName, String email, - String password) { - try { - String query = "fname=" + URLEncoder.encode(firstName, "UTF-8") - + "&lname=" + URLEncoder.encode(lastName, "UTF-8") - + "&email=" + URLEncoder.encode(email, "UTF-8") - + "&pword1=" + URLEncoder.encode(password, "UTF-8") - + "&pword2=" + URLEncoder.encode(password, "UTF-8") - + "&day=1&month=1&year=1910&cca_agree=1"; - String data = fetchStartErrorMessage(query); - assertTrue(data, data.startsWith("
")); - } catch (UnsupportedEncodingException e) { - throw new Error(e); - } catch (IOException e) { - throw new Error(e); - } - } - private String runRegister(String param) throws IOException { - HttpURLConnection uc = (HttpURLConnection) registerService - .openConnection(); - uc.setDoOutput(true); - uc.getOutputStream().write(param.getBytes()); - String d = IOUtils.readURL(uc); - return d; - } }