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); }