+
+ @Test
+ public void testMatcherMethodsEmail() throws SQLException, GigiApiException, IOException {
+ String uq = createUniqueName();
+ int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
+
+ User u = User.getById(id);
+
+ new EmailAddress(u, uq + "b@email.org", Locale.ENGLISH);
+ getMailReceiver().receive().verify();
+ new EmailAddress(u, uq + "c@email.org", Locale.ENGLISH);
+ getMailReceiver().receive();// no-verify
+ assertEquals(3, u.getEmails().length);
+
+ assertTrue(u.isValidEmail(uq + "a@email.org"));
+ assertTrue(u.isValidEmail(uq + "b@email.org"));
+ assertFalse(u.isValidEmail(uq + "b+6@email.org"));
+ assertFalse(u.isValidEmail(uq + "b*@email.org"));
+ assertFalse(u.isValidEmail(uq + "c@email.org"));
+ }
+
+ @Test
+ public void testMatcherMethodsName() throws SQLException, GigiApiException, IOException {
+ String uq = createUniqueName();
+ int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
+
+ User u = User.getById(id);
+
+ User[] us = new User[5];
+ for (int i = 0; i < us.length; i++) {
+ us[i] = User.getById(createAssuranceUser("f", "l", createUniqueName() + "@email.com", TEST_PASSWORD));
+ Notary.assure(us[i], u, u.getPreferredName(), u.getDoB(), 10, "here", validVerificationDateString(), AssuranceType.FACE_TO_FACE);
+ }
+
+ assertTrue(u.isValidName("aä b"));
+ assertFalse(u.isValidName("aä c"));
+ assertFalse(u.isValidName("aä d b"));
+
+ }
+
+ @Test
+ public void testDoubleInsert() throws GigiApiException {
+ long d = System.currentTimeMillis();
+ d -= d % DayDate.MILLI_DAY;
+ User u = createUser("f", "l", createUniqueName() + "@example.org", TEST_PASSWORD);
+ Assurance[] ma = u.getMadeAssurances();
+ Assurance[] ma2 = u.getMadeAssurances();
+ Assurance[] ra = u.getReceivedAssurances();
+ Assurance[] ra2 = u.getReceivedAssurances();
+ assertEquals(0, u.getCertificates(false).length);
+ assertEquals(0, ma.length);
+ assertEquals(0, ma2.length);
+ assertEquals(0, ra.length);
+ assertEquals(0, ra2.length);
+ assertSame(ma, ma2);
+ assertSame(ra, ra2);
+ }
+
+ @Test
+ public void testGetByMail() throws GigiApiException {
+ String email = createUniqueName() + "a@email.org";
+ int id = createVerifiedUser("aä", "b", email, TEST_PASSWORD);
+ User emailUser = User.getByEmail(email);
+ User u = User.getById(id);
+ assertSame(u, emailUser);
+ }
+
+ @Test
+ public void testNoCats() throws GigiApiException {
+ String email = createUniqueName() + "a@email.org";
+ createVerifiedUser("aä", "b", email, TEST_PASSWORD);
+ User emailUser = User.getByEmail(email);
+ assertFalse(emailUser.hasPassedCATS());
+ }
+
+ @Test
+ public void testGetByMailFail() {
+ String email = createUniqueName() + "d@email.org";
+ User emailUser = User.getByEmail(email);
+ assertNull(emailUser);
+ }
+