]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/TestUser.java
ADD: another user testcase.
[gigi.git] / tests / org / cacert / gigi / TestUser.java
index 5831da1f9a5310616eaac9df15515ae009cf65fa..56bed31ded80065db6c4e6d25710e93154401ba5 100644 (file)
@@ -3,6 +3,10 @@ package org.cacert.gigi;
 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;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.testUtils.ManagedTest;
 import org.junit.Test;
@@ -25,7 +29,7 @@ public class TestUser extends ManagedTest {
         u.setEmail(createUniqueName() + "a@email.org");
         u.insert("password");
         int id = u.getId();
-        User u2 = new User(id);
+        User u2 = User.getById(id);
         assertEquals(u, u2);
     }
 
@@ -33,7 +37,7 @@ public class TestUser extends ManagedTest {
     public void testWebStoreAndLoad() throws SQLException {
         int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
 
-        User u = new User(id);
+        User u = User.getById(id);
         assertEquals("aä", u.getFname());
         assertEquals("b", u.getLname());
         assertEquals("", u.getMname());
@@ -43,7 +47,7 @@ public class TestUser extends ManagedTest {
     public void testAssurerUtilMethods() throws SQLException {
         int id = createAssuranceUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD);
 
-        User u = new User(id);
+        User u = User.getById(id);
         assertTrue(u.canAssure());
         int assurancePoints = u.getAssurancePoints();
         int expPoints = u.getExperiencePoints();
@@ -62,9 +66,9 @@ public class TestUser extends ManagedTest {
         String uq = createUniqueName();
         int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD);
 
-        User u = new User(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));
+        User u = User.getById(id);
+        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();
@@ -89,4 +93,30 @@ public class TestUser extends ManagedTest {
 
     }
 
+    @Test
+    public void testDoubleInsert() {
+        User u = new User();
+        u.setFname("f");
+        u.setLname("l");
+        u.setEmail(createUniqueName() + "@example.org");
+        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().length);
+        assertEquals(0, ma.length);
+        assertEquals(0, ma2.length);
+        assertEquals(0, ra.length);
+        assertEquals(0, ra2.length);
+        assertSame(ma, ma2);
+        assertSame(ra, ra2);
+    }
+
 }