コード例 #1
0
        public void Sync_CheckInput_CheckIfCacheIsUpdated_ButIgnoreNotInIndexFile()
        {
            var sync = new FakeISynchronize(new List <FileIndexItem>
            {
                //    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = > source is missing
                new FileIndexItem("/test.jpg")
                {
                    Status = FileIndexItem.ExifStatus.NotFoundSourceMissing
                }
            });
            var websockets  = new FakeIWebSocketConnectionsService();
            var appSettings = new AppSettings();

            var provider = new ServiceCollection()
                           .AddMemoryCache()
                           .BuildServiceProvider();
            var memoryCache = provider.GetService <IMemoryCache>();

            var builderDb = new DbContextOptionsBuilder <ApplicationDbContext>();

            builderDb.UseInMemoryDatabase(nameof(DownloadPhotoControllerTest));
            var options = builderDb.Options;
            var context = new ApplicationDbContext(options);

            var query = new Query(context, null, null, null, memoryCache);

            query.AddCacheParentItem("/",
                                     new List <FileIndexItem> {
                new FileIndexItem("/test.jpg")
                {
                    IsDirectory     = false,
                    Tags            = "This should not be the tags",
                    ParentDirectory = "/"
                }
            });

            var syncWatcherConnector = new SyncWatcherConnector(appSettings,
                                                                sync, websockets, query, new FakeIWebLogger(), new TelemetryClient(new TelemetryConfiguration()));

            syncWatcherConnector.Sync(
                new Tuple <string, string, WatcherChangeTypes>(
                    Path.Combine(appSettings.StorageFolder, "test.jpg"), null, WatcherChangeTypes.Changed));

            Assert.AreEqual(0, query.DisplayFileFolders().Count());
        }
コード例 #2
0
        public async Task GetObjectsByFilePathAsync_cache_collectionTrue()
        {
            var query = new Query(CreateNewScope().CreateScope().ServiceProvider
                                  .GetService <ApplicationDbContext>(), new AppSettings(), CreateNewScope(), new FakeIWebLogger(), _memoryCache);

            var dirName = "/cache_02";

            query.AddCacheParentItem(dirName,
                                     new List <FileIndexItem>
            {
                new FileIndexItem($"{dirName}/test1.jpg"),
                new FileIndexItem($"{dirName}/test1.dng"),
                new FileIndexItem($"{dirName}/test2.jpg"),
                new FileIndexItem($"{dirName}/test2.dng")
            });

            var result = await query.GetObjectsByFilePathAsync(new List <string> {
                $"{dirName}/test1.jpg"
            }, true);

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual($"{dirName}/test1.jpg", result[0].FilePath);
            Assert.AreEqual($"{dirName}/test1.dng", result[1].FilePath);
        }