From af1651c1ebb7fe2633181653a2b66a11ca6926fd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Thu, 24 Jul 2014 19:48:02 +0200 Subject: [PATCH] Reinforce Signup tests. --- tests/org/cacert/gigi/LoginTest.java | 10 +++--- .../gigi/pages/main/RegisterPageTest.java | 36 ++++++++++++++++--- .../gigi/testUtils/TestEmailReciever.java | 9 ++++- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/tests/org/cacert/gigi/LoginTest.java b/tests/org/cacert/gigi/LoginTest.java index 8a71090f..e8353acc 100644 --- a/tests/org/cacert/gigi/LoginTest.java +++ b/tests/org/cacert/gigi/LoginTest.java @@ -11,19 +11,17 @@ public class LoginTest extends ManagedTest { public void testLoginUnverified() throws IOException { long uniq = System.currentTimeMillis(); String email = "system" + uniq + "@testmail.org"; - String pw = "1'aAaA"; - registerUser("an", "bn", email, pw); + registerUser("an", "bn", email, TEST_PASSWORD); waitForMail(); - assertFalse(isLoggedin(login(email, pw))); + assertFalse(isLoggedin(login(email, TEST_PASSWORD))); } @Test public void testLoginVerified() throws IOException { long uniq = System.currentTimeMillis(); String email = "system2" + uniq + "@testmail.org"; - String pw = "1'aAaA"; - createVerifiedUser("an", "bn", email, pw); - assertTrue(isLoggedin(login(email, pw))); + createVerifiedUser("an", "bn", email, TEST_PASSWORD); + assertTrue(isLoggedin(login(email, TEST_PASSWORD))); } } diff --git a/tests/org/cacert/gigi/pages/main/RegisterPageTest.java b/tests/org/cacert/gigi/pages/main/RegisterPageTest.java index 87d8a9d4..dd53ec50 100644 --- a/tests/org/cacert/gigi/pages/main/RegisterPageTest.java +++ b/tests/org/cacert/gigi/pages/main/RegisterPageTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.*; import java.io.IOException; import java.net.HttpURLConnection; +import java.net.URLEncoder; import java.util.regex.Pattern; import org.cacert.gigi.testUtils.InitTruststore; @@ -23,9 +24,34 @@ public class RegisterPageTest extends ManagedTest { } @Test - public void testSuccess() throws IOException { + public void testSuccess() throws IOException, InterruptedException { long uniq = System.currentTimeMillis(); - registerUser("ab", "b", "correct" + uniq + "@email.de", "ap12UI.'"); + registerUser("ab", "b", "correct" + uniq + "@email.de", TEST_PASSWORD); + assertSuccessfullRegMail(); + + String defaultSignup = "fname=" + URLEncoder.encode("ab", "UTF-8") + "&lname=" + + URLEncoder.encode("b", "UTF-8") + "&pword1=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") + "&pword2=" + + URLEncoder.encode(TEST_PASSWORD, "UTF-8") + + "&day=1&month=1&year=1910&cca_agree=1&mname=mn&suffix=sf&email="; + + String query = defaultSignup + URLEncoder.encode("correct3_" + uniq + "@email.de", "UTF-8") + + "&general=1&country=1®ional=1&radius=1"; + String data = fetchStartErrorMessage(runRegister(query)); + assertTrue(data, data.startsWith("")); + assertSuccessfullRegMail(); + + getMailReciever().setEmailCheckError("400 Greylisted"); + getMailReciever().setApproveRegex(Pattern.compile("a")); + query = defaultSignup + URLEncoder.encode("correct4_" + uniq + "@email.de", "UTF-8") + + "&general=1&country=1®ional=1&radius=1"; + data = fetchStartErrorMessage(runRegister(query)); + assertFalse(data, data.startsWith("")); + + assertNull(getMailReciever().recieve()); + + } + + private void assertSuccessfullRegMail() { TestMail tm = waitForMail(); String link = tm.extractLink(); assertTrue(link, link.startsWith("https://")); @@ -129,9 +155,9 @@ public class RegisterPageTest extends ManagedTest { @Test public void testDoubleMail() throws IOException { long uniq = System.currentTimeMillis(); - registerUser("RegisterTest", "User", "testmail" + uniq + "@cacert.org", "registerPW'1"); + registerUser("RegisterTest", "User", "testmail" + uniq + "@cacert.org", TEST_PASSWORD); try { - registerUser("RegisterTest", "User", "testmail" + uniq + "@cacert.org", "registerPW"); + registerUser("RegisterTest", "User", "testmail" + uniq + "@cacert.org", TEST_PASSWORD); throw new Error("Registering a user with the same email needs to fail."); } catch (AssertionError e) { @@ -143,7 +169,7 @@ public class RegisterPageTest extends ManagedTest { getMailReciever().setApproveRegex(Pattern.compile("a")); long uniq = System.currentTimeMillis(); try { - registerUser("RegisterTest", "User", "testInvalidMailbox" + uniq + "@cacert.org", "registerPW"); + registerUser("RegisterTest", "User", "testInvalidMailbox" + uniq + "@cacert.org", TEST_PASSWORD); throw new Error("Registering a user with invalid mailbox must fail."); } catch (AssertionError e) { diff --git a/tests/org/cacert/gigi/testUtils/TestEmailReciever.java b/tests/org/cacert/gigi/testUtils/TestEmailReciever.java index 4aa4cbfe..849bf927 100644 --- a/tests/org/cacert/gigi/testUtils/TestEmailReciever.java +++ b/tests/org/cacert/gigi/testUtils/TestEmailReciever.java @@ -92,7 +92,7 @@ public class TestEmailReciever implements Runnable { if (approveRegex.matcher(email).matches()) { dos.writeUTF("OK"); } else { - dos.writeUTF("FAIL"); + dos.writeUTF(error); } dos.flush(); } else if (type.equals("ping")) { @@ -108,6 +108,12 @@ public class TestEmailReciever implements Runnable { } + String error = "FAIL"; + + public void setEmailCheckError(String error) { + this.error = error; + } + Pattern approveRegex = Pattern.compile(".*"); public void setApproveRegex(Pattern approveRegex) { @@ -120,6 +126,7 @@ public class TestEmailReciever implements Runnable { public void reset() { clearMails(); + error = "FAIL"; approveRegex = Pattern.compile(".*"); } -- 2.39.2