public void ShouldStartAndStopWatcherWhenSyncWhenWatchedAndStopped() { //Arrange var syncInfo = new SyncInfo { Source = @"C:\A", Target = @"C:\B" }; var fileSystemSyncMock = new Mock<IFileSystemSync>(); var fileSystemWatcherMock = new Mock<IFileSystemWatcher>(); fileSystemWatcherMock.Setup(x => x.Start(syncInfo.Source)); fileSystemWatcherMock.Setup(x => x.Stop()); //Act var fileSystemSyncWhenWatched = new FileSystemSyncWhenWatched(fileSystemSyncMock.Object, fileSystemWatcherMock.Object) { Name = "TestWhenWatched", SyncInfo = syncInfo }; fileSystemSyncWhenWatched.Start(); fileSystemSyncWhenWatched.Stop(); //Assert fileSystemWatcherMock.Verify(x => x.Start(syncInfo.Source)); fileSystemWatcherMock.Verify(x => x.Stop()); }
public void ShouldStartWatcherThrowExceptionSyncWhenSyncInfoIsNotCorrectlyWithTarget(string target) { var syncInfo = new SyncInfo { Source = "A", Target = target }; ShouldStartWatcherThrowExceptionSyncWhenSyncInfoIsNotCorrectly(syncInfo); }
public void ShouldStartWatcherThrowExceptionSyncWhenSyncInfoIsNotCorrectlyWithSource(string source) { var syncInfo = new SyncInfo { Source = source, Target = "B" }; ShouldStartWatcherThrowExceptionSyncWhenSyncInfoIsNotCorrectly(syncInfo); }
private static void ShouldStartWatcherThrowExceptionSyncWhenSyncInfoIsNotCorrectly(SyncInfo syncInfo) { //Arrange var fileSystemSyncMock = new Mock<IFileSystemSync>(); var fileSystemWatcherMock = new Mock<IFileSystemWatcher>(); //Act var fileSystemSyncWhenWatched = new FileSystemSyncWhenWatched(fileSystemSyncMock.Object, fileSystemWatcherMock.Object) { Name = "TestWhenWatched", SyncInfo = syncInfo }; fileSystemSyncWhenWatched.Start(); //Assert Assert.Fail("The SyncInfoIsNotCorrectlySet exception should have been thrown"); }
public void ShouldSyncEventsRaisedWhenWatcherIsTriggeredByFileSystemRename(string source, string target, string triggeredName, string originalName) { //Arrange var isFsSyncChangeTriggeredOnStart = false; var isFsSyncCompletedTriggeredOnStart = false; var syncInfo = new SyncInfo { Source = source, Target = target }; var triggerPath = $@"{syncInfo.Source}\{triggeredName}"; var originalPath = $@"{syncInfo.Target}\{originalName}"; var targetPath = $@"{syncInfo.Target}\{triggeredName}"; var fileSystemSyncMock = new Mock<IFileSystemSync>(); var fileSystemWatcherStub = new FileSystemWatcherStub(); fileSystemSyncMock.Setup(x => x.Rename(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())); //Act var fileSystemSyncWhenWatched = new FileSystemSyncWhenWatched(fileSystemSyncMock.Object, fileSystemWatcherStub) { Name = "TestWhenWatched", SyncInfo = syncInfo }; fileSystemSyncWhenWatched.OnRunStart += name => { isFsSyncChangeTriggeredOnStart = true; }; fileSystemSyncWhenWatched.OnRunComplete += name => { isFsSyncCompletedTriggeredOnStart = true; }; fileSystemSyncWhenWatched.Start(); fileSystemWatcherStub.TriggerRenameEvent(triggerPath, originalPath); fileSystemSyncWhenWatched.Stop(); //Assert fileSystemSyncMock.Verify(x => x.Rename(triggerPath, originalPath, targetPath)); Assert.IsTrue(isFsSyncChangeTriggeredOnStart); Assert.IsTrue(isFsSyncCompletedTriggeredOnStart); }
public SyncInfoIsNotCorrectlySet(SyncInfo syncInfo) : base("The SyncInfo property has not been set correctly") { SyncInfo = syncInfo; }
public JobSyncException(SyncInfo info, string message, Exception innerException) : base(message, innerException) { Info = info; }
private static void ShouldRunFileSystemThrowExceptionSyncWhenSyncInfoIsNotCorrectly(SyncInfo syncInfo) { //Arrange var oneWaySynchronizerMock = new Mock<IOneWaySynchronizer>(); //Act var fileSystemSyncWhenStartup = new FileSystemSyncWhenStartup(oneWaySynchronizerMock.Object) { Name = "TestWhenStarted", SyncInfo = syncInfo }; fileSystemSyncWhenStartup.Start(); //Assert Assert.Fail("The SyncInfoIsNotCorrectlySet exception should have been thrown"); }
public void ShouldRunFileSystemThrowExceptionSyncWhenSyncInfoIsNotCorrectlyWithSource(string source) { var syncInfo = new SyncInfo { Source = source, Target = "B" }; ShouldRunFileSystemThrowExceptionSyncWhenSyncInfoIsNotCorrectly(syncInfo); }