+ @Test
+ public void testDoubleInsert() {
+ User u = new User();
+ u.setName(new Name("f", "k", "m", "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);
+ }
+