From 10b057b8efd04b26a1c53c0bc0e734d3aa06a6b8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Tue, 10 Nov 2015 23:52:35 +0100 Subject: [PATCH] fix: assurance form, keep location and date + testCase --- src/org/cacert/gigi/pages/wot/AssuranceForm.java | 14 +++++++++++++- src/org/cacert/gigi/pages/wot/AssuranceForm.templ | 4 ++-- tests/org/cacert/gigi/pages/wot/TestAssurance.java | 10 ++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/org/cacert/gigi/pages/wot/AssuranceForm.java b/src/org/cacert/gigi/pages/wot/AssuranceForm.java index 36e5247c..4b6f9232 100644 --- a/src/org/cacert/gigi/pages/wot/AssuranceForm.java +++ b/src/org/cacert/gigi/pages/wot/AssuranceForm.java @@ -25,6 +25,10 @@ public class AssuranceForm extends Form { private Date dob; + private String location = ""; + + private String date = ""; + private static final Template templ; static { templ = new Template(AssuranceForm.class.getResource("AssuranceForm.templ")); @@ -50,11 +54,19 @@ public class AssuranceForm extends Form { res.put("maxpoints", assuree.getMaxAssurePoints()); res.put("dob", sdf.format(assuree.getDoB())); res.put("dobFmt2", sdf2.format(assuree.getDoB())); + res.put("location", location); + res.put("date", date); templ.output(out, l, res); } @Override public boolean submit(PrintWriter out, HttpServletRequest req) { + location = req.getParameter("location"); + date = req.getParameter("date"); + if (date == null || location == null) { + outputError(out, req, "You need to enter location and date!"); + } + if ( !"1".equals(req.getParameter("certify")) || !"1".equals(req.getParameter("rules")) || !"1".equals(req.getParameter("CCAAgreed")) || !"1".equals(req.getParameter("assertion"))) { outputError(out, req, "You failed to check all boxes to validate" + " your adherence to the rules and policies of CAcert"); @@ -75,7 +87,7 @@ public class AssuranceForm extends Form { return false; } try { - Notary.assure(Page.getUser(req), assuree, assureeName, dob, pointsI, req.getParameter("location"), req.getParameter("date")); + Notary.assure(Page.getUser(req), assuree, assureeName, dob, pointsI, location, req.getParameter("date")); return true; } catch (GigiApiException e) { e.format(out, Page.getLanguage(req)); diff --git a/src/org/cacert/gigi/pages/wot/AssuranceForm.templ b/src/org/cacert/gigi/pages/wot/AssuranceForm.templ index 2967515b..1d5e3031 100644 --- a/src/org/cacert/gigi/pages/wot/AssuranceForm.templ +++ b/src/org/cacert/gigi/pages/wot/AssuranceForm.templ @@ -24,11 +24,11 @@ - + -
+
diff --git a/tests/org/cacert/gigi/pages/wot/TestAssurance.java b/tests/org/cacert/gigi/pages/wot/TestAssurance.java index 9fae5ddc..134f7427 100644 --- a/tests/org/cacert/gigi/pages/wot/TestAssurance.java +++ b/tests/org/cacert/gigi/pages/wot/TestAssurance.java @@ -79,6 +79,16 @@ public class TestAssurance extends ManagedTest { assertNull(error); } + @Test + public void testAssureFormContanisData() throws IOException { + URLConnection uc = buildupAssureFormConnection(true); + uc.getOutputStream().write(("date=2000-01-01&location=testcase&rules=1&CCAAgreed=1&assertion=1&points=10").getBytes("UTF-8")); + uc.getOutputStream().flush(); + String data = IOUtils.readURL(uc); + assertThat(data, containsString("2000-01-01")); + assertThat(data, containsString("testcase")); + } + @Test public void testAssureFormNoCSRF() throws IOException { // override csrf -- 2.39.2