package org.peerbox.app.activity.collectors; import static org.junit.Assert.assertEquals; import java.nio.file.Paths; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.peerbox.BaseJUnitTest; import org.peerbox.app.activity.ActivityLogger; import org.peerbox.app.activity.ActivityType; import org.peerbox.app.manager.file.FileInfo; import org.peerbox.app.manager.file.messages.FileExecutionFailedMessage; import org.peerbox.app.manager.file.messages.LocalFileConflictMessage; import org.peerbox.app.manager.file.messages.LocalFileSoftDeleteMessage; import org.peerbox.app.manager.file.messages.RemoteFileAddedMessage; import org.peerbox.app.manager.file.messages.RemoteFileDeletedMessage; import org.peerbox.app.manager.file.messages.RemoteFileMovedMessage; public class FileManagerCollectorTest extends BaseJUnitTest { private FileManagerCollector collector; private ActivityLogger activityLogger; @Before public void setUp() throws Exception { activityLogger = Mockito.mock(ActivityLogger.class); collector = new FileManagerCollector(activityLogger); } @After public void tearDown() throws Exception { activityLogger = null; collector = null; } @Test public void testFileManagerCollector() { assertEquals(collector.getActivityLogger(), activityLogger); } @Test public void testOnFileUploaded() { FileInfo file = new FileInfo(Paths.get("this/is/a/path.txt"), false); RemoteFileAddedMessage message = new RemoteFileAddedMessage(file); collector.onRemoteFileAdded(message); CollectorTestUtils.captureAddActivityItem(ActivityType.INFORMATION, activityLogger); } @Test public void testOnFileDownloaded() { FileInfo file = new FileInfo(Paths.get("this/is/a/path.txt"), false); FileInfo dstFile = new FileInfo(Paths.get("this/is/another/path.txt"), false); RemoteFileMovedMessage message = new RemoteFileMovedMessage(file, dstFile); collector.onRemoteFileMoved(message); CollectorTestUtils.captureAddActivityItem(ActivityType.INFORMATION, activityLogger); } @Test public void testOnFileDeleted() { FileInfo file = new FileInfo(Paths.get("this/is/a/path.txt"), false); RemoteFileDeletedMessage message = new RemoteFileDeletedMessage(file); collector.onRemoteFileDeleted(message); CollectorTestUtils.captureAddActivityItem(ActivityType.INFORMATION, activityLogger); } @Test public void testOnFileConfilct() { FileInfo file = new FileInfo(Paths.get("this/is/a/path.txt"), false); LocalFileConflictMessage message = new LocalFileConflictMessage(file); collector.onLocalFileConfilct(message); CollectorTestUtils.captureAddActivityItem(ActivityType.WARNING, activityLogger); } @Test public void testOnFileDesynchronized(){ FileInfo file = new FileInfo(Paths.get("this/is/a/path.txt"), false); LocalFileSoftDeleteMessage message = new LocalFileSoftDeleteMessage(file); collector.onLocalFileDesynchronized(message); CollectorTestUtils.captureAddActivityItem(ActivityType.INFORMATION, activityLogger); } @Test public void testOnFileExecutionFailed(){ FileInfo file = new FileInfo(Paths.get("this/is/a/path.txt"), false); FileExecutionFailedMessage message = new FileExecutionFailedMessage(file); collector.onFileExecutionFailed(message); CollectorTestUtils.captureAddActivityItem(ActivityType.WARNING, activityLogger); } }