package org.radargun.stages.cache.listeners.cluster; import java.util.ArrayList; import java.util.List; import org.radargun.DistStageAck; import org.radargun.StageResult; import org.radargun.state.SlaveState; import org.radargun.traits.Lifecycle; import org.radargun.util.CacheStageRunner; import org.radargun.util.CacheTraitRepository; import org.testng.Assert; import org.testng.annotations.Test; /** * @author Matej Cimbora */ @Test(timeOut = 30000) public class RegisterListenersStageTest { public void smokeTest() throws Exception { CacheStageRunner stageRunner = new CacheStageRunner(1); Lifecycle lifecycle = stageRunner.getTraitImpl(Lifecycle.class); lifecycle.start(); RegisterListenersStage registerListenersStage = new RegisterListenersStage(); registerListenersStage.registerListeners = true; SlaveState slaveState = stageRunner.getSlaveState(); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.CREATED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.UPDATED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.REMOVED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.EVICTED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.EXPIRED.name)); List<DistStageAck> acks = new ArrayList<>(1); acks.add(stageRunner.executeOnSlave(registerListenersStage, 0)); Assert.assertNotNull(slaveState.get(CacheTraitRepository.CacheListeners.CREATED.name)); Assert.assertNotNull(slaveState.get(CacheTraitRepository.CacheListeners.UPDATED.name)); Assert.assertNotNull(slaveState.get(CacheTraitRepository.CacheListeners.REMOVED.name)); Assert.assertNotNull(slaveState.get(CacheTraitRepository.CacheListeners.EVICTED.name)); Assert.assertNotNull(slaveState.get(CacheTraitRepository.CacheListeners.EXPIRED.name)); Assert.assertEquals(stageRunner.processAckOnMaster(registerListenersStage, acks), StageResult.SUCCESS); registerListenersStage.registerListeners = false; registerListenersStage.unregisterListeners = true; acks = new ArrayList<>(1); acks.add(stageRunner.executeOnSlave(registerListenersStage, 0)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.CREATED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.UPDATED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.REMOVED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.EVICTED.name)); Assert.assertNull(slaveState.get(CacheTraitRepository.CacheListeners.EXPIRED.name)); Assert.assertEquals(stageRunner.processAckOnMaster(registerListenersStage, acks), StageResult.SUCCESS); } }