1 package org.cacert.gigi;
3 import java.sql.SQLException;
4 import java.util.Locale;
6 import org.cacert.gigi.dbObjects.Domain;
7 import org.cacert.gigi.dbObjects.EmailAddress;
8 import org.cacert.gigi.dbObjects.User;
9 import org.cacert.gigi.localisation.Language;
10 import org.cacert.gigi.testUtils.ManagedTest;
11 import org.junit.Test;
13 import static org.junit.Assert.*;
15 public class TestUser extends ManagedTest {
18 public void testStoreAndLoad() throws SQLException {
24 u.setPreferredLocale(Locale.ENGLISH);
25 long dob = System.currentTimeMillis();
26 dob -= dob % (1000 * 60 * 60 * 24);
27 u.setDob(new java.sql.Date(dob));
28 u.setEmail(createUniqueName() + "a@email.org");
31 User u2 = User.getById(id);
36 public void testWebStoreAndLoad() throws SQLException {
37 int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
39 User u = User.getById(id);
40 assertEquals("aä", u.getFname());
41 assertEquals("b", u.getLname());
42 assertEquals("", u.getMname());
46 public void testAssurerUtilMethods() throws SQLException {
47 int id = createAssuranceUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
49 User u = User.getById(id);
50 assertTrue(u.canAssure());
51 int assurancePoints = u.getAssurancePoints();
52 int expPoints = u.getExperiencePoints();
53 assertEquals(100, assurancePoints);
54 assertEquals(2, expPoints);
55 assertTrue(u.hasPassedCATS());
56 assertEquals(10, u.getMaxAssurePoints());
58 assertEquals("aä", u.getFname());
59 assertEquals("b", u.getLname());
60 assertEquals("", u.getMname());
64 public void testMatcherMethods() throws SQLException, GigiApiException {
65 String uq = createUniqueName();
66 int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
68 User u = User.getById(id);
69 new EmailAddress(u, uq + "b@email.org").insert(Language.getInstance(Locale.ENGLISH));
70 new EmailAddress(u, uq + "c@email.org").insert(Language.getInstance(Locale.ENGLISH));
71 new Domain(u, uq + "a.testdomain.org").insert();
72 new Domain(u, uq + "b.testdomain.org").insert();
73 new Domain(u, uq + "c.testdomain.org").insert();
74 assertEquals(3, u.getEmails().length);
75 assertEquals(3, u.getDomains().length);
76 assertTrue(u.isValidDomain(uq + "a.testdomain.org"));
77 assertTrue(u.isValidDomain(uq + "b.testdomain.org"));
78 assertTrue(u.isValidDomain(uq + "c.testdomain.org"));
79 assertTrue(u.isValidDomain("a." + uq + "a.testdomain.org"));
80 assertTrue(u.isValidDomain("*." + uq + "a.testdomain.org"));
81 assertFalse(u.isValidDomain("a" + uq + "a.testdomain.org"));
82 assertFalse(u.isValidDomain("b" + uq + "a.testdomain.org"));
84 assertTrue(u.isValidEmail(uq + "a@email.org"));
85 assertTrue(u.isValidEmail(uq + "b@email.org"));
86 assertFalse(u.isValidEmail(uq + "b+6@email.org"));
87 assertFalse(u.isValidEmail(uq + "b*@email.org"));
89 assertTrue(u.isValidName("aä b"));
90 assertFalse(u.isValidName("aä c"));
91 assertFalse(u.isValidName("aä d b"));