X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=tests%2Fclub%2Fwpia%2Fgigi%2Futil%2FTestNotary.java;h=45217fd8d00fc8d3afd0656a7d257152023c883f;hp=6733dd63f5c8bfb6752201e5f63ff4c85084abc8;hb=08c941629aea14473e5c42ab6f5d590be4af4bf8;hpb=c2da35eb9f4b6d3a3c055de1229afe0c07dc47da diff --git a/tests/club/wpia/gigi/util/TestNotary.java b/tests/club/wpia/gigi/util/TestNotary.java index 6733dd63..45217fd8 100644 --- a/tests/club/wpia/gigi/util/TestNotary.java +++ b/tests/club/wpia/gigi/util/TestNotary.java @@ -11,19 +11,18 @@ import org.junit.Test; import club.wpia.gigi.GigiApiException; import club.wpia.gigi.database.GigiPreparedStatement; import club.wpia.gigi.dbObjects.CATS; +import club.wpia.gigi.dbObjects.CATS.CATSType; import club.wpia.gigi.dbObjects.Country; +import club.wpia.gigi.dbObjects.Country.CountryCodeType; import club.wpia.gigi.dbObjects.Group; import club.wpia.gigi.dbObjects.Name; import club.wpia.gigi.dbObjects.NamePart; +import club.wpia.gigi.dbObjects.NamePart.NamePartType; import club.wpia.gigi.dbObjects.ObjectCache; import club.wpia.gigi.dbObjects.User; -import club.wpia.gigi.dbObjects.Assurance.AssuranceType; -import club.wpia.gigi.dbObjects.CATS.CATSType; -import club.wpia.gigi.dbObjects.Country.CountryCodeType; -import club.wpia.gigi.dbObjects.NamePart.NamePartType; +import club.wpia.gigi.dbObjects.Verification.VerificationType; import club.wpia.gigi.output.DateSelector; import club.wpia.gigi.testUtils.BusinessTest; -import club.wpia.gigi.util.Notary; public class TestNotary extends BusinessTest { @@ -32,40 +31,40 @@ public class TestNotary extends BusinessTest { public TestNotary() throws GigiApiException {} @Test - public void testNormalAssurance() throws SQLException, GigiApiException { + public void testNormalVerification() throws SQLException, GigiApiException { User[] users = new User[30]; for (int i = 0; i < users.length; i++) { int id = createVerifiedUser("fn" + i, "ln" + i, createUniqueName() + "@email.org", TEST_PASSWORD); users[i] = User.getById(id); } - User assurer = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD)); + User agent = User.getById(createVerificationUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD)); int[] result = new int[] { 10, 10, 10, 10, 15, 15, 15, 15, 15, 20, 20, 20, 20, 20, 25, 25, 25, 25, 25, 30, 30, 30, 30, 30, 35, 35, 35, 35, 35, 35 }; try { - Notary.assure(assurer, users[0], users[0].getPreferredName(), users[0].getDoB(), -1, "test-notary", validVerificationDateString(), AssuranceType.FACE_TO_FACE, DE); + Notary.verify(agent, users[0], users[0].getPreferredName(), users[0].getDoB(), -1, "test-notary", validVerificationDateString(), VerificationType.FACE_TO_FACE, DE); fail("This shouldn't have passed"); } catch (GigiApiException e) { // expected } for (int i = 0; i < result.length; i++) { - assertEquals(result[i], assurer.getMaxAssurePoints()); + assertEquals(result[i], agent.getMaxVerifyPoints()); - assuranceFail(assurer, users[i], result[i] + 1, "test-notary", validVerificationDateString()); - Notary.assure(assurer, users[i], users[i].getPreferredName(), users[i].getDoB(), result[i], "test-notary", validVerificationDateString(), AssuranceType.FACE_TO_FACE, DE); - assuranceFail(assurer, users[i], result[i], "test-notary", validVerificationDateString()); + verificationFail(agent, users[i], result[i] + 1, "test-notary", validVerificationDateString()); + Notary.verify(agent, users[i], users[i].getPreferredName(), users[i].getDoB(), result[i], "test-notary", validVerificationDateString(), VerificationType.FACE_TO_FACE, DE); + verificationFail(agent, users[i], result[i], "test-notary", validVerificationDateString()); } - assertEquals(35, assurer.getMaxAssurePoints()); + assertEquals(35, agent.getMaxVerifyPoints()); - assertEquals(User.EXPERIENCE_POINTS + (30 * User.EXPERIENCE_POINTS), assurer.getExperiencePoints()); + assertEquals(User.EXPERIENCE_POINTS + (30 * User.EXPERIENCE_POINTS), agent.getExperiencePoints()); } - private void assuranceFail(User assurer, User user, int i, String location, String date) throws SQLException { + private void verificationFail(User agent, User applicant, int i, String location, String date) throws SQLException { try { - Notary.assure(assurer, user, user.getPreferredName(), user.getDoB(), i, location, date, AssuranceType.FACE_TO_FACE, DE); + Notary.verify(agent, applicant, applicant.getPreferredName(), applicant.getDoB(), i, location, date, VerificationType.FACE_TO_FACE, DE); fail("This shouldn't have passed"); } catch (GigiApiException e) { // expected @@ -79,95 +78,95 @@ public class TestNotary extends BusinessTest { int id = createVerifiedUser("fn" + i, "ln" + i, createUniqueName() + "@email.org", TEST_PASSWORD); users[i] = User.getById(id); } - int id = createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD); + int id = createVerificationUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD); try (GigiPreparedStatement ps = new GigiPreparedStatement("UPDATE `users` SET dob=NOW() - interval '15 years' WHERE id=?")) { ps.setInt(1, id); ps.execute(); } ObjectCache.clearAllCaches(); // reload values from db - User assurer = User.getById(id); + User agent = User.getById(id); for (int i = 0; i < users.length; i++) { - assuranceFail(assurer, users[i], -1, "test-notary", validVerificationDateString()); - assuranceFail(assurer, users[i], 11, "test-notary", validVerificationDateString()); + verificationFail(agent, users[i], -1, "test-notary", validVerificationDateString()); + verificationFail(agent, users[i], 11, "test-notary", validVerificationDateString()); if (User.POJAM_ENABLED) { - Notary.assure(assurer, users[i], users[i].getPreferredName(), users[i].getDoB(), 10, "test-notary", validVerificationDateString(), AssuranceType.FACE_TO_FACE, DE); + Notary.verify(agent, users[i], users[i].getPreferredName(), users[i].getDoB(), 10, "test-notary", validVerificationDateString(), VerificationType.FACE_TO_FACE, DE); } - assuranceFail(assurer, users[i], 10, "test-notary", validVerificationDateString()); + verificationFail(agent, users[i], 10, "test-notary", validVerificationDateString()); } } @Test public void testFail() throws SQLException, GigiApiException { - User assuranceUser = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); - User assuree = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + User agent = User.getById(createVerificationUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + User applicant = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); // invalid date format - assuranceFail(assuranceUser, assuree, 10, "notary-junit-test", "2014-01-blah"); + verificationFail(agent, applicant, 10, "notary-junit-test", "2014-01-blah"); // empty date - assuranceFail(assuranceUser, assuree, 10, "notary-junit-test", ""); + verificationFail(agent, applicant, 10, "notary-junit-test", ""); // null date - assuranceFail(assuranceUser, assuree, 10, "notary-junit-test", null); + verificationFail(agent, applicant, 10, "notary-junit-test", null); // null location - assuranceFail(assuranceUser, assuree, 10, null, validVerificationDateString()); + verificationFail(agent, applicant, 10, null, validVerificationDateString()); // empty location - assuranceFail(assuranceUser, assuree, 10, "", validVerificationDateString()); + verificationFail(agent, applicant, 10, "", validVerificationDateString()); // date in the future - assuranceFail(assuranceUser, assuree, 10, "notary-junit-test", DateSelector.getDateFormat().format(new Date(System.currentTimeMillis() + 2 * 24 * 60 * 60 * 1000))); + verificationFail(agent, applicant, 10, "notary-junit-test", DateSelector.getDateFormat().format(new Date(System.currentTimeMillis() + 2 * 24 * 60 * 60 * 1000))); // location too short - assuranceFail(assuranceUser, assuree, 10, "n", validVerificationDateString()); + verificationFail(agent, applicant, 10, "n", validVerificationDateString()); // points too low - assuranceFail(assuranceUser, assuree, -1, "notary-junit-test", validVerificationDateString()); + verificationFail(agent, applicant, -1, "notary-junit-test", validVerificationDateString()); // points too high - assuranceFail(assuranceUser, assuree, 11, "notary-junit-test", validVerificationDateString()); + verificationFail(agent, applicant, 11, "notary-junit-test", validVerificationDateString()); // verify oneself - assuranceFail(assuranceUser, assuranceUser, 10, "notary-junit-test", validVerificationDateString()); - // not an assurer - assuranceFail(assuree, assuranceUser, 10, "notary-junit-test", validVerificationDateString()); + verificationFail(agent, agent, 10, "notary-junit-test", validVerificationDateString()); + // not an agent + verificationFail(applicant, agent, 10, "notary-junit-test", validVerificationDateString()); // valid - Notary.assure(assuranceUser, assuree, assuree.getPreferredName(), assuree.getDoB(), 10, "notary-junit-test", validVerificationDateString(), AssuranceType.FACE_TO_FACE, DE); + Notary.verify(agent, applicant, applicant.getPreferredName(), applicant.getDoB(), 10, "notary-junit-test", validVerificationDateString(), VerificationType.FACE_TO_FACE, DE); // verify double - assuranceFail(assuranceUser, assuree, 10, "notary-junit-test", validVerificationDateString()); + verificationFail(agent, applicant, 10, "notary-junit-test", validVerificationDateString()); } @Test public void testNucleus() throws SQLException, GigiApiException, IOException { - User assuranceUser = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); - assuranceUser.grantGroup(getSupporter(), Group.NUCLEUS_ASSURER); - User assuree = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); - Name n1 = assuree.getPreferredName(); - Name n2 = new Name(assuree, new NamePart(NamePartType.FIRST_NAME, "F2"), new NamePart(NamePartType.LAST_NAME, "L2")); - - assertEquals(0, assuree.getExperiencePoints()); - assertEquals(User.EXPERIENCE_POINTS, assuranceUser.getExperiencePoints()); - assertEquals(0, assuree.getAssurancePoints()); - assertEquals(0, n2.getAssurancePoints()); - Notary.assureAll(assuranceUser, assuree, assuree.getDoB(), 50, "notary-junit-test", validVerificationDateString(), AssuranceType.NUCLEUS, new Name[] { + User agent = User.getById(createVerificationUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + agent.grantGroup(getSupporter(), Group.NUCLEUS_ASSURER); + User applicant = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + Name n1 = applicant.getPreferredName(); + Name n2 = new Name(applicant, new NamePart(NamePartType.FIRST_NAME, "F2"), new NamePart(NamePartType.LAST_NAME, "L2")); + + assertEquals(0, applicant.getExperiencePoints()); + assertEquals(User.EXPERIENCE_POINTS, agent.getExperiencePoints()); + assertEquals(0, applicant.getVerificationPoints()); + assertEquals(0, n2.getVerificationPoints()); + Notary.verifyAll(agent, applicant, applicant.getDoB(), 50, "notary-junit-test", validVerificationDateString(), VerificationType.NUCLEUS, new Name[] { n1, n2 }, DE); - assertEquals(0, assuree.getExperiencePoints()); - assertEquals(2 * User.EXPERIENCE_POINTS, assuranceUser.getExperiencePoints()); - assertEquals(50, assuree.getAssurancePoints()); - assertEquals(50, n1.getAssurancePoints()); - assertEquals(50, n2.getAssurancePoints()); + assertEquals(0, applicant.getExperiencePoints()); + assertEquals(2 * User.EXPERIENCE_POINTS, agent.getExperiencePoints()); + assertEquals(50, applicant.getVerificationPoints()); + assertEquals(50, n1.getVerificationPoints()); + assertEquals(50, n2.getVerificationPoints()); } @Test public void testNucleusProcess() throws SQLException, GigiApiException, IOException { - User assuranceUser = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); - assuranceUser.grantGroup(getSupporter(), Group.NUCLEUS_ASSURER); - User assuranceUser2 = User.getById(createAssuranceUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); - assuranceUser2.grantGroup(getSupporter(), Group.NUCLEUS_ASSURER); - User assuree = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); - Notary.assure(assuranceUser, assuree, assuree.getPreferredName(), assuree.getDoB(), 50, "test", validVerificationDateString(), AssuranceType.NUCLEUS, DE); - Notary.assure(assuranceUser2, assuree, assuree.getPreferredName(), assuree.getDoB(), 50, "test", validVerificationDateString(), AssuranceType.NUCLEUS, DE); - - assertEquals(100, assuree.getAssurancePoints()); - assertFalse(assuree.canAssure()); - CATS.enterResult(assuree, CATSType.ASSURER_CHALLENGE, new Date(), "de", "1"); - assertTrue(assuree.canAssure()); + User agent1 = User.getById(createVerificationUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + agent1.grantGroup(getSupporter(), Group.NUCLEUS_ASSURER); + User agent2 = User.getById(createVerificationUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + agent2.grantGroup(getSupporter(), Group.NUCLEUS_ASSURER); + User applicant = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "@example.org", TEST_PASSWORD)); + Notary.verify(agent1, applicant, applicant.getPreferredName(), applicant.getDoB(), 50, "test", validVerificationDateString(), VerificationType.NUCLEUS, DE); + Notary.verify(agent2, applicant, applicant.getPreferredName(), applicant.getDoB(), 50, "test", validVerificationDateString(), VerificationType.NUCLEUS, DE); + + assertEquals(100, applicant.getVerificationPoints()); + assertFalse(applicant.canVerify()); + CATS.enterResult(applicant, CATSType.AGENT_CHALLENGE, new Date(), "de", "1"); + assertTrue(applicant.canVerify()); } }