/***************************************************************************** * * Copyright (C) Zenoss, Inc. 2013, all rights reserved. * * This content is made available according to terms specified in * License.zenoss under the directory where your Zenoss product is installed. * ****************************************************************************/ package org.zenoss.zep.impl; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.zenoss.protobufs.zep.Zep.EventStatus; import org.zenoss.protobufs.zep.Zep.EventSummary; import org.zenoss.zep.dao.EventArchiveDao; import org.zenoss.zep.dao.EventSummaryDao; import org.zenoss.zep.dao.impl.EventTestUtils; import java.util.UUID; import static org.junit.Assert.*; /** * Integration test for {@link MigratedEventQueueListener}. */ @ContextConfiguration({ "classpath:zep-config.xml" }) public class MigratedEventQueueListenerIT extends AbstractTransactionalJUnit4SpringContextTests { @Autowired @Qualifier("summary") public MigratedEventQueueListener summaryListener; @Autowired @Qualifier("archive") public MigratedEventQueueListener archiveListener; @Autowired public EventSummaryDao eventSummaryDao; @Autowired public EventArchiveDao eventArchiveDao; private EventSummary createSummary() { EventSummary.Builder summaryBuilder = EventSummary.newBuilder(); summaryBuilder.addOccurrence(EventTestUtils.createSampleEvent()); long now = System.currentTimeMillis(); summaryBuilder.setFirstSeenTime(now); summaryBuilder.setLastSeenTime(now); summaryBuilder.setStatusChangeTime(now); summaryBuilder.setStatus(EventStatus.STATUS_CLOSED); summaryBuilder.setUuid(UUID.randomUUID().toString()); summaryBuilder.setCount(1); return summaryBuilder.build(); } @Test public void testDuplicateUuidsSummaryFirst() throws Exception { EventSummary summary = createSummary(); summaryListener.handle(summary); archiveListener.handle(summary); assertNotNull(eventSummaryDao.findByUuid(summary.getUuid())); assertNull(eventArchiveDao.findByUuid(summary.getUuid())); } @Test public void testDuplicateUuidsArchiveFirst() throws Exception { EventSummary summary = createSummary(); archiveListener.handle(summary); summaryListener.handle(summary); assertNotNull(eventArchiveDao.findByUuid(summary.getUuid())); assertNull(eventSummaryDao.findByUuid(summary.getUuid())); } }