X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FTestAssurance.java;h=7b622b7389a62579a9f4d043a8edae56b387015c;hb=33083a238697cd3588c9e156ef3a1371b01949cc;hp=4108cf8f12d04d5a0058919fdf24f7cca63578d0;hpb=1bcc2e29be77cc7347141997de16b90a672d5287;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/wot/TestAssurance.java b/tests/org/cacert/gigi/pages/wot/TestAssurance.java index 4108cf8f..7b622b73 100644 --- a/tests/org/cacert/gigi/pages/wot/TestAssurance.java +++ b/tests/org/cacert/gigi/pages/wot/TestAssurance.java @@ -22,6 +22,7 @@ import org.cacert.gigi.pages.account.MyDetails; import org.cacert.gigi.testUtils.IOUtils; import org.cacert.gigi.testUtils.ManagedTest; import org.cacert.gigi.util.DayDate; +import org.cacert.gigi.util.Notary; import org.hamcrest.Matcher; import org.junit.Before; import org.junit.Test; @@ -32,6 +33,8 @@ public class TestAssurance extends ManagedTest { private String assureeM; + private int assureeName; + private String cookie; @Before @@ -41,7 +44,8 @@ public class TestAssurance extends ManagedTest { assureeM = createUniqueName() + "@cacert-test.org"; createAssuranceUser("a", "b", assurerM, TEST_PASSWORD); - createVerifiedUser("a", "c", assureeM, TEST_PASSWORD); + int assureeId = createVerifiedUser("a", "c", assureeM, TEST_PASSWORD); + assureeName = User.getById(assureeId).getPreferredName().getId(); cookie = login(assurerM, TEST_PASSWORD); } @@ -89,16 +93,25 @@ public class TestAssurance extends ManagedTest { @Test public void testAssureForm() throws IOException { - executeSuccess("date=2000-01-01&location=testcase&certify=1&rules=1&assertion=1&points=10"); + executeSuccess("date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=1&assertion=1&points=10"); + } + + @Test + public void testAssureFormEmpty() throws IOException { + URLConnection uc = buildupAssureFormConnection(true); + uc.getOutputStream().write(("date=" + validVerificationDateString() + "&location=testcase&rules=1&assertion=1&points=10").getBytes("UTF-8")); + uc.getOutputStream().flush(); + String data = IOUtils.readURL(uc); + assertThat(data, hasError()); } @Test public void testAssureFormContanisData() throws IOException { URLConnection uc = buildupAssureFormConnection(true); - uc.getOutputStream().write(("date=2000-01-01&location=testcase&rules=1&assertion=1&points=10").getBytes("UTF-8")); + uc.getOutputStream().write(("assuredName=" + assureeName + "&date=" + validVerificationDateString() + "&location=testcase&rules=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(validVerificationDateString())); assertThat(data, containsString("testcase")); } @@ -106,7 +119,7 @@ public class TestAssurance extends ManagedTest { 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&assertion=1&points=10").getBytes("UTF-8")); + uc.getOutputStream().write(("date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=1&assertion=1&points=10").getBytes("UTF-8")); uc.getOutputStream().flush(); assertEquals(500, uc.getResponseCode()); } @@ -115,41 +128,30 @@ 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&assertion=1&points=10&csrf=aragc").getBytes("UTF-8")); + uc.getOutputStream().write(("date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=1&assertion=1&points=10&csrf=aragc").getBytes("UTF-8")); uc.getOutputStream().flush(); assertEquals(500, uc.getResponseCode()); } - @Test - public void testAssureFormRaceName() throws IOException, SQLException { - testAssureFormRace(true, false); - } - @Test public void testAssureFormRaceDoB() throws IOException, SQLException { - testAssureFormRace(false, false); - } - - @Test - public void testAssureFormRaceNameBlind() throws IOException, SQLException { - testAssureFormRace(true, true); + testAssureFormRace(false); } @Test public void testAssureFormRaceDoBBlind() throws IOException, SQLException { - testAssureFormRace(false, true); + testAssureFormRace(true); } - public void testAssureFormRace(boolean name, boolean succeed) throws IOException, SQLException { + public void testAssureFormRace(boolean succeed) throws IOException, SQLException { URLConnection uc = buildupAssureFormConnection(true); String assureeCookie = login(assureeM, TEST_PASSWORD); - String newName = "lname=" + (name && !succeed ? "a" : "c") + "&fname=a&mname=&suffix="; - String newDob = "day=1&month=1&year=" + ( !name && !succeed ? 1911 : 1910); + String newDob = "day=1&month=1&year=" + ( !succeed ? 1911 : 1910); - assertNull(executeBasicWebInteraction(assureeCookie, MyDetails.PATH, newName + "&" + newDob + "&processDetails", 0)); + assertNull(executeBasicWebInteraction(assureeCookie, MyDetails.PATH, newDob + "&action=updateDoB", 0)); - uc.getOutputStream().write(("date=2000-01-01&location=testcase&certify=1&rules=1&assertion=1&points=10").getBytes("UTF-8")); + uc.getOutputStream().write(("assuredName=" + assureeName + "&date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=1&assertion=1&points=10").getBytes("UTF-8")); uc.getOutputStream().flush(); String error = fetchStartErrorMessage(IOUtils.readURL(uc)); if (succeed) { @@ -177,10 +179,36 @@ public class TestAssurance extends ManagedTest { executeSuccess("date=" + sdf.format(new Date(c.getTimeInMillis())) + "&location=testcase&certify=1&rules=1&assertion=1&points=10"); } + @Test + public void testAssureFormPastInRange() throws IOException { + executeSuccess("date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=1&assertion=1&points=10"); + } + + @Test + public void testAssureFormPastOnLimit() throws IOException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.setTimeInMillis(System.currentTimeMillis()); + c.add(Calendar.MONTH, -Notary.LIMIT_MAX_MONTHS_VERIFICATION); + c.add(Calendar.DAY_OF_MONTH, 1); + + executeSuccess("date=" + sdf.format(new Date(c.getTimeInMillis())) + "&location=testcase&certify=1&rules=1&assertion=1&points=10"); + } + + @Test + public void testAssureFormPastOutOfRange() throws IOException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.setTimeInMillis(System.currentTimeMillis()); + c.add(Calendar.MONTH, -Notary.LIMIT_MAX_MONTHS_VERIFICATION); + + executeFails("date=" + sdf.format(new Date(c.getTimeInMillis())) + "&location=testcase&certify=1&rules=1&assertion=1&points=10"); + } + @Test public void testAssureFormNoLoc() throws IOException { - executeFails("date=2000-01-01&location=a&certify=1&rules=1&assertion=1&points=10"); - executeFails("date=2000-01-01&location=&certify=1&rules=1&assertion=1&points=10"); + executeFails("date=" + validVerificationDateString() + "&location=a&certify=1&rules=1&assertion=1&points=10"); + executeFails("date=" + validVerificationDateString() + "&location=&certify=1&rules=1&assertion=1&points=10"); } @Test @@ -191,18 +219,18 @@ public class TestAssurance extends ManagedTest { @Test public void testAssureFormBoxes() throws IOException { - executeFails("date=2000-01-01&location=testcase&certify=0&rules=1&assertion=1&points=10"); - executeFails("date=2000-01-01&location=testcase&certify=1&rules=&assertion=1&points=10"); - executeFails("date=2000-01-01&location=testcase&certify=1&rules=1&assertion=z&points=10"); + executeFails("date=" + validVerificationDateString() + "&location=testcase&certify=0&rules=1&assertion=1&points=10"); + executeFails("date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=&assertion=1&points=10"); + executeFails("date=" + validVerificationDateString() + "&location=testcase&certify=1&rules=1&assertion=z&points=10"); } @Test public void testAssureListingValid() throws IOException { String uniqueLoc = createUniqueName(); - execute("date=2000-01-01&location=" + uniqueLoc + "&certify=1&rules=1&assertion=1&points=10"); + execute("date=" + validVerificationDateString() + "&location=" + uniqueLoc + "&certify=1&rules=1&assertion=1&points=10"); String cookie = login(assureeM, TEST_PASSWORD); - URLConnection url = get(cookie, MyPoints.PATH); + URLConnection url = get(cookie, Points.PATH); String resp = IOUtils.readURL(url); resp = resp.split(Pattern.quote(""))[0]; assertThat(resp, containsString(uniqueLoc)); @@ -211,9 +239,9 @@ public class TestAssurance extends ManagedTest { @Test public void testAssurerListingValid() throws IOException { String uniqueLoc = createUniqueName(); - executeSuccess("date=2000-01-01&location=" + uniqueLoc + "&certify=1&rules=1&assertion=1&points=10"); + executeSuccess("date=" + validVerificationDateString() + "&location=" + uniqueLoc + "&certify=1&rules=1&assertion=1&points=10"); String cookie = login(assurerM, TEST_PASSWORD); - URLConnection url = get(cookie, MyPoints.PATH); + URLConnection url = get(cookie, Points.PATH); String resp = IOUtils.readURL(url); resp = resp.split(Pattern.quote(""))[1]; assertThat(resp, containsString(uniqueLoc)); @@ -231,7 +259,7 @@ public class TestAssurance extends ManagedTest { private String execute(String query) throws MalformedURLException, IOException { URLConnection uc = buildupAssureFormConnection(true); - uc.getOutputStream().write((query).getBytes("UTF-8")); + uc.getOutputStream().write(("assuredName=" + assureeName + "&" + query).getBytes("UTF-8")); uc.getOutputStream().flush(); return IOUtils.readURL(uc); } @@ -276,7 +304,7 @@ public class TestAssurance extends ManagedTest { // enter second entry String uniqueLoc = createUniqueName(); - executeSuccess("date=2000-01-01&location=" + uniqueLoc + "&certify=1&rules=1&assertion=1&points=10"); + executeSuccess("date=" + validVerificationDateString() + "&location=" + uniqueLoc + "&certify=1&rules=1&assertion=1&points=10"); // enter third entry on the same day URLConnection uc = get(cookie, AssurePage.PATH);