X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2FTestUser.java;h=dffbbded86475e683b28d64a1cfa9ceb8653e176;hb=12c6327bdc31d1f1d50159de69641d878827dddf;hp=4bc38e5e37bc4cf81a9dd5b7e4ec2b359ace50fa;hpb=aa1827120e7034a2247b015e91dbd29ed3cf4db5;p=gigi.git diff --git a/tests/org/cacert/gigi/TestUser.java b/tests/org/cacert/gigi/TestUser.java index 4bc38e5e..dffbbded 100644 --- a/tests/org/cacert/gigi/TestUser.java +++ b/tests/org/cacert/gigi/TestUser.java @@ -1,13 +1,19 @@ 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; 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 @@ -17,13 +23,14 @@ public class TestUser extends ManagedTest { u.setLname("last"); u.setMname(""); u.setSuffix(""); + u.setPreferredLocale(Locale.ENGLISH); long dob = System.currentTimeMillis(); dob -= dob % (1000 * 60 * 60 * 24); u.setDob(new java.sql.Date(dob)); 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); } @@ -31,7 +38,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()); @@ -41,7 +48,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(); @@ -60,21 +67,21 @@ 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("de")); - new EmailAddress(uq + "c@email.org", u).insert(Language.getInstance("de")); - new Domain(u, uq + "a.testdomain.org").insert(); - new Domain(u, uq + "b.testdomain.org").insert(); - new Domain(u, uq + "c.testdomain.org").insert(); + 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(); 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")); @@ -87,4 +94,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().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); + } + }