]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestUser.java
5831da1f9a5310616eaac9df15515ae009cf65fa
[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.localisation.Language;
7 import org.cacert.gigi.testUtils.ManagedTest;
8 import org.junit.Test;
9
10 import static org.junit.Assert.*;
11
12 public class TestUser extends ManagedTest {
13
14     @Test
15     public void testStoreAndLoad() throws SQLException {
16         User u = new User();
17         u.setFname("user");
18         u.setLname("last");
19         u.setMname("");
20         u.setSuffix("");
21         u.setPreferredLocale(Locale.ENGLISH);
22         long dob = System.currentTimeMillis();
23         dob -= dob % (1000 * 60 * 60 * 24);
24         u.setDob(new java.sql.Date(dob));
25         u.setEmail(createUniqueName() + "a@email.org");
26         u.insert("password");
27         int id = u.getId();
28         User u2 = new User(id);
29         assertEquals(u, u2);
30     }
31
32     @Test
33     public void testWebStoreAndLoad() throws SQLException {
34         int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
35
36         User u = new User(id);
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 = new User(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
55         assertEquals("aä", u.getFname());
56         assertEquals("b", u.getLname());
57         assertEquals("", u.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 = new User(id);
66         new EmailAddress(uq + "b@email.org", u).insert(Language.getInstance(Locale.ENGLISH));
67         new EmailAddress(uq + "c@email.org", u).insert(Language.getInstance(Locale.ENGLISH));
68         new Domain(u, uq + "a.testdomain.org").insert();
69         new Domain(u, uq + "b.testdomain.org").insert();
70         new Domain(u, uq + "c.testdomain.org").insert();
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 }