From e532afba9a4373f06992a72c693b5495b7046c53 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Thu, 4 Aug 2016 12:10:39 +0200 Subject: [PATCH] upd: url for support details (so relative URLs are better) Change-Id: I5d1dd30d7cb15bc8430dbae2f981f952a4705ec7 --- .../cacert/gigi/output/AssurancesDisplay.templ | 2 +- .../admin/support/FindUserByDomainPage.java | 2 +- .../admin/support/FindUserByEmailForm.templ | 2 +- .../pages/admin/support/FindUserByEmailPage.java | 2 +- .../admin/support/SupportUserDetailsForm.java | 1 - .../admin/support/SupportUserDetailsForm.templ | 6 +++--- .../admin/support/SupportUserDetailsPage.java | 3 +++ .../pages/admin/TestSEAdminNotificationMail.java | 10 +++++----- .../gigi/pages/admin/TestSEAdminPageDetails.java | 16 ++++++++-------- .../admin/TestSEAdminPageUserDomainSearch.java | 4 ++-- .../admin/TestSEAdminPageUserMailSearch.java | 16 ++++++++-------- 11 files changed, 33 insertions(+), 31 deletions(-) diff --git a/src/org/cacert/gigi/output/AssurancesDisplay.templ b/src/org/cacert/gigi/output/AssurancesDisplay.templ index a36e3583..b7c0e4fc 100644 --- a/src/org/cacert/gigi/output/AssurancesDisplay.templ +++ b/src/org/cacert/gigi/output/AssurancesDisplay.templ @@ -14,7 +14,7 @@ - + diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java index ee5192b0..3572d3e6 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java +++ b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java @@ -19,7 +19,7 @@ public class FindUserByDomainPage extends OneFormPage { public String getSuccessPath(Form f) { CertificateOwner res = ((FindUserByDomainForm) f).getRes(); if (res instanceof User) { - return SupportUserDetailsPage.PATH + res.getId(); + return SupportUserDetailsPage.PATH + res.getId() + "/"; } else if (res instanceof Organisation) { return "/support/domain/" + res.getId(); } else { diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByEmailForm.templ b/src/org/cacert/gigi/pages/admin/support/FindUserByEmailForm.templ index 0461bc39..a6b4549c 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindUserByEmailForm.templ +++ b/src/org/cacert/gigi/pages/admin/support/FindUserByEmailForm.templ @@ -4,7 +4,7 @@ IdE-Mail - + diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java b/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java index 42d9e8d0..85e69a33 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java +++ b/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java @@ -37,7 +37,7 @@ public class FindUserByEmailPage extends Page { form.submit(resp.getWriter(), req); final EmailAddress[] emails = form.getEmails(); if (emails.length == 1) { - resp.sendRedirect(SupportUserDetailsPage.PATH + emails[0].getOwner().getId()); + resp.sendRedirect(SupportUserDetailsPage.PATH + emails[0].getOwner().getId() + "/"); } else { HashMap vars = new HashMap(); vars.put("first", false); diff --git a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java index f97b2c44..8b37e903 100644 --- a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java +++ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java @@ -106,7 +106,6 @@ public class SupportUserDetailsForm extends Form { vars.put("dob", dobSelector); vars.put("assurancepoints", user.getAssurancePoints()); vars.put("exppoints", user.getExperiencePoints()); - vars.put("id", user.getId()); final Set gr = user.getGroups(); vars.put("groups", new IterableDataset() { diff --git a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.templ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.templ index b73cc6da..2e475965 100644 --- a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.templ +++ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.templ @@ -20,7 +20,7 @@ : - + : @@ -34,7 +34,7 @@ : - () + () : @@ -59,7 +59,7 @@ - + diff --git a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsPage.java b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsPage.java index fad39e90..5f626b4e 100644 --- a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsPage.java +++ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsPage.java @@ -30,6 +30,9 @@ public class SupportUserDetailsPage extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { int id = -1; + if ( !req.getPathInfo().endsWith("/")) { + resp.sendError(404); + } String[] idP = req.getPathInfo().split("/"); try { id = Integer.parseInt(idP[idP.length - 1]); diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java index 033f69a6..45e0ca38 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java @@ -31,7 +31,7 @@ public class TestSEAdminNotificationMail extends ClientTest { @Test public void testChangeAccountData() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "dobd=1&dobm=2&doby=2000&detailupdate", 0); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "dobd=1&dobm=2&doby=2000&detailupdate", 0); String message = getMailReceiver().receive().getMessage(); assertThat(message, containsString("The account data was changed.")); @@ -41,7 +41,7 @@ public class TestSEAdminNotificationMail extends ClientTest { @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 = ServerConstants.getSupportMailAddress(); do { @@ -52,7 +52,7 @@ 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 + "/", "grant&groupToModify=supporter", 0); String message = getMailReceiver().receive().getMessage(); assertThat(message, containsString("The group permission supporter was granted.")); @@ -60,7 +60,7 @@ public class TestSEAdminNotificationMail extends ClientTest { @Test public void testRemoveUserGroup() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "deny&groupToModify=supporter", 0); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "deny&groupToModify=supporter", 0); String message = getMailReceiver().receive().getMessage(); assertThat(message, containsString("The group permission supporter was revoked.")); @@ -68,7 +68,7 @@ public class TestSEAdminNotificationMail extends ClientTest { @Test public void testRevokeCertificates() throws MalformedURLException, IOException { - executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "revokeall", 1); + executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID + "/", "revokeall", 1); String message = getMailReceiver().receive().getMessage(); assertThat(message, containsString("All certificates in the account have been revoked.")); diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java index 44c23535..3e1bb64c 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageDetails.java @@ -39,7 +39,7 @@ public class TestSEAdminPageDetails extends ClientTest { String fname = "Först"; String lname = "Secönd"; int id = createVerifiedUser(fname, lname, email, TEST_PASSWORD); - URLConnection uc = get(SupportUserDetailsPage.PATH + id); + URLConnection uc = get(SupportUserDetailsPage.PATH + id + "/"); uc.setDoOutput(true); String res = IOUtils.readURL(uc); assertThat(res, containsString(fname)); @@ -61,13 +61,13 @@ public class TestSEAdminPageDetails extends ClientTest { ea = EmailAddress.getById(ea.getId()); assertTrue(ea.isVerified()); - String res = IOUtils.readURL(get(SupportUserDetailsPage.PATH + id)); + 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)); + res = IOUtils.readURL(get(SupportUserDetailsPage.PATH + id + "/")); assertEquals(1, countRegex(res, Pattern.quote(email))); assertEquals(2, countRegex(res, Pattern.quote(email2))); } @@ -83,27 +83,27 @@ public class TestSEAdminPageDetails extends ClientTest { assertEquals(0, logCountAdmin(id)); assertEquals(0, logCountUser(clientCookie)); // changing both leads to 2 entries - assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id, "dobd=1&dobm=2&doby=2000&detailupdate", 0)); + assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id + "/", "dobd=1&dobm=2&doby=2000&detailupdate", 0)); assertEquals(1, logCountAdmin(id)); assertEquals(1, logCountUser(clientCookie)); // Sending same data keeps same - assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id, "dobd=1&dobm=2&doby=2000&detailupdate", 0)); + assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id + "/", "dobd=1&dobm=2&doby=2000&detailupdate", 0)); assertEquals(1, logCountAdmin(id)); assertEquals(1, logCountUser(clientCookie)); // changing one leads to one entry - assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id, "dobd=1&dobm=3&doby=2000&detailupdate", 0)); + assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id + "/", "dobd=1&dobm=3&doby=2000&detailupdate", 0)); assertEquals(2, logCountAdmin(id)); assertEquals(2, logCountUser(clientCookie)); // changing one leads to one entry - assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id, "dobd=2&dobm=3&doby=2000&detailupdate", 0)); + assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id + "/", "dobd=2&dobm=3&doby=2000&detailupdate", 0)); assertEquals(3, logCountAdmin(id)); assertEquals(3, logCountUser(clientCookie)); // changing none -> no entry - assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id, "dobd=2&dobm=3&doby=2000&detailupdate", 0)); + assertNull(executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + id + "/", "dobd=2&dobm=3&doby=2000&detailupdate", 0)); assertEquals(3, logCountAdmin(id)); assertEquals(3, logCountUser(clientCookie)); diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserDomainSearch.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserDomainSearch.java index a4fb4b43..d1916c10 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserDomainSearch.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserDomainSearch.java @@ -47,13 +47,13 @@ public class TestSEAdminPageUserDomainSearch extends ClientTest { public void testDomainSearch() throws MalformedURLException, UnsupportedEncodingException, IOException, GigiApiException { URLConnection uc = post(FindUserByDomainPage.PATH, "process&domain=" + URLEncoder.encode(domainName, "UTF-8")); - assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + tid, uc.getHeaderField("Location")); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + tid + "/", uc.getHeaderField("Location")); } @Test public void testDomainSearchById() throws MalformedURLException, UnsupportedEncodingException, IOException, GigiApiException { URLConnection uc = post(FindUserByDomainPage.PATH, "process&domain=#" + d.getId()); - assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + tid, uc.getHeaderField("Location")); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + tid + "/", uc.getHeaderField("Location")); } @Test diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java index bb05a71b..71dfeaee 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminPageUserMailSearch.java @@ -33,7 +33,7 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); URLConnection uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode(mail, "UTF-8"), 0); - assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id, uc.getHeaderField("Location")); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); } @Test @@ -42,7 +42,7 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { int id = createVerifiedUser("Först", "Secönd", mail, TEST_PASSWORD); 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")); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); } @Test @@ -54,8 +54,8 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { 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 @@ -68,8 +68,8 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { 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 @@ -94,7 +94,7 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { 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")); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); } @Test @@ -125,7 +125,7 @@ public class TestSEAdminPageUserMailSearch extends ClientTest { 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")); + assertEquals("https://" + ServerConstants.getWwwHostNamePortSecure() + SupportUserDetailsPage.PATH + id + "/", uc.getHeaderField("Location")); uc = post(cookie, FindUserByEmailPage.PATH, "process&email=" + URLEncoder.encode("%@test3.org", "UTF-8"), 0); -- 2.39.2