From e9625bad15becfac8c9e0a616986c85f32b31dd9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Wed, 11 Nov 2015 20:37:57 +0100 Subject: [PATCH] add: testcase for the previous bug --- src/org/cacert/gigi/dbObjects/User.java | 4 --- .../pages/admin/TestSEAdminPageDetails.java | 32 ++++++++++++++++++- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/User.java b/src/org/cacert/gigi/dbObjects/User.java index 72c26c23..f67e8192 100644 --- a/src/org/cacert/gigi/dbObjects/User.java +++ b/src/org/cacert/gigi/dbObjects/User.java @@ -98,10 +98,6 @@ public class User extends CertificateOwner { return email; } - public void setEmail(String email) { - this.email = email; - } - public void changePassword(String oldPass, String newPass) throws GigiApiException { GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT `password` FROM `users` WHERE `id`=?"); ps.setInt(1, getId()); diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java index 3cb78b9a..f27a26a4 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java @@ -7,12 +7,17 @@ import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.dbObjects.EmailAddress; import org.cacert.gigi.dbObjects.Group; -import org.cacert.gigi.pages.account.MyDetails; +import org.cacert.gigi.dbObjects.ObjectCache; +import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.pages.account.History; +import org.cacert.gigi.pages.account.MyDetails; import org.cacert.gigi.pages.admin.support.SupportEnterTicketPage; import org.cacert.gigi.pages.admin.support.SupportUserDetailsPage; import org.cacert.gigi.testUtils.ClientTest; @@ -41,6 +46,31 @@ public class TestSEAdminPageDetails extends ClientTest { assertThat(res, containsString(email)); } + @Test + public void testUserDetailsEmail() throws MalformedURLException, IOException, GigiApiException { + String email = createUniqueName() + "@example.com"; + String fname = "Först"; + String lname = "Secönd"; + int id = createVerifiedUser(fname, lname, email, TEST_PASSWORD); + String email2 = createUniqueName() + "@example.com"; + EmailAddress ea = new EmailAddress(User.getById(id), email2, Locale.ENGLISH); + getMailReciever().receive().verify(); + // Refresh email Object + ObjectCache.clearAllCaches(); + ea = EmailAddress.getById(ea.getId()); + assertTrue(ea.isVerified()); + + String res = IOUtils.readURL(get(SupportUserDetailsPage.PATH + id)); + assertEquals(2, countRegex(res, Pattern.quote(email))); + assertEquals(1, countRegex(res, Pattern.quote(email2))); + + User.getById(id).updateDefaultEmail(ea); + clearCaches(); + res = IOUtils.readURL(get(SupportUserDetailsPage.PATH + id)); + assertEquals(1, countRegex(res, Pattern.quote(email))); + assertEquals(2, countRegex(res, Pattern.quote(email2))); + } + @Test public void testUserDetailsEdit() throws MalformedURLException, IOException { String email = createUniqueName() + "@example.com"; -- 2.39.2