Exemple #1
0
        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);
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
        }
Exemple #5
0
        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);
        }