/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.publication.task.impl; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import org.junit.Test; import com.ewcms.core.site.model.Site; import com.ewcms.core.site.model.TemplateSource; import com.ewcms.core.site.model.TemplatesrcEntity; import com.ewcms.publication.service.TemplateSourcePublishServiceable; import com.ewcms.publication.task.TaskException; import com.ewcms.publication.task.Taskable; import com.ewcms.publication.task.impl.process.TaskProcessable; /** * TemplateSourceTask单元测试 * * @author wangwei */ public class TemplateSourceTaskTest { @Test public void testBuildTask(){ TemplateSourcePublishServiceable service = mock(TemplateSourcePublishServiceable.class); Site site = new Site(); site.setId(Integer.MAX_VALUE); site.setSiteName("主站"); Taskable task = new TemplateSourceTask.Builder(service, site). setAgain(true). setPublishIds(new int[]{Integer.MIN_VALUE}). setUsername("user"). build(); Assert.assertNotNull(task); Assert.assertEquals("user", task.getUsername()); Assert.assertEquals("主站模版资源发布",task.getDescription()); } @Test public void testGetTaskProcessesBySiteId()throws TaskException{ Integer siteId = Integer.MAX_VALUE; List<TemplateSource> sources = new ArrayList<TemplateSource>(); TemplateSource source = new TemplateSource(); source.setId(Integer.MIN_VALUE); source = new TemplateSource(); source.setId(Integer.MIN_VALUE+1); source.setSourceEntity(new TemplatesrcEntity()); sources.add(source); TemplateSourcePublishServiceable service = mock(TemplateSourcePublishServiceable.class); when(service.findPublishTemplateSources(siteId, Boolean.FALSE)).thenReturn(sources); Site site = new Site(); site.setId(Integer.MAX_VALUE); site.setSiteName("主站"); Taskable task =new TemplateSourceTask. Builder(service, site). build(); List<TaskProcessable> processes = task.toTaskProcess(); Assert.assertEquals(1,processes.size()); } @Test public void testGetTaskProcessesBySourceId()throws TaskException{ Integer sourceId = Integer.MIN_VALUE; TemplateSourcePublishServiceable service = mock(TemplateSourcePublishServiceable.class); TemplateSource root = new TemplateSource(); root.setId(sourceId); when(service.getTemplateSource(sourceId)).thenReturn(root); List<TemplateSource> sources = new ArrayList<TemplateSource>(); TemplateSource source = new TemplateSource(); Integer sourceId2 = Integer.MIN_VALUE+1; source.setId(sourceId2); source.setRelease(true); source.setSourceEntity(new TemplatesrcEntity()); sources.add(source); source = new TemplateSource(); Integer sourceId3 = Integer.MIN_VALUE+2; source.setId(sourceId3); source.setRelease(false); source.setSourceEntity(new TemplatesrcEntity()); sources.add(source); when(service.getTemplateSourceChildren(sourceId)).thenReturn(sources); when(service.getTemplateSourceChildren(sourceId2)).thenReturn(new ArrayList<TemplateSource>()); when(service.getTemplateSourceChildren(sourceId3)).thenReturn(new ArrayList<TemplateSource>()); Integer siteId = Integer.MAX_VALUE; Site site = new Site(); site.setId(siteId); site.setSiteName("主站"); Taskable task = new TemplateSourceTask. Builder(service, site). setPublishIds(new int[]{sourceId}). build(); List<TaskProcessable> processes = task.toTaskProcess(); Assert.assertEquals(2,processes.size()); } }