]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/TestUser.java
Fix: some exeptional resource leaks.
[gigi.git] / tests / org / cacert / gigi / TestUser.java
index 379f35473cc03abf1a4cf48f06ba4f12ab214dde..f4e0e60a07fc29f69537d23336cbf0113ab6d2b5 100644 (file)
@@ -1,8 +1,12 @@
 package org.cacert.gigi;
 
+import static org.junit.Assert.*;
+
+import java.sql.Date;
 import java.sql.SQLException;
 import java.util.Locale;
 
+import org.cacert.gigi.dbObjects.Assurance;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.EmailAddress;
 import org.cacert.gigi.dbObjects.User;
@@ -10,8 +14,6 @@ import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.testUtils.ManagedTest;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 public class TestUser extends ManagedTest {
 
     @Test
@@ -29,7 +31,9 @@ public class TestUser extends ManagedTest {
         u.insert("password");
         int id = u.getId();
         User u2 = User.getById(id);
-        assertEquals(u, u2);
+        assertEquals(u.getName(), u2.getName());
+        assertEquals(u.getDob().toString(), u2.getDob().toString());
+        assertEquals(u.getEmail(), u2.getEmail());
     }
 
     @Test
@@ -66,20 +70,20 @@ public class TestUser extends ManagedTest {
         int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
 
         User u = User.getById(id);
-        new EmailAddress(uq + "b@email.org", u).insert(Language.getInstance(Locale.ENGLISH));
-        new EmailAddress(uq + "c@email.org", u).insert(Language.getInstance(Locale.ENGLISH));
-        new Domain(u, uq + "a.testdomain.org").insert();
-        new Domain(u, uq + "b.testdomain.org").insert();
-        new Domain(u, uq + "c.testdomain.org").insert();
+        new EmailAddress(u, uq + "b@email.org").insert(Language.getInstance(Locale.ENGLISH));
+        new EmailAddress(u, uq + "c@email.org").insert(Language.getInstance(Locale.ENGLISH));
+        new Domain(u, uq + "a-testdomain.org").insert();
+        new Domain(u, uq + "b-testdomain.org").insert();
+        new Domain(u, uq + "c-testdomain.org").insert();
         assertEquals(3, u.getEmails().length);
         assertEquals(3, u.getDomains().length);
-        assertTrue(u.isValidDomain(uq + "a.testdomain.org"));
-        assertTrue(u.isValidDomain(uq + "b.testdomain.org"));
-        assertTrue(u.isValidDomain(uq + "c.testdomain.org"));
-        assertTrue(u.isValidDomain("a." + uq + "a.testdomain.org"));
-        assertTrue(u.isValidDomain("*." + uq + "a.testdomain.org"));
-        assertFalse(u.isValidDomain("a" + uq + "a.testdomain.org"));
-        assertFalse(u.isValidDomain("b" + uq + "a.testdomain.org"));
+        assertTrue(u.isValidDomain(uq + "a-testdomain.org"));
+        assertTrue(u.isValidDomain(uq + "b-testdomain.org"));
+        assertTrue(u.isValidDomain(uq + "c-testdomain.org"));
+        assertTrue(u.isValidDomain("a." + uq + "a-testdomain.org"));
+        assertTrue(u.isValidDomain("*." + uq + "a-testdomain.org"));
+        assertFalse(u.isValidDomain("a" + uq + "a-testdomain.org"));
+        assertFalse(u.isValidDomain("b" + uq + "a-testdomain.org"));
 
         assertTrue(u.isValidEmail(uq + "a@email.org"));
         assertTrue(u.isValidEmail(uq + "b@email.org"));
@@ -92,4 +96,43 @@ public class TestUser extends ManagedTest {
 
     }
 
+    @Test
+    public void testDoubleInsert() {
+        User u = new User();
+        u.setFname("f");
+        u.setLname("l");
+        u.setMname("m");
+        u.setSuffix("s");
+        u.setEmail(createUniqueName() + "@example.org");
+        u.setDob(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365));
+        u.setPreferredLocale(Locale.ENGLISH);
+        u.insert(TEST_PASSWORD);
+        try {
+            u.insert(TEST_PASSWORD);
+            fail("Error expected");
+        } catch (Error e) {
+            // expected
+        }
+        Assurance[] ma = u.getMadeAssurances();
+        Assurance[] ma2 = u.getMadeAssurances();
+        Assurance[] ra = u.getReceivedAssurances();
+        Assurance[] ra2 = u.getReceivedAssurances();
+        assertEquals(0, u.getCertificates(false).length);
+        assertEquals(0, ma.length);
+        assertEquals(0, ma2.length);
+        assertEquals(0, ra.length);
+        assertEquals(0, ra2.length);
+        assertSame(ma, ma2);
+        assertSame(ra, ra2);
+    }
+
+    @Test
+    public void testGetByMail() {
+        String email = createUniqueName() + "a@email.org";
+        int id = createVerifiedUser("aä", "b", email, TEST_PASSWORD);
+        User emailUser = User.getByEmail(email);
+        User u = User.getById(id);
+        assertSame(u, emailUser);
+    }
+
 }