/** * 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.process; import static org.mockito.Matchers.any; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import org.junit.Test; import com.ewcms.publication.PublishException; import com.ewcms.publication.deploy.DeployOperatorable; import com.ewcms.publication.task.impl.event.TaskEventable; /** * TaskProcess单元测试 * * @author wangwei */ public class TaskProcessBaseTest { private String path = "/root/test.txt"; private String uri = "/resource/test.txt"; @Test public void testExecuteIsSuccess()throws PublishException{ TaskEventable event = mock(TaskEventable.class); DeployOperatorable operator = mock(DeployOperatorable.class); TaskProcessBaseImpl process = new TaskProcessBaseImpl(); process.registerEvent(event); process.execute(operator); verify(event,times(1)).success(uri); verify(event,never()).error(any(PublishException.class)); verify(operator,times(1)).copy(path, uri); } @Test public void testExecuteIsError()throws PublishException{ TaskEventable event = mock(TaskEventable.class); DeployOperatorable operator = mock(DeployOperatorable.class); TaskProcessBaseImpl process = new TaskProcessBaseImpl(); process.registerEvent(event); operator.copy(any(String.class), any(String.class)); doThrow(new PublishException()).when(operator).copy(path, uri); process.execute(operator); verify(event,times(1)).error(any(PublishException.class)); verify(event,never()).success(uri); verify(operator,times(1)).copy(path, uri); } private class TaskProcessBaseImpl extends TaskProcessBase{ @Override protected String process(DeployOperatorable operator) throws PublishException { operator.copy(path, uri); return uri; } } }