X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2FTestUser.java;h=edee51f04581e90669452eb4efbd86d94ef931f8;hp=30a46b7e66ab41b883a19162db188b039e3cddd4;hb=b47144d6f3bf6b6eb1ec477de9d2af38256f074f;hpb=9031f0cf4327eaef9ede27f83cadf0b44833193c diff --git a/tests/org/cacert/gigi/TestUser.java b/tests/org/cacert/gigi/TestUser.java index 30a46b7e..edee51f0 100644 --- a/tests/org/cacert/gigi/TestUser.java +++ b/tests/org/cacert/gigi/TestUser.java @@ -1,42 +1,39 @@ 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.Name; 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 - public void testStoreAndLoad() throws SQLException { - User u = new User(); - u.setFname("user"); - u.setLname("last"); - u.setMname(""); - u.setSuffix(""); - u.setPreferredLocale(Locale.ENGLISH); + public void testStoreAndLoad() throws SQLException, GigiApiException { 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"); + User u = new User(createUniqueName() + "a@email.org", "password", new Name("user", "last", "", ""), new java.sql.Date(dob), Locale.ENGLISH); 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 public void testWebStoreAndLoad() throws SQLException { int id = createVerifiedUser("aä", "b", createUniqueName() + "a@email.org", TEST_PASSWORD); - User u = User.getById(id); + Name u = User.getById(id).getName(); + assertEquals("aä", u.getFname()); assertEquals("b", u.getLname()); assertEquals("", u.getMname()); @@ -54,10 +51,10 @@ public class TestUser extends ManagedTest { assertEquals(2, expPoints); assertTrue(u.hasPassedCATS()); assertEquals(10, u.getMaxAssurePoints()); - - assertEquals("aä", u.getFname()); - assertEquals("b", u.getLname()); - assertEquals("", u.getMname()); + Name name = u.getName(); + assertEquals("aä", name.getFname()); + assertEquals("b", name.getLname()); + assertEquals("", name.getMname()); } @Test @@ -66,20 +63,20 @@ public class TestUser extends ManagedTest { int id = createVerifiedUser("aä", "b", uq + "a@email.org", TEST_PASSWORD); 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(); + new EmailAddress(u, uq + "b@email.org", Locale.ENGLISH); + new EmailAddress(u, uq + "c@email.org", Locale.ENGLISH); + new Domain(u, uq + "a-testdomain.org"); + new Domain(u, uq + "b-testdomain.org"); + new Domain(u, uq + "c-testdomain.org"); 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 +89,29 @@ public class TestUser extends ManagedTest { } + @Test + public void testDoubleInsert() throws GigiApiException { + User u = new User(createUniqueName() + "@example.org", TEST_PASSWORD, new Name("f", "k", "m", "s"), new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365), Locale.ENGLISH); + 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); + } + }