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 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 async Task Update_Write_GPX() { var changedFileIndexItemName = new Dictionary <string, List <string> > { { "/test.gpx", new List <string> { "Tags" } } }; await _iStorageFake.WriteStreamAsync(new MemoryStream(CreateAnGpx.Bytes), "/test.gpx"); var updateItem = new FileIndexItem("/test.gpx") { Tags = "test", Status = FileIndexItem.ExifStatus.Ok }; var query = new FakeIQuery(); await query.AddItemAsync(updateItem); var fileIndexResultsList = new List <FileIndexItem> { updateItem }; var readMeta = new FakeReadMetaSubPathStorage(); var service = new MetaUpdateService(query, _exifTool, new FakeSelectorStorage(_iStorageFake), new FakeMetaPreflight(), new FakeIWebLogger(), readMeta); await service.UpdateAsync(changedFileIndexItemName, fileIndexResultsList, updateItem, false, false, 0); Assert.IsTrue(_iStorageFake.ExistFile("/.starsky.test.gpx.json")); }
public async Task UpdateService_Update_toDelete() { var query = new FakeIQuery(); await query.AddItemAsync(new FileIndexItem { Status = FileIndexItem.ExifStatus.Ok, Tags = "", FileName = "test_delete.jpg", Description = "noChanges", ParentDirectory = "/delete", Id = 9 }); var item0 = query.GetObjectByFilePath("/delete/test_delete.jpg"); item0.Tags = "!delete!"; var changedFileIndexItemName = new Dictionary <string, List <string> > { { "/delete/test_delete.jpg", new List <string> { nameof(FileIndexItem.Tags) } }, }; var fileIndexResultsList = new List <FileIndexItem> { item0 }; var readMeta = new FakeReadMetaSubPathStorage(); var service = new MetaUpdateService(query, _exifTool, new FakeSelectorStorage(_iStorageFake), new FakeMetaPreflight(), new FakeIWebLogger(), readMeta); await service.UpdateAsync(changedFileIndexItemName, fileIndexResultsList, null, false, false, 0); // Deleted status is done in the Preflight stage Assert.AreEqual(FileIndexItem.ExifStatus.Ok, fileIndexResultsList[0].Status); // db Assert.AreEqual("!delete!", query.GetObjectByFilePath("/delete/test_delete.jpg").Tags); Assert.AreEqual("noChanges", query.GetObjectByFilePath("/delete/test_delete.jpg").Description); await query.RemoveItemAsync(item0); }
public async Task UpdateRotate() { var changedFileIndexItemName = new Dictionary <string, List <string> > { { "/test.jpg", new List <string> { "orientation" } } }; await _iStorageFake.WriteStreamAsync(new MemoryStream(CreateAnImage.Bytes), "/test.jpg"); var updateItem = new FileIndexItem("/test.jpg") { Orientation = FileIndexItem.Rotation.Horizontal, Status = FileIndexItem.ExifStatus.Ok, FileHash = "test" }; var query = new FakeIQuery(); await query.AddItemAsync(updateItem); var fileIndexResultsList = new List <FileIndexItem> { updateItem }; var readMeta = new FakeReadMetaSubPathStorage(); var service = new MetaUpdateService(query, _exifTool, new FakeSelectorStorage(_iStorageFake), new FakeMetaPreflight(), new FakeIWebLogger(), readMeta); await service .UpdateAsync(changedFileIndexItemName, fileIndexResultsList, updateItem, false, false, 1); // so there is something changed Assert.AreNotEqual("test", updateItem.FileHash); await _query.RemoveItemAsync(updateItem); }