package org.radargun.stages.cache; import java.util.ArrayList; import java.util.List; import org.radargun.DistStageAck; import org.radargun.StageResult; import org.radargun.traits.BasicOperations; 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 RandomDataStageTest { public void smokeTestValueCountOnly() throws Exception { RandomDataStage randomDataStage = new RandomDataStage(); randomDataStage.valueCount = 100; smokeTest(randomDataStage); } public void smokeTestSharedWords() throws Exception { RandomDataStage randomDataStage = new RandomDataStage(); randomDataStage.valueCount = 100; randomDataStage.stringData = true; randomDataStage.limitWordCount = true; randomDataStage.shareWords = true; randomDataStage.maxWordCount = 1000; smokeTest(randomDataStage); } public void smokeTestSharedWordsBatchSize() throws Exception { RandomDataStage randomDataStage = new RandomDataStage(); randomDataStage.valueCount = 100; randomDataStage.stringData = true; randomDataStage.limitWordCount = true; randomDataStage.shareWords = true; randomDataStage.maxWordCount = 1000; randomDataStage.batchSize = 10; smokeTest(randomDataStage); } private void smokeTest(RandomDataStage randomDataStage) throws Exception { CacheStageRunner stageRunner = new CacheStageRunner(1); Lifecycle lifecycle = stageRunner.getTraitImpl(Lifecycle.class); lifecycle.start(); BasicOperations basicOperations = stageRunner.getTraitImpl(BasicOperations.class); CacheTraitRepository.BasicOperationsCache cache = (CacheTraitRepository.BasicOperationsCache) basicOperations.getCache(null); Assert.assertEquals(cache.size(), 0); List<DistStageAck> acks = new ArrayList<>(1); acks.add(stageRunner.executeOnSlave(randomDataStage, 0)); Assert.assertEquals(cache.size(), 100); Assert.assertEquals(stageRunner.processAckOnMaster(randomDataStage, acks), StageResult.SUCCESS); } }