public Import( ISelectorStorage selectorStorage, AppSettings appSettings, IImportQuery importQuery, IExifTool exifTool, IQuery query, IConsole console, IMetaExifThumbnailService metaExifThumbnailService, IWebLogger logger, IMemoryCache?memoryCache = null) { _importQuery = importQuery; _filesystemStorage = selectorStorage.Get(SelectorStorage.StorageServices.HostFilesystem); _subPathStorage = selectorStorage.Get(SelectorStorage.StorageServices.SubPath); _thumbnailStorage = selectorStorage.Get(SelectorStorage.StorageServices.Thumbnail); _appSettings = appSettings; _readMetaHost = new ReadMeta(_filesystemStorage, appSettings); _exifTool = exifTool; _query = query; _console = console; _metaExifThumbnailService = metaExifThumbnailService; _memoryCache = memoryCache; _logger = logger; _updateImportTransformations = new UpdateImportTransformations(logger, _exifTool, selectorStorage, appSettings); }
public async Task UpdateTransformations_ShouldUpdate_Description_IndexModeOn() { var storage = new FakeIStorage( new List <string> { "/" }, new List <string> { "/test.jpg", "/test.xmp" }, new List <byte[]> { CreateAnPng.Bytes, CreateAnXmp.Bytes }); var appSettings = new AppSettings(); var updateImportTransformations = new UpdateImportTransformations(new FakeIWebLogger(), new FakeExifTool(storage, appSettings), new FakeSelectorStorage(storage), appSettings); var query = new FakeIQuery(); await query.AddItemAsync(new FileIndexItem("/test.jpg"){ FileHash = "test" }); UpdateImportTransformations.QueryUpdateDelegate updateItemAsync = query.UpdateItemAsync; await updateImportTransformations.UpdateTransformations(updateItemAsync, new FileIndexItem("/test.jpg"){ Description = "test-ung" }, -1, true, true); var updatedItem = await query.GetObjectByFilePathAsync("/test.jpg"); Assert.AreEqual("test-ung", updatedItem.Description); }
public void ColorClassComparedNamesList_Contain() { var list = UpdateImportTransformations.ColorClassComparedNamesList(new List <string>()); Assert.AreEqual(1, list.Count); Assert.AreEqual(nameof(FileIndexItem.ColorClass).ToLowerInvariant(), list[0]); }
public async Task UpdateTransformations_ShouldNotUpdate_IndexOff() { var storage = new FakeIStorage( new List <string> { "/" }, new List <string> { "/test.jpg", "/test.xmp" }, new List <byte[]> { CreateAnPng.Bytes, CreateAnXmp.Bytes }); var appSettings = new AppSettings(); var updateImportTransformations = new UpdateImportTransformations(new FakeIWebLogger(), new FakeExifTool(storage, appSettings), new FakeSelectorStorage(storage), appSettings); var query = new FakeIQuery(); await query.AddItemAsync(new FileIndexItem("/test.jpg"){ FileHash = "test" }); UpdateImportTransformations.QueryUpdateDelegate updateItemAsync = query.UpdateItemAsync; await updateImportTransformations.UpdateTransformations(updateItemAsync, new FileIndexItem("/test.jpg"){ ColorClass = ColorClassParser.Color.Typical }, 0, false, false); var updatedItem = await query.GetObjectByFilePathAsync("/test.jpg"); // Are NOT equal! Assert.AreNotEqual(ColorClassParser.Color.Typical, updatedItem.ColorClass); }
public void DateTimeParsedComparedNamesList_Contain() { var list = UpdateImportTransformations.DateTimeParsedComparedNamesList(); Assert.AreEqual(2, list.Count); Assert.AreEqual(nameof(FileIndexItem.Description).ToLowerInvariant(), list[0]); Assert.AreEqual(nameof(FileIndexItem.DateTime).ToLowerInvariant(), list[1]); }