/** * ============================================================================= * * ORCID (R) Open Source * http://orcid.org * * Copyright (c) 2012-2014 ORCID, Inc. * Licensed under an MIT-Style License (MIT) * http://orcid.org/open-source-license * * This copyright and license information (including a link to the full license) * shall be included in its entirety in all copies or substantial portion of * the software. * * ============================================================================= */ package org.orcid.persistence.dao; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.List; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.orcid.statistics.dao.StatisticsDao; import org.orcid.statistics.jpa.entities.StatisticKeyEntity; import org.orcid.statistics.jpa.entities.StatisticValuesEntity; import org.orcid.test.OrcidJUnit4ClassRunner; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Transactional; @RunWith(OrcidJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:statistics-persistence-context.xml" }) public class StatisticsDaoTest { @Resource StatisticsDao statisticsDao; @Test @Transactional public void testStatistics() { StatisticKeyEntity key = statisticsDao.createKey(); StatisticKeyEntity latestKey = statisticsDao.createKey(); StatisticValuesEntity os1 = new StatisticValuesEntity(latestKey, "s1", 11); StatisticValuesEntity os2 = new StatisticValuesEntity(latestKey, "s2", 3); StatisticValuesEntity os3 = new StatisticValuesEntity(latestKey, "s3", 12); StatisticValuesEntity os4 = new StatisticValuesEntity(latestKey, "s4", 7); StatisticValuesEntity os5 = new StatisticValuesEntity(latestKey, "s5", 0); StatisticValuesEntity os6 = new StatisticValuesEntity(key, "s6", 0); StatisticValuesEntity os7 = new StatisticValuesEntity(key, "s7", 0); statisticsDao.persist(os1); statisticsDao.persist(os2); statisticsDao.persist(os3); statisticsDao.persist(os4); statisticsDao.persist(os5); statisticsDao.persist(os6); statisticsDao.persist(os7); StatisticKeyEntity latestKeyFromDB = statisticsDao.getLatestKey(); assertEquals(latestKey, latestKeyFromDB); List<StatisticValuesEntity> statistics = statisticsDao.getStatistic(latestKeyFromDB.getId()); assertNotNull(statistics); assertEquals(statistics.size(), 5); assertTrue(statistics.contains(os1)); assertTrue(statistics.contains(os2)); assertTrue(statistics.contains(os3)); assertTrue(statistics.contains(os4)); assertTrue(statistics.contains(os5)); assertFalse(statistics.contains(os6)); assertFalse(statistics.contains(os7)); } }