1 package org.cacert.gigi;
3 import static org.hamcrest.CoreMatchers.*;
4 import static org.junit.Assert.*;
7 import java.sql.SQLException;
8 import java.util.Calendar;
9 import java.util.Locale;
11 import org.cacert.gigi.dbObjects.Domain;
12 import org.cacert.gigi.dbObjects.EmailAddress;
13 import org.cacert.gigi.dbObjects.Name;
14 import org.cacert.gigi.dbObjects.User;
15 import org.cacert.gigi.localisation.Language;
16 import org.cacert.gigi.testUtils.ManagedTest;
17 import org.junit.Test;
19 public class TestObjectCache extends ManagedTest {
21 int uid = createVerifiedUser("fname", "lname", createUniqueName() + "@example.com", TEST_PASSWORD);
24 public void testUserCache() throws SQLException {
25 assertThat(User.getById(uid), is(sameInstance(User.getById(uid))));
28 u.setName(new Name("fname", "lname", "mname", "suffix"));
29 u.setEmail(createUniqueName() + "@example.org");
30 Calendar c = Calendar.getInstance();
32 u.setDoB(new Date(c.getTime().getTime()));
33 u.setPreferredLocale(Locale.ENGLISH);
34 u.insert(TEST_PASSWORD);
36 assertThat(u, is(sameInstance(User.getById(u.getId()))));
37 assertThat(User.getById(u.getId()), is(sameInstance(User.getById(u.getId()))));
42 public void testDomainCache() throws GigiApiException {
43 Domain d = new Domain(User.getById(uid), "example.org");
46 assertThat(d, is(sameInstance(Domain.getById(d.getId()))));
47 assertThat(Domain.getById(d.getId()), is(sameInstance(Domain.getById(d.getId()))));
51 public void testEmailCache() throws GigiApiException {
52 EmailAddress em = new EmailAddress(User.getById(uid), createUniqueName() + "@example.org");
53 em.insert(Language.getInstance(Locale.ENGLISH));
55 assertThat(em, is(sameInstance(EmailAddress.getById(em.getId()))));
56 assertThat(EmailAddress.getById(em.getId()), is(sameInstance(EmailAddress.getById(em.getId()))));