/** * */ package com.taobao.top.analysis.node.component; import java.util.Map; import junit.framework.Assert; import org.junit.Test; import com.taobao.top.analysis.config.MasterConfig; import com.taobao.top.analysis.exception.AnalysisException; import com.taobao.top.analysis.node.job.Job; /** * @author fangweng * email: fangweng@taobao.com * 上午11:48:01 * */ public class JobBuilderTest { @Test public void testBuild() throws AnalysisException { MixJobBuilder mixJobBuilder = new MixJobBuilder(); FileJobBuilder fileJobBuilder = new FileJobBuilder(); MasterConfig config = new MasterConfig(); config.load("master-config.properties"); mixJobBuilder.setConfig(config); mixJobBuilder.init(); fileJobBuilder.setConfig(config); fileJobBuilder.init(); Map<String, Job> jobs = fileJobBuilder.build(); Assert.assertEquals(2, jobs.size()); Assert.assertTrue(jobs.containsKey("job1")); Assert.assertTrue(jobs.containsKey("job2")); jobs = mixJobBuilder.build(); Assert.assertEquals(2, jobs.size()); Assert.assertTrue(jobs.containsKey("job1")); Assert.assertTrue(jobs.containsKey("job2")); fileJobBuilder.releaseResource(); mixJobBuilder.releaseResource(); } @Test public void testRebuild() throws AnalysisException { MixJobBuilder mixJobBuilder = new MixJobBuilder(); MasterConfig config = new MasterConfig(); config.load("master-config.properties"); mixJobBuilder.setConfig(config); mixJobBuilder.init(); Map<String, Job> jobs = mixJobBuilder.build(); Assert.assertEquals(2, jobs.size()); Assert.assertTrue(jobs.containsKey("job1")); Assert.assertTrue(jobs.containsKey("job2")); jobs.clear(); jobs = mixJobBuilder.rebuild(jobs); Assert.assertNull(jobs); mixJobBuilder.setNeedRebuild(true); jobs = mixJobBuilder.rebuild(jobs); Assert.assertEquals(2, jobs.size()); Assert.assertTrue(jobs.containsKey("job1")); Assert.assertTrue(jobs.containsKey("job2")); mixJobBuilder.releaseResource(); } }