예제 #1
0
        public async Task ApiPersonDataSourceTests_BadData()
        {
            // Arrange
            var logger        = new Moq.Mock <ILogger <ApiPersonDataSource> >();
            var configuration = new Moq.Mock <IConfiguration>();

            configuration.SetupGet(c => c["PersonApi"]).Returns(@"https://google.com/").Verifiable();
            var memoryCache = new FakeMemoryCache();

            var httpClientFactory = ArrangeHttpClient(
                new HttpClientResponse()
            {
                UrlSuffix    = "https://google.com/",
                ResponseFunc = (r) => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(FileHelper.GetAsString(@".\TestData\example_data_bad.json"))
                })
            }
                );

            var sut = new ApiPersonDataSource(logger.Object, configuration.Object, memoryCache, httpClientFactory);

            // Act
            Func <Task> act = async() => await sut.Get();

            // Assert
            act.Should().Throw <JsonReaderException>();
        }
예제 #2
0
 public CachingClientStoreTests()
 {
     FakeFactory.Create(out _decorated, out _backgroundTaskStarter);
     _cache      = new FakeMemoryCache();
     _expiration = TimeSpan.FromSeconds(30);
     _sut        = new CachingClientStore(_decorated, _cache, _expiration, _backgroundTaskStarter);
 }
예제 #3
0
        public void FakeCache_Invalid()
        {
            var cache = new FakeMemoryCache();
            var keys  = cache.GetKeys <string>().ToList();

            Assert.AreEqual(0, keys.Count);
        }
예제 #4
0
    public void UseMemoryCache_on_generic_builder_returns_generic_builder()
    {
        var memoryCache = new FakeMemoryCache();

        var optionsBuilder = GenericCheck(new DbContextOptionsBuilder <UnkoolContext>().UseMemoryCache(memoryCache));

        Assert.Same(memoryCache, optionsBuilder.Options.FindExtension <CoreOptionsExtension>().MemoryCache);
    }
        public void ReadMeta_ReadMetaBothTest_FakeReadEntry()
        {
            var iStorage  = new FakeIStorage();
            var fakeCache =
                new FakeMemoryCache(new Dictionary <string, object> {
                { "info_test", new FileIndexItem()
                  {
                      Tags = "test"
                  } }
            });

            Assert.AreEqual("test", new ReadMeta(iStorage, null, fakeCache).ReadExifAndXmpFromFile("test").Tags);
        }
        public void ReadMeta_ReadMetaBothTest_RemoveCache()
        {
            var appSettings = new AppSettings {
                StorageFolder = new CreateAnImage().BasePath
            };
            var iStorage  = new StorageSubPathFilesystem(appSettings, new FakeIWebLogger());
            var fakeCache =
                new FakeMemoryCache(new Dictionary <string, object>());

            new ReadMeta(iStorage, appSettings, fakeCache)
            .RemoveReadMetaCache("fakeString");
            Assert.IsNotNull(appSettings);
        }
예제 #7
0
        public void QueueProcessorTest_QueueInput()
        {
            var diskWatcherBackgroundTaskQueue = new FakeDiskWatcherUpdateBackgroundTaskQueue();

            Task <List <FileIndexItem> > Local(Tuple <string, string, WatcherChangeTypes> value)
            {
                return(Task.FromResult(new List <FileIndexItem>()));
            }

            var memoryCache    = new FakeMemoryCache();
            var queueProcessor = new QueueProcessor(diskWatcherBackgroundTaskQueue, Local, memoryCache, TimeSpan.FromSeconds(5));

            queueProcessor.QueueInput("t", "T", WatcherChangeTypes.All);
            Assert.IsTrue(diskWatcherBackgroundTaskQueue.QueueBackgroundWorkItemCalled);
        }
        public CachingNonceStoreTests()
        {
            FakeFactory.Create(out _decorated);
            _cache = new FakeMemoryCache();
            _sut   = new CachingNonceStore(_decorated, _cache);

            _now = new DateTimeOffset(
                DateTimeOffset.UtcNow.Year,
                DateTimeOffset.UtcNow.Month,
                DateTimeOffset.UtcNow.Day,
                DateTimeOffset.UtcNow.Hour,
                DateTimeOffset.UtcNow.Minute,
                DateTimeOffset.UtcNow.Second,
                DateTimeOffset.UtcNow.Millisecond,
                TimeSpan.Zero);
        }
        public void ReadMeta_ReadMetaBothTest_ReadBothWithFilePath()
        {
            var appsettings = new AppSettings {
                StorageFolder = new CreateAnImage().BasePath
            };
            var iStorage = new StorageSubPathFilesystem(appsettings, new FakeIWebLogger());

            var listofFiles = new List <string> {
                new CreateAnImage().DbPath
            };
            var fakeCache =
                new FakeMemoryCache(new Dictionary <string, object>());
            var listOfMetas = new ReadMeta(iStorage, appsettings, fakeCache)
                              .ReadExifAndXmpFromFileAddFilePathHash(listofFiles);

            Assert.AreEqual(new CreateAnImage().DbPath.Remove(0, 1),
                            listOfMetas.FirstOrDefault().FileName);
        }
예제 #10
0
        public void SearchService_cacheTest()
        {
            var fakeCache =
                new FakeMemoryCache(new Dictionary <string, object> {
                { "search-t",
                  new SearchViewModel {
                      FileIndexItems = new List <FileIndexItem> {
                          new FileIndexItem {
                              Tags = "t"
                          }
                      }
                  } }
            });
            var searchService = new SearchService(_dbContext, fakeCache);
            var result        = searchService.Search("t");      // <= t is only to detect in fakeCache

            Assert.AreEqual(1, result.FileIndexItems.Count);
        }
예제 #11
0
        public async Task ApiPersonDataSourceTests_HttpError()
        {
            var logger        = new Moq.Mock <ILogger <ApiPersonDataSource> >();
            var configuration = new Moq.Mock <IConfiguration>();

            configuration.SetupGet(c => c["PersonApi"]).Returns(@"https://google.com/").Verifiable();
            var memoryCache = new FakeMemoryCache();

            var httpClientFactory = ArrangeHttpClient(
                new HttpClientResponse()
            {
                UrlSuffix    = "https://google.com/",
                ResponseFunc = (r) => Task.FromResult(new HttpResponseMessage(HttpStatusCode.NotFound))
            }
                );

            var sut = new ApiPersonDataSource(logger.Object, configuration.Object, memoryCache, httpClientFactory);

            // Act
            Func <Task> act = async() => await sut.Get();

            // Assert
            act.Should().Throw <HttpRequestException>();
        }
 public InMemoryNonceStoreTests()
 {
     _cache = new FakeMemoryCache();
     _sut   = new InMemoryNonceStore(_cache);
 }