log.info("First insert");
InfoLoginResult result1 = oam.persistUser(firstDate, user, ip, null);
assertEquals(true, result1.isFirstTime());
assertEquals(firstDate, result1.getDate());
User user = getUser();
log.info("User(1): "+user);
assertEquals(user.getEmail(), user.getEmail());
assertEquals(1, user.getLogins().size());
assertEquals(firstDate, user.getLogins().get(0).getLoginDate());
log.info("Second insert");
InfoLoginResult result2 = oam.persistUser(secondDate, this.user, ip, null);
assertEquals(false, result2.isFirstTime());
assertEquals(firstDate, result2.getDate());
user = getUser();
log.info("User(2): "+user);
assertEquals(user.getEmail(), user.getEmail());
assertEquals(2, user.getLogins().size());
assertEquals(firstDate, user.getLogins().get(0).getLoginDate());
assertEquals(secondDate, user.getLogins().get(1).getLoginDate());
log.info("Third insert");
InfoLoginResult result3 = oam.persistUser(thirdDate, this.user, ip, null);
assertEquals(false, result3.isFirstTime());
assertEquals(secondDate, result3.getDate());
user = getUser();
log.info("User(3): "+user);
assertEquals(user.getEmail(), user.getEmail());
assertEquals(3, user.getLogins().size());
assertEquals(firstDate, user.getLogins().get(0).getLoginDate());
assertEquals(secondDate, user.getLogins().get(1).getLoginDate());
assertEquals(thirdDate, user.getLogins().get(2).getLoginDate());
}