X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Fadmin%2FTestSEAdminNotificationMail.java;h=f025b0f69e11af2966aeffa747735df997e07b5a;hb=0b86fb147b4a61f315770fa5bba4466ca18ddfa8;hp=ae89544f155c6a7de5756d429a47f01fc3ffddc9;hpb=9f17e044d921a45fe559662ce7c00a346d4834cf;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java index ae89544f..f025b0f6 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java @@ -4,9 +4,17 @@ import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; import java.net.MalformedURLException; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Locale; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Group; +import org.cacert.gigi.dbObjects.User; +import org.cacert.gigi.localisation.Language; import org.cacert.gigi.pages.admin.support.SupportEnterTicketPage; import org.cacert.gigi.pages.admin.support.SupportUserDetailsPage; import org.cacert.gigi.testUtils.ClientTest; @@ -18,8 +26,9 @@ public class TestSEAdminNotificationMail extends ClientTest { private int targetID; - public TestSEAdminNotificationMail() throws IOException { - grant(email, Group.SUPPORTER); + public TestSEAdminNotificationMail() throws IOException, GigiApiException { + grant(u, Group.SUPPORTER); + cookie = login(email, TEST_PASSWORD); assertEquals(302, post(cookie, SupportEnterTicketPage.PATH, "ticketno=a20140808.8&setTicket=action", 0).getResponseCode()); String email = createUniqueName() + "@example.com"; @@ -31,19 +40,22 @@ public class TestSEAdminNotificationMail extends ClientTest { @Test public void testChangeAccountData() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "fname=Kurti3&lname=Hansel&mname=&suffix=&dobd=1&dobm=2&doby=2000&detailupdate", 0); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "dobd=1&dobm=2&doby=2000&detailupdate", 0); + // mail to support String message = getMailReceiver().receive().getMessage(); - assertThat(message, containsString("The account data was changed.")); - assertThat(message, containsString("supporter " + u.getName() + " triggered:")); - + assertThat(message, containsString("The DoB was changed")); + assertThat(message, containsString("supporter " + u.getPreferredName().toString() + " triggered:")); + // mail to user + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The DoB in your account was changed to 2000-02-01.")); } @Test public void testPasswordReset() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "aword=SecretWord&resetPass", 0); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "aword=SecretWord&resetPass", 0); TestMail tm; - String targetMail = "support@" + ServerConstants.getWwwHostName().replaceFirst("^www\\.", ""); + String targetMail = ServerConstants.getSupportMailAddress(); do { tm = getMailReceiver().receive(); } while ( !tm.getTo().equals(targetMail)); @@ -52,26 +64,86 @@ public class TestSEAdminNotificationMail extends ClientTest { @Test public void testGrantUserGroup() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "grant&groupToModify=supporter", 0); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "addGroup&groupToModify=" + URLEncoder.encode(Group.CODESIGNING.getDBName(), "UTF-8"), 0); + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + Group.CODESIGNING.getName().output(pw, Language.getInstance(Locale.ENGLISH), new HashMap()); + // mail to support String message = getMailReceiver().receive().getMessage(); - assertThat(message, containsString("The group permission supporter was granted.")); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was granted.")); + // mail to user + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was granted to your account.")); } @Test public void testRemoveUserGroup() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "deny&groupToModify=supporter", 0); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "removeGroup&groupToModify=" + URLEncoder.encode(Group.CODESIGNING.getDBName(), "UTF-8"), 0); + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + Group.CODESIGNING.getName().output(pw, Language.getInstance(Locale.ENGLISH), new HashMap()); + + // mail to support + String message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was revoked.")); + // mail to user + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was revoked from your account.")); + } + + @Test + public void testGrantSupporterGroup() throws MalformedURLException, IOException { + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "addGroup&groupToModify=" + URLEncoder.encode(Group.SUPPORTER.getDBName(), "UTF-8"), 0); + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + Group.SUPPORTER.getName().output(pw, Language.getInstance(Locale.ENGLISH), new HashMap()); + User target = User.getById(targetID); + // mail to support String message = getMailReceiver().receive().getMessage(); - assertThat(message, containsString("The group permission supporter was revoked.")); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was granted.")); + // mail to user + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was granted to your account.")); + // mail to board + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was granted for '" + target.getPreferredName().toString() + "'.")); } @Test - public void testRevokeCertificates() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "revokeall", 1); + public void testRemoveSupporterGroup() throws MalformedURLException, IOException { + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "removeGroup&groupToModify=" + URLEncoder.encode(Group.SUPPORTER.getDBName(), "UTF-8"), 0); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + Group.SUPPORTER.getName().output(pw, Language.getInstance(Locale.ENGLISH), new HashMap()); + User target = User.getById(targetID); + + // mail to support String message = getMailReceiver().receive().getMessage(); - assertThat(message, containsString("All certificates in the account have been revoked.")); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was revoked.")); + // mail to user + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was revoked from your account.")); + // mail to board + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("The group permission '" + sw.toString() + "' was revoked for '" + target.getPreferredName().toString() + "'.")); + } + @Test + public void testRevokeAllCertificates() throws MalformedURLException, IOException { + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "revokeall", 1); + User user = User.getById(targetID); + + // mail to support + String message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("All certificates in the account " + user.getPreferredName().toString())); + // mail to user + message = getMailReceiver().receive().getMessage(); + assertThat(message, containsString("All certificates in your account have been revoked.")); } }