public void WatchedDirectoryProcessAvailableImagesWhenIOExceptionThrownShouldSortFile() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var watchDirectory = new WatchDirectory { FileExtensions = "abc", Mode = OperationMode.UploadOnly }; var mockWatchedFileRepository = new Mock <IWatchedFileRepository>(); var mockWatchedFile = new Mock <IWatchedFile>(); var mockLog = new Mock <ILog>(); var mockServer = new Mock <ImageServer>(); testBundle.MockDirectoryScanner.Setup(x => x.GetAvailableImages(mockWatchedFileRepository.Object, null, It.IsAny <IList <string> >(), false, null)) .Returns(new List <IWatchedFile> { mockWatchedFile.Object }); testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny <Type>())).Returns(mockLog.Object); mockWatchedFile.SetupGet(x => x.UploadSuccessful).Returns(false); mockWatchedFile.Setup(x => x.SendToServer(mockServer.Object)).Throws(new IOException()); // Act testBundle.WatchedDirectory.Configure(watchDirectory); testBundle.WatchedDirectory.ProcessAvailableImages(mockWatchedFileRepository.Object, mockServer.Object); // Assert mockWatchedFileRepository.Verify(x => x.LoadFileForPath(It.IsAny <string>()), Times.Never); mockWatchedFileRepository.Verify(x => x.CreateNew(), Times.Never); mockWatchedFileRepository.Verify(x => x.Save(mockWatchedFile.Object), Times.Once); mockWatchedFile.VerifySet(x => x.UploadSuccessful = false, Times.Once); mockWatchedFile.Verify(x => x.SendToServer(mockServer.Object), Times.Once); mockWatchedFile.Verify(x => x.SortFile(), Times.Never); mockWatchedFile.Verify(x => x.RemoveFromDisk(), Times.Never); }
public void WatchedDirectoryConfigureWhenStrategyNotDefinedPullsValuesFromWatchDirectoryProperly() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var mockWatchDirectory = new Mock <IWatchDirectory>(); mockWatchDirectory.SetupGet(x => x.FileExtensions).Returns("abc"); // Act testBundle.WatchedDirectory.Configure(mockWatchDirectory.Object); // Assert mockWatchDirectory.VerifyGet(x => x.Path, Times.Once()); mockWatchDirectory.VerifyGet(x => x.IncludeSubDirectories, Times.Once()); mockWatchDirectory.VerifyGet(x => x.Mode, Times.Once()); mockWatchDirectory.VerifyGet(x => x.SortStrategy, Times.Once()); mockWatchDirectory.VerifyGet(x => x.FileExtensions, Times.Once()); }
public void WatchedDirectoryProcessAvailableImagesWhenNothingToProcess() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var mockWatchFileRepository = new Mock <IWatchedFileRepository>(); var mockServer = new Mock <ImageServer>(); testBundle.MockDirectoryScanner.Setup(x => x.GetAvailableImages(mockWatchFileRepository.Object, null, It.IsAny <IList <string> >(), false, null)) .Returns(new List <IWatchedFile>()); // Act testBundle.WatchedDirectory.ProcessAvailableImages(mockWatchFileRepository.Object, mockServer.Object); // Assert mockWatchFileRepository.Verify(x => x.LoadFileForPath(It.IsAny <string>()), Times.Never); mockWatchFileRepository.Verify(x => x.CreateNew(), Times.Never); mockWatchFileRepository.Verify(x => x.Save(It.IsAny <WatchedFile>()), Times.Never); }
public void WatchedDirectoryConfigureWhenStrategyNotDefinedPullsValuesFromWatchDirectoryProperly() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var mockWatchDirectory = new Mock<IWatchDirectory>(); mockWatchDirectory.SetupGet(x => x.FileExtensions).Returns("abc"); // Act testBundle.WatchedDirectory.Configure(mockWatchDirectory.Object); // Assert mockWatchDirectory.VerifyGet(x => x.Path, Times.Once()); mockWatchDirectory.VerifyGet(x => x.IncludeSubDirectories, Times.Once()); mockWatchDirectory.VerifyGet(x => x.Mode, Times.Once()); mockWatchDirectory.VerifyGet(x => x.SortStrategy, Times.Once()); mockWatchDirectory.VerifyGet(x => x.FileExtensions, Times.Once()); }
public void WatchedDirectoryProcessAvailableImagesWhenImageIsInBaseDirectoryAndModeIsUploadAndClearShouldThrowNotImplementedException() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var watchDirectory = new WatchDirectory { FileExtensions = "abc", Mode = OperationMode.UploadAndClear }; var mockWatchedFileRepository = new Mock <IWatchedFileRepository>(); var mockWatchedFile = new Mock <IWatchedFile>(); var mockLog = new Mock <ILog>(); NotImplementedException thrownException = null; var mockServer = new Mock <ImageServer>(); testBundle.MockDirectoryScanner.Setup(x => x.GetAvailableImages(mockWatchedFileRepository.Object, null, It.IsAny <IList <string> >(), false, null)) .Returns(new List <IWatchedFile> { mockWatchedFile.Object }); testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny <Type>())).Returns(mockLog.Object); mockWatchedFile.Setup(x => x.IsInBaseDirectory(null)).Returns(true); testBundle.WatchedDirectory.Configure(watchDirectory); // Act try { testBundle.WatchedDirectory.ProcessAvailableImages(mockWatchedFileRepository.Object, mockServer.Object); } catch (NotImplementedException ex) { thrownException = ex; } // Assert mockWatchedFileRepository.Verify(x => x.LoadFileForPath(It.IsAny <string>()), Times.Never); mockWatchedFileRepository.Verify(x => x.CreateNew(), Times.Never); mockWatchedFileRepository.Verify(x => x.Save(mockWatchedFile.Object), Times.Never); mockWatchedFile.VerifySet(x => x.UploadSuccessful = false, Times.Never); mockWatchedFile.Verify(x => x.SendToServer(mockServer.Object), Times.Never); mockWatchedFile.Verify(x => x.SortFile(), Times.Never); mockWatchedFile.Verify(x => x.RemoveFromDisk(), Times.Never); Assert.IsNotNull(thrownException); }
public void WatchedDirectoryProcessAvailableImagesWhenImageHasNotBeenUploadedAndModeIsUploadOnlyShouldUploadFile() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var watchDirectory = new WatchDirectory {FileExtensions = "abc", Mode = OperationMode.UploadOnly}; var mockWatchedFileRepository = new Mock<IWatchedFileRepository>(); var mockWatchedFile = new Mock<IWatchedFile>(); var mockServer = new Mock<ImageServer>(); testBundle.MockDirectoryScanner.Setup(x => x.GetAvailableImages(mockWatchedFileRepository.Object, null, It.IsAny<IList<string>>(), false, null)) .Returns(new List<IWatchedFile> {mockWatchedFile.Object}); testBundle.WatchedDirectory.Configure(watchDirectory); // Act testBundle.WatchedDirectory.ProcessAvailableImages(mockWatchedFileRepository.Object, mockServer.Object); // Assert mockWatchedFileRepository.Verify(x => x.LoadFileForPath(It.IsAny<string>()), Times.Never); mockWatchedFileRepository.Verify(x => x.CreateNew(), Times.Never); mockWatchedFileRepository.Verify(x => x.Save(mockWatchedFile.Object), Times.Once); mockWatchedFile.VerifySet(x => x.UploadSuccessful = false, Times.Never); mockWatchedFile.Verify(x => x.SendToServer(mockServer.Object), Times.Once); mockWatchedFile.Verify(x => x.SortFile(), Times.Never); mockWatchedFile.Verify(x => x.RemoveFromDisk(), Times.Never); }
public void WatchedDirectoryProcessAvailableImagesWhenNothingToProcess() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var mockWatchFileRepository = new Mock<IWatchedFileRepository>(); var mockServer = new Mock<ImageServer>(); testBundle.MockDirectoryScanner.Setup(x => x.GetAvailableImages(mockWatchFileRepository.Object, null, It.IsAny<IList<string>>(), false, null)) .Returns(new List<IWatchedFile>()); // Act testBundle.WatchedDirectory.ProcessAvailableImages(mockWatchFileRepository.Object, mockServer.Object); // Assert mockWatchFileRepository.Verify(x => x.LoadFileForPath(It.IsAny<string>()), Times.Never); mockWatchFileRepository.Verify(x => x.CreateNew(), Times.Never); mockWatchFileRepository.Verify(x => x.Save(It.IsAny<WatchedFile>()), Times.Never); }
public void WatchedDirectoryProcessAvailableImagesWhenImageIsInBaseDirectoryAndModeIsUploadAndClearShouldThrowNotImplementedException() { // Arrange var testBundle = new WatchedDirectoryTestBundle(); var watchDirectory = new WatchDirectory {FileExtensions = "abc", Mode = OperationMode.UploadAndClear}; var mockWatchedFileRepository = new Mock<IWatchedFileRepository>(); var mockWatchedFile = new Mock<IWatchedFile>(); var mockLog = new Mock<ILog>(); NotImplementedException thrownException = null; var mockServer = new Mock<ImageServer>(); testBundle.MockDirectoryScanner.Setup(x => x.GetAvailableImages(mockWatchedFileRepository.Object, null, It.IsAny<IList<string>>(), false, null)) .Returns(new List<IWatchedFile> {mockWatchedFile.Object}); testBundle.MockLogProvider.Setup(x => x.GetLogger(It.IsAny<Type>())).Returns(mockLog.Object); mockWatchedFile.Setup(x => x.IsInBaseDirectory(null)).Returns(true); testBundle.WatchedDirectory.Configure(watchDirectory); // Act try { testBundle.WatchedDirectory.ProcessAvailableImages(mockWatchedFileRepository.Object, mockServer.Object); } catch (NotImplementedException ex) { thrownException = ex; } // Assert mockWatchedFileRepository.Verify(x => x.LoadFileForPath(It.IsAny<string>()), Times.Never); mockWatchedFileRepository.Verify(x => x.CreateNew(), Times.Never); mockWatchedFileRepository.Verify(x => x.Save(mockWatchedFile.Object), Times.Never); mockWatchedFile.VerifySet(x => x.UploadSuccessful = false, Times.Never); mockWatchedFile.Verify(x => x.SendToServer(mockServer.Object), Times.Never); mockWatchedFile.Verify(x => x.SortFile(), Times.Never); mockWatchedFile.Verify(x => x.RemoveFromDisk(), Times.Never); Assert.IsNotNull(thrownException); }