X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FTestAssurance.java;h=58a791f372fcc0066a83b00244ffd44e0b9e3884;hb=8b2627181ee5a5e5eba571b1f9e55ad12ed28415;hp=f519fb4e4744c4cbab15a775200efc3d3228f0d0;hpb=52861b747c9687ec8050e73b7c8c7294024634ab;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/wot/TestAssurance.java b/tests/org/cacert/gigi/pages/wot/TestAssurance.java index f519fb4e..58a791f3 100644 --- a/tests/org/cacert/gigi/pages/wot/TestAssurance.java +++ b/tests/org/cacert/gigi/pages/wot/TestAssurance.java @@ -12,6 +12,7 @@ import java.net.URLConnection; import java.net.URLEncoder; import java.sql.SQLException; import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; import java.util.regex.Pattern; @@ -27,20 +28,17 @@ public class TestAssurance extends ManagedTest { private String assureeM; - private int assurer; - - private int assuree; - private String cookie; @Before public void setup() throws IOException { assurerM = createUniqueName() + "@cacert-test.org"; assureeM = createUniqueName() + "@cacert-test.org"; - assurer = createAssuranceUser("a", "b", assurerM, TEST_PASSWORD); - assuree = createVerifiedUser("a", "c", assureeM, TEST_PASSWORD); - cookie = login(assurerM, TEST_PASSWORD); + createAssuranceUser("a", "b", assurerM, TEST_PASSWORD); + createVerifiedUser("a", "c", assureeM, TEST_PASSWORD); + + cookie = login(assurerM, TEST_PASSWORD); } @Test @@ -70,7 +68,7 @@ public class TestAssurance extends ManagedTest { URLConnection uc = u.openConnection(); uc.setDoOutput(true); uc.addRequestProperty("Cookie", cookie); - uc.getOutputStream().write(("search&" + query).getBytes()); + uc.getOutputStream().write(("search&" + query).getBytes("UTF-8")); uc.getOutputStream().flush(); return IOUtils.readURL(uc); @@ -82,11 +80,21 @@ 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 HttpURLConnection uc = (HttpURLConnection) buildupAssureFormConnection(false); - uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10").getBytes()); + uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10").getBytes("UTF-8")); uc.getOutputStream().flush(); assertEquals(500, uc.getResponseCode()); } @@ -95,7 +103,7 @@ public class TestAssurance extends ManagedTest { public void testAssureFormWrongCSRF() throws IOException { // override csrf HttpURLConnection uc = (HttpURLConnection) buildupAssureFormConnection(false); - uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10&csrf=aragc").getBytes()); + uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10&csrf=aragc").getBytes("UTF-8")); uc.getOutputStream().flush(); assertEquals(500, uc.getResponseCode()); } @@ -119,7 +127,7 @@ public class TestAssurance extends ManagedTest { assertNull(executeBasicWebInteraction(assureeCookie, MyDetails.PATH, newName + "&" + newDob + "&processDetails", 0)); - uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10").getBytes()); + uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10").getBytes("UTF-8")); uc.getOutputStream().flush(); String error = fetchStartErrorMessage(IOUtils.readURL(uc)); assertTrue(error, !error.startsWith("")); @@ -133,6 +141,17 @@ public class TestAssurance extends ManagedTest { assertTrue(error, !error.startsWith("")); } + @Test + public void testAssureFormFutureOK() throws IOException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.setTimeInMillis(System.currentTimeMillis()); + c.add(Calendar.HOUR_OF_DAY, 12); + + String error = getError("date=" + sdf.format(new Date(c.getTimeInMillis())) + "&location=testcase&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10"); + assertNull(error); + } + @Test public void testAssureFormNoLoc() throws IOException { String error = getError("date=2000-01-01&location=a&certify=1&rules=1&CCAAgreed=1&assertion=1&points=10"); @@ -189,25 +208,29 @@ public class TestAssurance extends ManagedTest { private String getError(String query) throws MalformedURLException, IOException { URLConnection uc = buildupAssureFormConnection(true); - uc.getOutputStream().write((query).getBytes()); + uc.getOutputStream().write((query).getBytes("UTF-8")); uc.getOutputStream().flush(); String error = fetchStartErrorMessage(IOUtils.readURL(uc)); return error; } private URLConnection buildupAssureFormConnection(boolean doCSRF) throws MalformedURLException, IOException { + return buildupAssureFormConnection(cookie, assureeM, doCSRF); + } + + public static URLConnection buildupAssureFormConnection(String cookie, String email, boolean doCSRF) throws MalformedURLException, IOException { URL u = new URL("https://" + getServerName() + AssurePage.PATH); URLConnection uc = u.openConnection(); uc.addRequestProperty("Cookie", cookie); uc.setDoOutput(true); - uc.getOutputStream().write(("email=" + URLEncoder.encode(assureeM, "UTF-8") + "&day=1&month=1&year=1910&search").getBytes()); + uc.getOutputStream().write(("email=" + URLEncoder.encode(email, "UTF-8") + "&day=1&month=1&year=1910&search").getBytes("UTF-8")); String csrf = getCSRF(uc); uc = u.openConnection(); uc.addRequestProperty("Cookie", cookie); uc.setDoOutput(true); if (doCSRF) { - uc.getOutputStream().write(("csrf=" + csrf + "&").getBytes()); + uc.getOutputStream().write(("csrf=" + csrf + "&").getBytes("UTF-8")); } return uc; }