]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestUser.java
Merge branch 'master' into csrParse
[gigi.git] / tests / org / cacert / gigi / TestUser.java
1 package org.cacert.gigi;
2
3 import java.sql.SQLException;
4
5 import org.cacert.gigi.localisation.Language;
6 import org.cacert.gigi.testUtils.ManagedTest;
7 import org.junit.Test;
8
9 import static org.junit.Assert.*;
10
11 public class TestUser extends ManagedTest {
12
13     @Test
14     public void testStoreAndLoad() throws SQLException {
15         User u = new User();
16         u.setFname("user");
17         u.setLname("last");
18         u.setMname("");
19         u.setSuffix("");
20         long dob = System.currentTimeMillis();
21         dob -= dob % (1000 * 60 * 60 * 24);
22         u.setDob(new java.sql.Date(dob));
23         u.setEmail(createUniqueName() + "a@email.org");
24         u.insert("password");
25         int id = u.getId();
26         User u2 = new User(id);
27         assertEquals(u, u2);
28     }
29
30     @Test
31     public void testWebStoreAndLoad() throws SQLException {
32         int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
33
34         User u = new User(id);
35         assertEquals("aä", u.getFname());
36         assertEquals("b", u.getLname());
37         assertEquals("", u.getMname());
38     }
39
40     @Test
41     public void testAssurerUtilMethods() throws SQLException {
42         int id = createAssuranceUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
43
44         User u = new User(id);
45         assertTrue(u.canAssure());
46         int assurancePoints = u.getAssurancePoints();
47         int expPoints = u.getExperiencePoints();
48         assertEquals(100, assurancePoints);
49         assertEquals(2, expPoints);
50         assertTrue(u.hasPassedCATS());
51         assertEquals(10, u.getMaxAssurePoints());
52
53         assertEquals("aä", u.getFname());
54         assertEquals("b", u.getLname());
55         assertEquals("", u.getMname());
56     }
57
58     @Test
59     public void testMatcherMethods() throws SQLException, GigiApiException {
60         String uq = createUniqueName();
61         int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
62
63         User u = new User(id);
64         new EmailAddress(uq + "b@email.org", u).insert(Language.getInstance("de"));
65         new EmailAddress(uq + "c@email.org", u).insert(Language.getInstance("de"));
66         new Domain(u, uq + "a.testdomain.org").insert();
67         new Domain(u, uq + "b.testdomain.org").insert();
68         new Domain(u, uq + "c.testdomain.org").insert();
69         assertEquals(3, u.getEmails().length);
70         assertEquals(3, u.getDomains().length);
71         assertTrue(u.isValidDomain(uq + "a.testdomain.org"));
72         assertTrue(u.isValidDomain(uq + "b.testdomain.org"));
73         assertTrue(u.isValidDomain(uq + "c.testdomain.org"));
74         assertTrue(u.isValidDomain("a." + uq + "a.testdomain.org"));
75         assertTrue(u.isValidDomain("*." + uq + "a.testdomain.org"));
76         assertFalse(u.isValidDomain("a" + uq + "a.testdomain.org"));
77         assertFalse(u.isValidDomain("b" + uq + "a.testdomain.org"));
78
79         assertTrue(u.isValidEmail(uq + "a@email.org"));
80         assertTrue(u.isValidEmail(uq + "b@email.org"));
81         assertFalse(u.isValidEmail(uq + "b+6@email.org"));
82         assertFalse(u.isValidEmail(uq + "b*@email.org"));
83
84         assertTrue(u.isValidName("aä b"));
85         assertFalse(u.isValidName("aä c"));
86         assertFalse(u.isValidName("aä d b"));
87
88     }
89
90 }