X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Fadmin%2FTestSEAdminPageUserMailSearch.java;h=71dfeaee5071f1f52ad3ac95f172f699eab5a849;hb=0d9465248c016d99ac04e10b34d141a5811fac6f;hp=70e5bd4f098464819ed1a9ef8d239ccfce5d632e;hpb=07f74d10bddc819f4524e2e0c1a2815eb4e7ec79;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java index 70e5bd4f..71dfeaee 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java @@ -9,8 +9,10 @@ import java.net.MalformedURLException; import java.net.URLConnection; import java.net.URLEncoder; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Group; -import org.cacert.gigi.pages.admin.support.FindUserPage; +import org.cacert.gigi.dbObjects.User; +import org.cacert.gigi.pages.admin.support.FindUserByEmailPage; import org.cacert.gigi.pages.admin.support.SupportEnterTicketPage; import org.cacert.gigi.pages.admin.support.SupportUserDetailsPage; import org.cacert.gigi.testUtils.ClientTest; @@ -30,8 +32,8 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { String mail = createUniqueName() + "@example.com"; int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); - URLConnection uc = post(cookie, FindUserPage.PATH, "process&email=" + URLEncoder.encode(mail, "UTF-8"), 0); - assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id, uc.getHeaderField("Location")); + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode(mail, "UTF-8"), 0); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); } @Test @@ -39,8 +41,8 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { String mail = createUniqueName() + "@example.tld"; int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); - URLConnection uc = post(cookie, FindUserPage.PATH, "process&email=" + URLEncoder.encode("%@example.tld", "UTF-8"), 0); - assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id, uc.getHeaderField("Location")); + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@example.tld", "UTF-8"), 0); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); } @Test @@ -49,11 +51,11 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); String mail2 = createUniqueName() + "@example.org"; int id2 = createVerifiedUser("Först", "Secönd", mail2, TEST_PASSWORD); - URLConnection uc = post(cookie, FindUserPage.PATH, "process&email=" + URLEncoder.encode("%@example.org", "UTF-8"), 0); + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@example.org", "UTF-8"), 0); String res = IOUtils.readURL(uc); - assertThat(res, containsString(SupportUserDetailsPage.PATH + id)); - assertThat(res, containsString(SupportUserDetailsPage.PATH + id2)); + assertThat(res, containsString(SupportUserDetailsPage.PATH + id + "/")); + assertThat(res, containsString(SupportUserDetailsPage.PATH + id2 + "/")); } @Test @@ -63,23 +65,104 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { String mail2 = createUniqueName() + "@fxample.org"; int id2 = createVerifiedUser("Först", "Secönd", mail2, TEST_PASSWORD); - URLConnection uc = post(cookie, FindUserPage.PATH, "process&email=" + URLEncoder.encode("%@_xample.org", "UTF-8"), 0); + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@_xample.org", "UTF-8"), 0); String res = IOUtils.readURL(uc); - assertThat(res, containsString(SupportUserDetailsPage.PATH + id)); - assertThat(res, containsString(SupportUserDetailsPage.PATH + id2)); + assertThat(res, containsString(SupportUserDetailsPage.PATH + id + "/")); + assertThat(res, containsString(SupportUserDetailsPage.PATH + id2 + "/")); } @Test public void testWildcardMailSearchNoRes() throws MalformedURLException, UnsupportedEncodingException, IOException { - URLConnection uc = post(FindUserPage.PATH, "process&email=" + URLEncoder.encode("%@_humpfelkumpf.org", "UTF-8")); + URLConnection uc = post(FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@_humpfelkumpf.org", "UTF-8")); assertNotNull(fetchStartErrorMessage(IOUtils.readURL(uc))); } @Test public void testFulltextMailSearchNoRes() throws MalformedURLException, UnsupportedEncodingException, IOException { - URLConnection uc = post(cookie, FindUserPage.PATH, "process&email=" + URLEncoder.encode(createUniqueName() + "@example.org", "UTF-8"), 0); + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode(createUniqueName() + "@example.org", "UTF-8"), 0); assertNotNull(fetchStartErrorMessage(IOUtils.readURL(uc))); } + + @Test + public void testSearchSecondEmailAddress() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { + String mail = createUniqueName() + "@example1.org"; + int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); + User testuser = User.getById(id); + String mail2 = createUniqueName() + "@example1.org"; + createVerifiedEmail(testuser, mail2); + + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode(mail2, "UTF-8"), 0); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); + } + + @Test + public void testWildcardMailSearchSecondEmailAddress() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { + clearCaches(); + String mail = createUniqueName() + "@example2.org"; + int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); + User testuser = User.getById(id); + String mail2 = createUniqueName() + "@example2.org"; + createVerifiedEmail(testuser, mail2); + + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@example2.org", "UTF-8"), 0); + + String res = IOUtils.readURL(uc); + assertThat(res, containsString(mail)); + assertThat(res, containsString(mail2)); + } + + @Test + public void testWildcardMailSearchMultipleEmailAddressOneAccount() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { + clearCaches(); + String mail = createUniqueName() + "@example3.org"; + int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); + User testuser = User.getById(id); + String mail2 = createUniqueName() + "@test3.org"; + createVerifiedEmail(testuser, mail2); + String mail3 = createUniqueName() + "@test3.org"; + createVerifiedEmail(testuser, mail3); + + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@example3.org", "UTF-8"), 0); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); + + uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@test3.org", "UTF-8"), 0); + + String res = IOUtils.readURL(uc); + assertThat(res, not(containsString(mail))); + assertThat(res, containsString(mail2)); + assertThat(res, containsString(mail3)); + } + + @Test + public void testWildcardMailSearchMultipleEmailAddressMultipleAccounts() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { + String mail = createUniqueName() + "1@example4.org"; + int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); + User testuser = User.getById(id); + String mail2 = createUniqueName() + "@test4.org"; + createVerifiedEmail(testuser, mail2); + + String mail3 = createUniqueName() + "2@example4.org"; + int id2 = createVerifiedUser("Först", "Secönd", mail3, TEST_PASSWORD); + User testuser2 = User.getById(id2); + String mail4 = createUniqueName() + "@test4.org"; + createVerifiedEmail(testuser2, mail4); + + URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@example4.org", "UTF-8"), 0); + + String res = IOUtils.readURL(uc); + assertThat(res, containsString(mail)); + assertThat(res, not(containsString(mail2))); + assertThat(res, containsString(mail3)); + assertThat(res, not(containsString(mail4))); + + uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@test4.org", "UTF-8"), 0); + + res = IOUtils.readURL(uc); + assertThat(res, not(containsString(mail))); + assertThat(res, containsString(mail2)); + assertThat(res, not(containsString(mail3))); + assertThat(res, containsString(mail4)); + } }