]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestUser.java
Move the "dbObject"s to their own package.
[gigi.git] / tests / org / cacert / gigi / TestUser.java
1 package org.cacert.gigi;
2
3 import java.sql.SQLException;
4 import java.util.Locale;
5
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;
12
13 import static org.junit.Assert.*;
14
15 public class TestUser extends ManagedTest {
16
17     @Test
18     public void testStoreAndLoad() throws SQLException {
19         User u = new User();
20         u.setFname("user");
21         u.setLname("last");
22         u.setMname("");
23         u.setSuffix("");
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");
29         u.insert("password");
30         int id = u.getId();
31         User u2 = new User(id);
32         assertEquals(u, u2);
33     }
34
35     @Test
36     public void testWebStoreAndLoad() throws SQLException {
37         int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
38
39         User u = new User(id);
40         assertEquals("aä", u.getFname());
41         assertEquals("b", u.getLname());
42         assertEquals("", u.getMname());
43     }
44
45     @Test
46     public void testAssurerUtilMethods() throws SQLException {
47         int id = createAssuranceUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
48
49         User u = new User(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());
57
58         assertEquals("aä", u.getFname());
59         assertEquals("b", u.getLname());
60         assertEquals("", u.getMname());
61     }
62
63     @Test
64     public void testMatcherMethods() throws SQLException, GigiApiException {
65         String uq = createUniqueName();
66         int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
67
68         User u = new User(id);
69         new EmailAddress(uq + "b@email.org", u).insert(Language.getInstance(Locale.ENGLISH));
70         new EmailAddress(uq + "c@email.org", u).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"));
83
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"));
88
89         assertTrue(u.isValidName("aä b"));
90         assertFalse(u.isValidName("aä c"));
91         assertFalse(u.isValidName("aä d b"));
92
93     }
94
95 }