コード例 #1
0
        public void It_should_recache_cache_miss()
        {
            // Arrange
            string filePath = MD_SLASH_TEST_DOT_MD;
            var    ioProxy  = new Mock <IIOProxy>();

            ioProxy.Setup(x => x.FileExists(filePath)).Returns(true);
            ioProxy.Setup(x => x.GetLastWriteTimeUtc(filePath)).Returns(new DateTime(2017, 1, 1));
            ioProxy.Setup(x => x.ReadAllText(filePath)).Returns("# Test");
            ioProxy.Setup(x => x.DirectoryExists(SLASH_MD)).Returns(true);

            var cacheService = new Mock <IFileCacheService>();

            cacheService.Setup(x => x.HasKey("test")).Returns(true);
            cacheService.Setup(x => x.Get("test")).Returns(FileCacheResult.Empty());

            var service = new FileFetcherService(_options.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            FileFetchResult actual = service.GetFileContent("test");

            // Assert
            Assert.True(actual.IsFound);
            Assert.Equal("# Test", actual.FileData.Content);
        }
コード例 #2
0
        public void It_should_empty_array_directory_not_found()
        {
            // Arrange
            var cacheService = new Mock <IFileCacheService>();
            var ioProxy      = new Mock <IIOProxy>();

            ioProxy.Setup(x => x.DirectoryExists(SLASH_MD)).Returns(false);
            var service = new FileFetcherService(_options.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            string[] actual = service.GetFileNames();

            // Assert
            Assert.Equal(0, actual.Length);
        }
コード例 #3
0
        public void It_should_return_not_found_directory_not_found()
        {
            // Arrange
            var cacheService = new Mock <IFileCacheService>();
            var ioProxy      = new Mock <IIOProxy>();

            ioProxy.Setup(x => x.DirectoryExists(SLASH_MD)).Returns(false);
            var service = new FileFetcherService(_options.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            FileFetchResult actual = service.GetFileContent("test");

            // Assert
            Assert.False(actual.IsFound);
        }
コード例 #4
0
        public void It_should_get_files_names_without_extensions()
        {
            // Arrange
            var ioProxy = new Mock <IIOProxy>();

            ioProxy.Setup(x => x.GetFiles(SLASH_MD)).Returns(new[] { "test.md", "other.md" });
            ioProxy.Setup(x => x.DirectoryExists(SLASH_MD)).Returns(true);
            var cacheService = new Mock <IFileCacheService>();
            var service      = new FileFetcherService(_options.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            string[] actual = service.GetFileNames().ToArray();

            // Assert
            Assert.Equal("test", actual[0]);
            Assert.Equal("other", actual[1]);
        }
コード例 #5
0
        public void It_should_return_empty_array_directory_null()
        {
            // Arrange
            var badOptions = new Mock <IOptions <MdFileOptions> >();

            badOptions.SetupGet(x => x.Value).Returns(new MdFileOptions {
                MDSSourceDirectory = null
            });
            var cacheService = new Mock <IFileCacheService>();
            var ioProxy      = new Mock <IIOProxy>();
            var service      = new FileFetcherService(badOptions.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            string[] actual = service.GetFileNames();

            // Assert
            Assert.Equal(0, actual.Length);
        }
コード例 #6
0
        public void It_should_return_not_found_directory_null()
        {
            // Arrange
            var badOptions = new Mock <IOptions <MdFileOptions> >();

            badOptions.SetupGet(x => x.Value).Returns(new MdFileOptions {
                MDSSourceDirectory = null
            });
            var cacheService = new Mock <IFileCacheService>();
            var ioProxy      = new Mock <IIOProxy>();
            var service      = new FileFetcherService(badOptions.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            FileFetchResult actual = service.GetFileContent("test");

            // Assert
            Assert.False(actual.IsFound);
        }
コード例 #7
0
        public void It_should_return_not_found_file_doesnt_exist()
        {
            // Arrange
            string filePath = MD_SLASH_TEST_DOT_MD;
            var    ioProxy  = new Mock <IIOProxy>();

            ioProxy.Setup(x => x.FileExists(filePath)).Returns(false);
            ioProxy.Setup(x => x.GetLastWriteTimeUtc(filePath)).Throws(new FileNotFoundException());
            ioProxy.Setup(x => x.ReadAllText(filePath)).Throws(new FileNotFoundException());
            ioProxy.Setup(x => x.DirectoryExists(SLASH_MD)).Returns(true);

            var cacheService = new Mock <IFileCacheService>();
            var service      = new FileFetcherService(_options.Object, _logger.Object, ioProxy.Object, cacheService.Object);

            // Act
            FileFetchResult actual = service.GetFileContent("test");

            // Assert
            Assert.False(actual.IsFound);
        }