]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestUser.java
UPD: minor consistency cleanups
[gigi.git] / tests / org / cacert / gigi / TestUser.java
1 package org.cacert.gigi;
2
3 import static org.junit.Assert.*;
4
5 import java.sql.Date;
6 import java.sql.SQLException;
7 import java.util.Locale;
8
9 import org.cacert.gigi.dbObjects.Assurance;
10 import org.cacert.gigi.dbObjects.Domain;
11 import org.cacert.gigi.dbObjects.EmailAddress;
12 import org.cacert.gigi.dbObjects.Name;
13 import org.cacert.gigi.dbObjects.User;
14 import org.cacert.gigi.testUtils.ManagedTest;
15 import org.junit.Test;
16
17 public class TestUser extends ManagedTest {
18
19     @Test
20     public void testStoreAndLoad() throws SQLException, GigiApiException {
21         long dob = System.currentTimeMillis();
22         dob -= dob % (1000 * 60 * 60 * 24);
23         User u = new User(createUniqueName() + "a@email.org", "password", new Name("user", "last", "", ""), new java.sql.Date(dob), Locale.ENGLISH);
24         int id = u.getId();
25         User u2 = User.getById(id);
26         assertEquals(u.getName(), u2.getName());
27         assertEquals(u.getDoB().toString(), u2.getDoB().toString());
28         assertEquals(u.getEmail(), u2.getEmail());
29     }
30
31     @Test
32     public void testWebStoreAndLoad() throws SQLException {
33         int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
34
35         Name u = User.getById(id).getName();
36
37         assertEquals("aä", u.getFname());
38         assertEquals("b", u.getLname());
39         assertEquals("", u.getMname());
40     }
41
42     @Test
43     public void testAssurerUtilMethods() throws SQLException {
44         int id = createAssuranceUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
45
46         User u = User.getById(id);
47         assertTrue(u.canAssure());
48         int assurancePoints = u.getAssurancePoints();
49         int expPoints = u.getExperiencePoints();
50         assertEquals(100, assurancePoints);
51         assertEquals(2, expPoints);
52         assertTrue(u.hasPassedCATS());
53         assertEquals(10, u.getMaxAssurePoints());
54         Name name = u.getName();
55         assertEquals("aä", name.getFname());
56         assertEquals("b", name.getLname());
57         assertEquals("", name.getMname());
58     }
59
60     @Test
61     public void testMatcherMethods() throws SQLException, GigiApiException {
62         String uq = createUniqueName();
63         int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
64
65         User u = User.getById(id);
66         new EmailAddress(u, uq + "b@email.org", Locale.ENGLISH);
67         new EmailAddress(u, uq + "c@email.org", Locale.ENGLISH);
68         new Domain(u, uq + "a-testdomain.org");
69         new Domain(u, uq + "b-testdomain.org");
70         new Domain(u, uq + "c-testdomain.org");
71         assertEquals(3, u.getEmails().length);
72         assertEquals(3, u.getDomains().length);
73         assertTrue(u.isValidDomain(uq + "a-testdomain.org"));
74         assertTrue(u.isValidDomain(uq + "b-testdomain.org"));
75         assertTrue(u.isValidDomain(uq + "c-testdomain.org"));
76         assertTrue(u.isValidDomain("a." + uq + "a-testdomain.org"));
77         assertTrue(u.isValidDomain("*." + uq + "a-testdomain.org"));
78         assertFalse(u.isValidDomain("a" + uq + "a-testdomain.org"));
79         assertFalse(u.isValidDomain("b" + uq + "a-testdomain.org"));
80
81         assertTrue(u.isValidEmail(uq + "a@email.org"));
82         assertTrue(u.isValidEmail(uq + "b@email.org"));
83         assertFalse(u.isValidEmail(uq + "b+6@email.org"));
84         assertFalse(u.isValidEmail(uq + "b*@email.org"));
85
86         assertTrue(u.isValidName("aä b"));
87         assertFalse(u.isValidName("aä c"));
88         assertFalse(u.isValidName("aä d b"));
89
90     }
91
92     @Test
93     public void testDoubleInsert() throws GigiApiException {
94         User u = new User(createUniqueName() + "@example.org", TEST_PASSWORD, new Name("f", "k", "m", "s"), new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365), Locale.ENGLISH);
95         Assurance[] ma = u.getMadeAssurances();
96         Assurance[] ma2 = u.getMadeAssurances();
97         Assurance[] ra = u.getReceivedAssurances();
98         Assurance[] ra2 = u.getReceivedAssurances();
99         assertEquals(0, u.getCertificates(false).length);
100         assertEquals(0, ma.length);
101         assertEquals(0, ma2.length);
102         assertEquals(0, ra.length);
103         assertEquals(0, ra2.length);
104         assertSame(ma, ma2);
105         assertSame(ra, ra2);
106     }
107
108     @Test
109     public void testGetByMail() {
110         String email = createUniqueName() + "a@email.org";
111         int id = createVerifiedUser("aä", "b", email, TEST_PASSWORD);
112         User emailUser = User.getByEmail(email);
113         User u = User.getById(id);
114         assertSame(u, emailUser);
115     }
116
117 }