package pl.edu.icm.saos.persistence.enrichment; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.hamcrest.Matchers.*; import static org.hamcrest.MatcherAssert.*; import java.util.List; import org.junit.Test; import org.junit.experimental.categories.Category; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.util.ReflectionTestUtils; import com.google.common.collect.Lists; import pl.edu.icm.saos.common.testcommon.category.SlowTest; import pl.edu.icm.saos.persistence.PersistenceTestSupport; import pl.edu.icm.saos.persistence.enrichment.model.JudgmentEnrichmentHash; /** * @author madryk */ @Category(SlowTest.class) public class JudgmentEnrichmentHashRepositoryTest extends PersistenceTestSupport { @Autowired private JudgmentEnrichmentHashRepository judgmentEnrichmentHashRepository; //------------------------ TESTS -------------------------- @Test public void markAllAsProcessed() { // given JudgmentEnrichmentHash enrichmentHash1 = createJudgmentEnrichmentHash(1L, true); JudgmentEnrichmentHash enrichmentHash2 = createJudgmentEnrichmentHash(2L, false); JudgmentEnrichmentHash enrichmentHash3 = createJudgmentEnrichmentHash(3L, false); judgmentEnrichmentHashRepository.save(Lists.newArrayList(enrichmentHash1, enrichmentHash2, enrichmentHash3)); // execute judgmentEnrichmentHashRepository.markAllAsProcessed(); // assert assertTrue(judgmentEnrichmentHashRepository.findOne(enrichmentHash1.getId()).isProcessed()); assertTrue(judgmentEnrichmentHashRepository.findOne(enrichmentHash2.getId()).isProcessed()); assertTrue(judgmentEnrichmentHashRepository.findOne(enrichmentHash3.getId()).isProcessed()); } @Test public void findAllJudgmentsIdsToProcess() { // given JudgmentEnrichmentHash enrichmentHash1 = createJudgmentEnrichmentHash(1L, true); JudgmentEnrichmentHash enrichmentHash2 = createJudgmentEnrichmentHash(2L, false); JudgmentEnrichmentHash enrichmentHash3 = createJudgmentEnrichmentHash(3L, false); judgmentEnrichmentHashRepository.save(Lists.newArrayList(enrichmentHash1, enrichmentHash2, enrichmentHash3)); // execute List<Long> judgmentIds = judgmentEnrichmentHashRepository.findAllJudgmentsIdsToProcess(); // assert assertThat(judgmentIds, containsInAnyOrder(2L, 3L)); } @Test public void findByJudgmentId() { // given JudgmentEnrichmentHash enrichmentHash1 = createJudgmentEnrichmentHash(1L, false); JudgmentEnrichmentHash enrichmentHash2 = createJudgmentEnrichmentHash(2L, false); judgmentEnrichmentHashRepository.save(Lists.newArrayList(enrichmentHash1, enrichmentHash2)); // execute JudgmentEnrichmentHash retEnrichmentHash = judgmentEnrichmentHashRepository.findByJudgmentId(2L); // assert assertEquals(enrichmentHash2.getId(), retEnrichmentHash.getId()); } //------------------------ PRIVATE -------------------------- private JudgmentEnrichmentHash createJudgmentEnrichmentHash(long judgmentId, boolean processed) { JudgmentEnrichmentHash judgmentEnrichmentHash = new JudgmentEnrichmentHash(); judgmentEnrichmentHash.setJudgmentId(judgmentId); ReflectionTestUtils.setField(judgmentEnrichmentHash, "processed", processed); return judgmentEnrichmentHash; } }