diff --git a/starsky/starskytest/Controllers/AccountControllerTest.cs b/starsky/starskytest/Controllers/AccountControllerTest.cs index f54b91f3cb..fcc73712af 100644 --- a/starsky/starskytest/Controllers/AccountControllerTest.cs +++ b/starsky/starskytest/Controllers/AccountControllerTest.cs @@ -168,8 +168,7 @@ public async Task AccountController_NoLogin_Login_And_newAccount_Test() // Test login Assert.AreEqual(true,httpContext.User.Identity?.IsAuthenticated); - // The logout is mocked so this will not actual log it out - // controller.Logout() not crashing is good enough; + // The logout is mocked so this will not actual log it out and controller.Logout() not crashing is good enough controller.Logout(); // And clean afterwards @@ -568,8 +567,8 @@ public async Task AccountController_newAccount_TryToOverwrite_ButItKeepsTheSameP Assert.IsNotNull(httpContext); Assert.AreEqual(true,httpContext.User.Identity?.IsAuthenticated); - // The logout is mocked so this will not actual log it out; - // controller.Logout() not crashing is good enough; + // The logout is mocked so this will not actual log it out + // controller.Logout() not crashing is good enough controller.LogoutJson(); @@ -589,8 +588,7 @@ public async Task AccountController_newAccount_TryToOverwrite_ButItKeepsTheSameP // Test login Assert.AreEqual(true,httpContext.User.Identity?.IsAuthenticated); - // The logout is mocked so this will not actual log it out; - // controller.Logout() not crashing is good enough; + // The logout is mocked so this will not actual log it out and controller.Logout() not crashing is good enough; controller.LogoutJson(); // Clean afterwards diff --git a/starsky/starskytest/Controllers/DownloadPhotoControllerTest.cs b/starsky/starskytest/Controllers/DownloadPhotoControllerTest.cs index 3cfb8e44dc..db6f0311d2 100644 --- a/starsky/starskytest/Controllers/DownloadPhotoControllerTest.cs +++ b/starsky/starskytest/Controllers/DownloadPhotoControllerTest.cs @@ -64,7 +64,7 @@ private static IStorage ArrangeStorage() var storage = new FakeIStorage(folderPaths, inputSubPaths, new List{FakeCreateAn.CreateAnImage.Bytes.ToArray(), - FakeCreateAn.CreateAnXmp.Bytes, Array.Empty()}); + FakeCreateAn.CreateAnXmp.Bytes.ToArray(), Array.Empty()}); return storage; } diff --git a/starsky/starskytest/Controllers/GeoControllerTest.cs b/starsky/starskytest/Controllers/GeoControllerTest.cs index d56dee7d22..1d2d11ff59 100644 --- a/starsky/starskytest/Controllers/GeoControllerTest.cs +++ b/starsky/starskytest/Controllers/GeoControllerTest.cs @@ -29,14 +29,10 @@ namespace starskytest.Controllers [TestClass] public sealed class GeoControllerTest { - private readonly IQuery _query; - private readonly IExifTool _exifTool; - private readonly AppSettings _appSettings; private readonly CreateAnImage _createAnImage; private readonly IUpdateBackgroundTaskQueue _bgTaskQueue; - private readonly IReadMeta _readmeta; private readonly IServiceScopeFactory _scopeFactory; - private IMemoryCache _memoryCache; + private readonly IMemoryCache _memoryCache; public GeoControllerTest() { @@ -47,10 +43,6 @@ public GeoControllerTest() var builderDb = new DbContextOptionsBuilder(); builderDb.UseInMemoryDatabase(nameof(ExportControllerTest)); - var options = builderDb.Options; - var context = new ApplicationDbContext(options); - _query = new Query(context, new AppSettings(), null, - new FakeIWebLogger(), _memoryCache); // Inject Fake Exiftool; dependency injection var services = new ServiceCollection(); @@ -85,12 +77,7 @@ public GeoControllerTest() // build the service var serviceProvider = services.BuildServiceProvider(); // get the service - _appSettings = serviceProvider.GetRequiredService(); - - // inject fake exiftool - _exifTool = new FakeExifTool(new FakeIStorage(),_appSettings ); - - _readmeta = serviceProvider.GetRequiredService(); + _scopeFactory = serviceProvider.GetRequiredService(); // get the background helper diff --git a/starsky/starskytest/Controllers/UploadControllerTest.cs b/starsky/starskytest/Controllers/UploadControllerTest.cs index ecc38f47f3..87b6187049 100644 --- a/starsky/starskytest/Controllers/UploadControllerTest.cs +++ b/starsky/starskytest/Controllers/UploadControllerTest.cs @@ -382,7 +382,7 @@ private static ControllerContext RequestWithSidecar() { var httpContext = new DefaultHttpContext(); httpContext.Request.Headers.Add("Content-Type", "application/octet-stream"); - httpContext.Request.Body = new MemoryStream(CreateAnXmp.Bytes); + httpContext.Request.Body = new MemoryStream(CreateAnXmp.Bytes.ToArray()); var actionContext = new ActionContext(httpContext, new RouteData(), new ControllerActionDescriptor()); return new ControllerContext(actionContext); diff --git a/starsky/starskytest/FakeCreateAn/CreateAnXmp.cs b/starsky/starskytest/FakeCreateAn/CreateAnXmp.cs index 119320a5b1..920dec2e58 100644 --- a/starsky/starskytest/FakeCreateAn/CreateAnXmp.cs +++ b/starsky/starskytest/FakeCreateAn/CreateAnXmp.cs @@ -1,3 +1,4 @@ +using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; using System.Text; @@ -31,6 +32,6 @@ public static class CreateAnXmp "1.0" + ""; - public static readonly byte[] Bytes = Encoding.ASCII.GetBytes(XmpString); + public static readonly ImmutableArray Bytes = Encoding.ASCII.GetBytes(XmpString).ToImmutableArray(); } } diff --git a/starsky/starskytest/FakeCreateAn/CreateAnZipFile12/CreateAnZipFile12.cs b/starsky/starskytest/FakeCreateAn/CreateAnZipFile12/CreateAnZipFile12.cs index b95363b00a..73011a78ff 100644 --- a/starsky/starskytest/FakeCreateAn/CreateAnZipFile12/CreateAnZipFile12.cs +++ b/starsky/starskytest/FakeCreateAn/CreateAnZipFile12/CreateAnZipFile12.cs @@ -18,11 +18,12 @@ public static class CreateAnZipFile12 public static readonly ImmutableArray Bytes = Base64Helper.TryParse(Base64CreateAnZipFile12String).ToImmutableArray(); - public static readonly Dictionary Content = new Dictionary + public static readonly ImmutableDictionary Content = + new Dictionary { { "file1.txt", "This is file 1.\n" }, { "file2.txt", "This is file 2.\n" } - }; + }.ToImmutableDictionary(); } } diff --git a/starsky/starskytest/FakeMocks/FakeICacheEntry.cs b/starsky/starskytest/FakeMocks/FakeICacheEntry.cs index 27d9151de7..cd4945e7b8 100644 --- a/starsky/starskytest/FakeMocks/FakeICacheEntry.cs +++ b/starsky/starskytest/FakeMocks/FakeICacheEntry.cs @@ -11,11 +11,12 @@ public class FakeICacheEntry : ICacheEntry public void Dispose() { GC.SuppressFinalize(this); + Dispose(true); } protected virtual void Dispose(bool disposing) { - Dispose(); + // do nothing } public object Key { get; } diff --git a/starsky/starskytest/FakeMocks/FakeIFileSystemWatcherWrapper.cs b/starsky/starskytest/FakeMocks/FakeIFileSystemWatcherWrapper.cs index 7568f1f573..1c3ac43564 100644 --- a/starsky/starskytest/FakeMocks/FakeIFileSystemWatcherWrapper.cs +++ b/starsky/starskytest/FakeMocks/FakeIFileSystemWatcherWrapper.cs @@ -65,6 +65,13 @@ public bool EnableRaisingEvents public bool IsDisposed { get; set; } void IDisposable.Dispose() + { + GC.SuppressFinalize(this); + IsDisposed = true; + Dispose(true); + } + + protected virtual void Dispose(bool disposing) { GC.SuppressFinalize(this); IsDisposed = true; diff --git a/starsky/starskytest/FakeMocks/FakeIFtpWebRequestFactory.cs b/starsky/starskytest/FakeMocks/FakeIFtpWebRequestFactory.cs index 80d21d9653..635c96dbb2 100644 --- a/starsky/starskytest/FakeMocks/FakeIFtpWebRequestFactory.cs +++ b/starsky/starskytest/FakeMocks/FakeIFtpWebRequestFactory.cs @@ -46,8 +46,14 @@ public class FakeIFtpWebResponse : IFtpWebResponse public void Dispose() { GC.SuppressFinalize(this); - // done + Dispose(true); } + + protected virtual void Dispose(bool disposing) + { + GC.SuppressFinalize(this); + } + public Stream GetResponseStream() { diff --git a/starsky/starskytest/FakeMocks/FakeIQuery.cs b/starsky/starskytest/FakeMocks/FakeIQuery.cs index f323d9bd93..01300e12b8 100644 --- a/starsky/starskytest/FakeMocks/FakeIQuery.cs +++ b/starsky/starskytest/FakeMocks/FakeIQuery.cs @@ -243,7 +243,7 @@ public bool RemoveCacheParentItem(string directoryName) public string? GetSubPathByHash(string fileHash) { - return _content.FirstOrDefault(p => p.FileHash == fileHash)?.FilePath; + return _content.Find(p => p.FileHash == fileHash)?.FilePath; } public Task GetSubPathByHashAsync(string fileHash) @@ -309,7 +309,7 @@ public async Task AddItemAsync(FileIndexItem fileIndexItem) { _content.Add(fileIndexItem); await Task.Delay(new Random().Next(1, 5)); - if ( _content.FirstOrDefault(p => + if ( _content.Find(p => p.FilePath == fileIndexItem.FilePath) != null ) return fileIndexItem; _content.Add(fileIndexItem); @@ -327,7 +327,7 @@ public async Task> AddRangeAsync(List fileInd public FileIndexItem UpdateItem(FileIndexItem updateStatusContent) { - var item = _content.FirstOrDefault(p => + var item = _content.Find(p => p.FilePath == updateStatusContent.FilePath); if ( item == null ) return updateStatusContent; var index = _content.IndexOf(item); @@ -348,12 +348,7 @@ public Task> UpdateItemAsync(List updateStatu } return Task.FromResult(updateStatusContentList); } - - public List UpdateItem(List updateStatusContentList) - { - throw new NotImplementedException(); - } - + public RelativeObjects GetNextPrevInFolder(string currentFolder) { return new RelativeObjects(); @@ -401,7 +396,7 @@ public async Task> AddParentItemsAsync(string subPath) var toAddList = new List(); var indexItems = _content - .Where(p => pathListShouldExist.Any(f => f == p.FilePath)).ToList(); + .Where(p => pathListShouldExist.Exists(f => f == p.FilePath)).ToList(); // ReSharper disable once ForeachCanBeConvertedToQueryUsingAnotherGetEnumerator foreach ( var pathShouldExist in pathListShouldExist ) diff --git a/starsky/starskytest/FakeMocks/FakeIUserManger.cs b/starsky/starskytest/FakeMocks/FakeIUserManger.cs index 741b68b767..8bda004532 100644 --- a/starsky/starskytest/FakeMocks/FakeIUserManger.cs +++ b/starsky/starskytest/FakeMocks/FakeIUserManger.cs @@ -56,7 +56,7 @@ public ChangeSecretResult ChangeSecret(string credentialTypeCode, string identif public Task ValidateAsync(string credentialTypeCode, string identifier, string secret) { var validateResult = new ValidateResult(); - var result = _userOverviewModel.Users.FirstOrDefault(p => p.Credentials?.FirstOrDefault()?.Identifier == identifier); + var result = _userOverviewModel.Users.Find(p => p.Credentials?.FirstOrDefault()?.Identifier == identifier); if ( result?.Credentials?.FirstOrDefault()?.Secret == secret ) { validateResult.Success = true; diff --git a/starsky/starskytest/FakeMocks/FakeReadMeta.cs b/starsky/starskytest/FakeMocks/FakeReadMeta.cs index cdaa299088..b69d0601cd 100644 --- a/starsky/starskytest/FakeMocks/FakeReadMeta.cs +++ b/starsky/starskytest/FakeMocks/FakeReadMeta.cs @@ -7,7 +7,7 @@ namespace starskytest.FakeMocks { public class FakeReadMeta : IReadMeta { - public FileIndexItem ReadExifAndXmpFromFile(string path) + public FileIndexItem ReadExifAndXmpFromFile(string subPath) { return new FileIndexItem { @@ -16,7 +16,7 @@ public FileIndexItem ReadExifAndXmpFromFile(string path) }; } - public List ReadExifAndXmpFromFileAddFilePathHash(List subPathArray, + public List ReadExifAndXmpFromFileAddFilePathHash(List subPathList, List fileHashes = null) { var createAnImage = new CreateAnImage(); diff --git a/starsky/starskytest/Helpers/FileStreamingHelperTest.cs b/starsky/starskytest/Helpers/FileStreamingHelperTest.cs index 22f149b315..216e5cd68b 100644 --- a/starsky/starskytest/Helpers/FileStreamingHelperTest.cs +++ b/starsky/starskytest/Helpers/FileStreamingHelperTest.cs @@ -66,7 +66,6 @@ public async Task StreamFileExeption() var httpContext = new DefaultHttpContext(); // or mock a `HttpContext` httpContext.Request.Headers["token"] = "fake_token_here"; //Set header - var ms = new MemoryStream(); await FileStreamingHelper.StreamFile(httpContext.Request,_appSettings, new FakeSelectorStorage(new FakeIStorage())); } @@ -77,7 +76,7 @@ public async Task StreamFilemultipart() var httpContext = new DefaultHttpContext(); // or mock a `HttpContext` httpContext.Request.Headers["token"] = "fake_token_here"; //Set header httpContext.Request.ContentType = "multipart/form-data"; - var ms = new MemoryStream(); + await FileStreamingHelper.StreamFile(httpContext.Request,_appSettings,new FakeSelectorStorage(new FakeIStorage())); } diff --git a/starsky/starskytest/Services/ReadMetaTest.cs b/starsky/starskytest/Services/ReadMetaTest.cs index cfd1cf3106..657dcaa20f 100644 --- a/starsky/starskytest/Services/ReadMetaTest.cs +++ b/starsky/starskytest/Services/ReadMetaTest.cs @@ -232,7 +232,7 @@ public void ShouldPickXmpFile() new List { "/test.dng", "/test.xmp" }, new List { CreateAnImage.Bytes.ToArray(), - CreateAnXmp.Bytes + CreateAnXmp.Bytes.ToArray() }); var readMeta = new ReadMeta(storage, new AppSettings(), null!, new FakeIWebLogger()); diff --git a/starsky/starskytest/starsky.feature.geolookup/Services/GeoBackgroundTaskTest.cs b/starsky/starskytest/starsky.feature.geolookup/Services/GeoBackgroundTaskTest.cs index e84ccbe79a..834c2061b3 100644 --- a/starsky/starskytest/starsky.feature.geolookup/Services/GeoBackgroundTaskTest.cs +++ b/starsky/starskytest/starsky.feature.geolookup/Services/GeoBackgroundTaskTest.cs @@ -43,7 +43,7 @@ private void Setup() DependenciesFolder = Path.Combine(new CreateAnImage().BasePath, "tmp-dependencies"), }; - // create a temp folder; + // create a temp folder if ( !new StorageHostFullPathFilesystem().ExistFolder(_appSettings.DependenciesFolder) ) { new StorageHostFullPathFilesystem().CreateDirectory(_appSettings diff --git a/starsky/starskytest/starsky.feature.geolookup/Services/GeoCliTest.cs b/starsky/starskytest/starsky.feature.geolookup/Services/GeoCliTest.cs index 631a820ca7..cd3897726c 100644 --- a/starsky/starskytest/starsky.feature.geolookup/Services/GeoCliTest.cs +++ b/starsky/starskytest/starsky.feature.geolookup/Services/GeoCliTest.cs @@ -35,28 +35,18 @@ public GeoCliTest() [TestMethod] public async Task GeoCliInput_Notfound() { - var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary - { - }); - var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); - var console = new FakeConsoleWrapper(); var geoCli = new GeoCli(new FakeIGeoReverseLookup(), new FakeIGeoLocationWrite(), new FakeSelectorStorage(new FakeIStorage(new List{})), new AppSettings(), console, new FakeIGeoFileDownload(), new FakeExifToolDownload(), new FakeIWebLogger()); await geoCli.CommandLineAsync(new List {"-p",}.ToArray()); - Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("not found")); + Assert.IsTrue(console.WrittenLines.LastOrDefault()?.Contains("not found")); } [TestMethod] public async Task GeoCliInput_RelativeUrl_HappyFlow() { - var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary - { - }); - var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); - var relativeParentFolder = new AppSettings().DatabasePathToFilePath( new StructureService(new FakeIStorage(), new AppSettings().Structure) .ParseSubfolders(0),false); @@ -82,11 +72,6 @@ public async Task GeoCliInput_RelativeUrl_HappyFlow() [TestMethod] public async Task GeoCliInput_AbsolutePath_HappyFlow() { - var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary - { - }); - var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); - var storage = new FakeIStorage(new List {"/"}, new List {"/test.jpg"}, new List {CreateAnImage.Bytes.ToArray()}); diff --git a/starsky/starskytest/starsky.feature.geolookup/Services/GeoIndexGpxTest.cs b/starsky/starskytest/starsky.feature.geolookup/Services/GeoIndexGpxTest.cs index 6d7deb0891..5b58808de8 100644 --- a/starsky/starskytest/starsky.feature.geolookup/Services/GeoIndexGpxTest.cs +++ b/starsky/starskytest/starsky.feature.geolookup/Services/GeoIndexGpxTest.cs @@ -4,20 +4,17 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using starsky.feature.geolookup.Services; using starsky.foundation.database.Models; -using starskycore.Helpers; using starsky.foundation.platform.Helpers; using starsky.foundation.platform.Models; -using starsky.foundation.readmeta.Services; using starskytest.FakeCreateAn; using starskytest.FakeMocks; -namespace starskytest.starskyGeoCore.Services +namespace starskytest.starsky.feature.geolookup.Services { [TestClass] public sealed class GeoIndexGpxTest { private readonly AppSettings _appSettings; - private readonly ReadMeta _readMeta; private readonly List _metaFilesDirectory; public GeoIndexGpxTest() @@ -28,9 +25,6 @@ public GeoIndexGpxTest() StorageFolder = createAnGpx.BasePath, CameraTimeZone = "Europe/Minsk" }; - var fakeIStorage = new FakeIStorage(); - _readMeta = new ReadMeta(fakeIStorage,_appSettings, - null, new FakeIWebLogger()); _metaFilesDirectory = new List { @@ -46,18 +40,20 @@ public GeoIndexGpxTest() public void GeoIndexGpx_ConvertTimeZone_EuropeAmsterdam() { var fakeIStorage = new FakeIStorage(); - var result = new GeoIndexGpx(new AppSettings{CameraTimeZone = "Europe/Amsterdam"}, fakeIStorage, new FakeIWebLogger()).ConvertTimeZone(new DateTime(2020, 04, 15, - 17, 0, 0, 0)); - Assert.AreEqual(new DateTime(2020, 04, 15, 15, 0, 0, 0), result); + var result = new GeoIndexGpx(new AppSettings{CameraTimeZone = "Europe/Amsterdam"}, + fakeIStorage, new FakeIWebLogger()).ConvertTimeZone(new DateTime(2020, 04, 15, + 17, 0, 0, 0, kind: DateTimeKind.Unspecified)); + Assert.AreEqual(new DateTime(2020, 04, 15, 15, 0, 0, 0, kind: DateTimeKind.Local), result); } [TestMethod] public void GeoIndexGpx_ConvertTimeZone_EuropeLondon() { var fakeIStorage = new FakeIStorage(); - var result = new GeoIndexGpx(new AppSettings{CameraTimeZone = "Europe/London"}, fakeIStorage, new FakeIWebLogger()).ConvertTimeZone(new DateTime(2020, 01, 15, - 17, 0, 0, 0)); - Assert.AreEqual(new DateTime(2020, 01, 15,17, 0, 0, 0), result); + var result = new GeoIndexGpx(new AppSettings{CameraTimeZone = "Europe/London"}, + fakeIStorage, new FakeIWebLogger()).ConvertTimeZone(new DateTime(2020, 01, 15, + 17, 0, 0, 0, kind: DateTimeKind.Unspecified)); + Assert.AreEqual(new DateTime(2020, 01, 15,17, 0, 0, 0, kind: DateTimeKind.Local), result); } [TestMethod] @@ -65,7 +61,7 @@ public void GeoIndexGpx_ConvertTimeZone_KindUtc() { var fakeIStorage = new FakeIStorage(); var inputDateTime = new DateTime(2020, 01, 15, - 17, 0, 0, 0); + 17, 0, 0, 0, kind: DateTimeKind.Unspecified); inputDateTime = DateTime.SpecifyKind(inputDateTime, DateTimeKind.Utc); var result =new GeoIndexGpx(new AppSettings{CameraTimeZone = "Europe/London"}, fakeIStorage, new FakeIWebLogger()).ConvertTimeZone(inputDateTime); Assert.AreEqual(new DateTime(2020, 01, 15,17, 0, 0, 0), result); @@ -77,7 +73,7 @@ public void GeoIndexGpx_ConvertTimeZone_typeLocal_Expect_ArgumentException() { var fakeIStorage = new FakeIStorage(); var inputDateTime = new DateTime(2020, 01, 15, - 17, 0, 0, 0); + 17, 0, 0, 0, kind: DateTimeKind.Local); inputDateTime = DateTime.SpecifyKind(inputDateTime, DateTimeKind.Local); new GeoIndexGpx(new AppSettings{CameraTimeZone = "Europe/London"}, fakeIStorage, new FakeIWebLogger()).ConvertTimeZone(inputDateTime); @@ -109,8 +105,8 @@ public void GeoIndexGpx_LoopFolderLookupTest() var returnFileIndexItems = new GeoIndexGpx(_appSettings, fakeIStorage, new FakeIWebLogger()).LoopFolder(exampleFiles); - Assert.AreEqual(null,returnFileIndexItems.FirstOrDefault(p => p.FileName == "NotInRange.jpg")); - Assert.AreEqual("01.jpg",returnFileIndexItems.FirstOrDefault(p => p.FileName == "01.jpg")?.FileName); + Assert.AreEqual(null,returnFileIndexItems.Find(p => p.FileName == "NotInRange.jpg")); + Assert.AreEqual("01.jpg",returnFileIndexItems.Find(p => p.FileName == "01.jpg")?.FileName); } diff --git a/starsky/starskytest/starsky.feature.import/Helpers/UpdateImportTransformationsTest.cs b/starsky/starskytest/starsky.feature.import/Helpers/UpdateImportTransformationsTest.cs index b130c694f2..c4733de869 100644 --- a/starsky/starskytest/starsky.feature.import/Helpers/UpdateImportTransformationsTest.cs +++ b/starsky/starskytest/starsky.feature.import/Helpers/UpdateImportTransformationsTest.cs @@ -23,7 +23,7 @@ public async Task UpdateTransformations_ShouldUpdate_ColorClass_IndexModeOn() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var appSettings = new AppSettings(); var updateImportTransformations = new UpdateImportTransformations(new FakeIWebLogger(), @@ -50,7 +50,7 @@ public async Task UpdateTransformations_ShouldNotUpdate_IndexOff() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var appSettings = new AppSettings(); var updateImportTransformations = new UpdateImportTransformations(new FakeIWebLogger(), @@ -78,7 +78,7 @@ public async Task UpdateTransformations_ShouldUpdate_Description_IndexModeOn() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var appSettings = new AppSettings(); var updateImportTransformations = new UpdateImportTransformations(new FakeIWebLogger(), diff --git a/starsky/starskytest/starsky.feature.import/Services/ImportTest.cs b/starsky/starskytest/starsky.feature.import/Services/ImportTest.cs index 23ce35c94e..96ab3426fa 100644 --- a/starsky/starskytest/starsky.feature.import/Services/ImportTest.cs +++ b/starsky/starskytest/starsky.feature.import/Services/ImportTest.cs @@ -441,7 +441,7 @@ public async Task Importer_Xmp_WhenImportingAFileThatAlreadyHasAnXmpSidecarFile( var storage = new FakeIStorage( new List{"/"}, new List{"/test.dng","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var importService = new Import(new FakeSelectorStorage(storage), appSettings, new FakeIImportQuery(), new FakeExifTool(storage, appSettings),query,_console, @@ -468,7 +468,7 @@ public async Task Importer_Xmp_CheckIfSidecarExtensionsFilled() var storage = new FakeIStorage( new List{"/"}, new List{"/test.dng","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var importService = new Import(new FakeSelectorStorage(storage), appSettings, new FakeIImportQuery(), new FakeExifTool(storage, appSettings),query, @@ -499,7 +499,7 @@ public async Task Importer_Xmp_NotOverWriteExistingFile() var storage = new FakeIStorage( new List{"/"}, new List{"/test.dng","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var importService = new Import(new FakeSelectorStorage(storage), appSettings, new FakeIImportQuery(), new FakeExifTool(storage, appSettings),query, @@ -986,7 +986,7 @@ public void ExistXmpSidecarForThisFileType_DngReturn_True() var storage = new FakeIStorage( new List{"/"}, new List{"/test.dng","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var appSettings = new AppSettings(); var importService = new Import(new FakeSelectorStorage(storage), appSettings, new FakeIImportQuery(), new FakeExifTool(storage, appSettings),new FakeIQuery(), @@ -1005,7 +1005,7 @@ public void ExistXmpSidecarForThisFileType_JpegReturn_False() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var appSettings = new AppSettings(); var importService = new Import(new FakeSelectorStorage(storage), appSettings, new FakeIImportQuery(), new FakeExifTool(storage, appSettings),new FakeIQuery(), @@ -1024,7 +1024,7 @@ public async Task AddToQueryAndImportDatabaseAsync_NoConnection_NoVerbose() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var logger = new FakeIWebLogger(); var appSettings = new AppSettings(); @@ -1044,7 +1044,7 @@ public async Task AddToQueryAndImportDatabaseAsync_NoConnection_YesVerbose() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}); var logger = new FakeIWebLogger(); var appSettings = new AppSettings{Verbose = true}; @@ -1069,7 +1069,7 @@ public void CheckForReadOnlyFileSystems_1() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}, new List{DateTime.Now,DateTime.Now}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}, new List{DateTime.Now,DateTime.Now}); var appSettings = new AppSettings{Verbose = true}; var logger = new FakeIWebLogger(); @@ -1093,7 +1093,7 @@ public void CheckForReadOnlyFileSystems_1_DirectoryGetParentNull() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}, new List{DateTime.Now,DateTime.Now}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}, new List{DateTime.Now,DateTime.Now}); var appSettings = new AppSettings{Verbose = true}; var logger = new FakeIWebLogger(); @@ -1153,7 +1153,7 @@ public void CheckForReadOnlyFileSystems_2() Assert.AreEqual(DefaultPath(),readOnlyFileSystems[0].Item1); var testItem = importIndexItems.FirstOrDefault(p => - p.SourceFullFilePath == "/test.jpg"); + p.SourceFullFilePath == "/test.jpg"); Assert.AreEqual(ImportStatus.ReadOnlyFileSystem,testItem?.Status); } @@ -1198,7 +1198,7 @@ public void CheckForReadOnlyFileSystems_3() var storage = new FakeIStorage( new List{"/"}, new List{"/test.jpg","/test.xmp"}, - new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes}, new List{DateTime.Now,DateTime.Now}); + new List{CreateAnPng.Bytes.ToArray(),CreateAnXmp.Bytes.ToArray()}, new List{DateTime.Now,DateTime.Now}); var appSettings = new AppSettings{Verbose = true}; var logger = new FakeIWebLogger(); diff --git a/starsky/starskytest/starsky.feature.metaupdate/Services/MetaInfoTest.cs b/starsky/starskytest/starsky.feature.metaupdate/Services/MetaInfoTest.cs index 8b4c4452cf..e6cfc57821 100644 --- a/starsky/starskytest/starsky.feature.metaupdate/Services/MetaInfoTest.cs +++ b/starsky/starskytest/starsky.feature.metaupdate/Services/MetaInfoTest.cs @@ -48,7 +48,7 @@ public void GetInfo_XmpFile() new FakeSelectorStorage(new FakeIStorage(new List(), new List {"/test.xmp"}, new List { - FakeCreateAn.CreateAnXmp.Bytes + FakeCreateAn.CreateAnXmp.Bytes.ToArray() })),null, new FakeIWebLogger()); var test = metaInfo.GetInfo(new List{"/test.xmp"}, false); Assert.AreEqual(FileIndexItem.ExifStatus.Ok,test.FirstOrDefault()?.Status); diff --git a/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncMultiFileTest.cs b/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncMultiFileTest.cs index 4114c064b1..9fcbe0f759 100644 --- a/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncMultiFileTest.cs +++ b/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncMultiFileTest.cs @@ -451,7 +451,7 @@ public async Task MultiFile_ShouldAddToSidecarFieldWhenSidecarIsAdded() var storage = new FakeIStorage(new List{"/"}, new List{"/test.dng", "/test.xmp"}, new List{ CreateAnImage.Bytes.ToArray(), - CreateAnXmp.Bytes}, new List{lastEdited,lastEdited}); + CreateAnXmp.Bytes.ToArray()}, new List{lastEdited,lastEdited}); var (fileHash, _) = await new FileHash(storage).GetHashCodeAsync("/test.dng"); @@ -485,7 +485,7 @@ public async Task MultiFile_ShouldAddToSidecarFieldWhenSidecarIsAdded_Equal() var storage = new FakeIStorage(new List{"/"}, new List{"/test.dng", "/test.xmp"}, new List{ CreateAnImageNoExif.Bytes.ToArray(), - CreateAnXmp.Bytes}); + CreateAnXmp.Bytes.ToArray()}); var (fileHash, _) = await new FileHash(storage).GetHashCodeAsync("/test.dng"); diff --git a/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncSingleFileTest.cs b/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncSingleFileTest.cs index 6b047a6be4..00321e0e6e 100644 --- a/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncSingleFileTest.cs +++ b/starsky/starskytest/starsky.foundation.sync/SyncServices/SyncSingleFileTest.cs @@ -593,7 +593,7 @@ public async Task SingleItem_SidecarFileTest() var storage = new FakeIStorage(new List{"/"}, new List{filePathRaw, filePathXmp}, new List{ CreateAnImageNoExif.Bytes.ToArray(), - CreateAnXmp.Bytes}, new List{lastEdited, lastEdited}); + CreateAnXmp.Bytes.ToArray()}, new List{lastEdited, lastEdited}); var (fileHashRaw, _) = await new FileHash(storage).GetHashCodeAsync(filePathRaw); @@ -642,7 +642,7 @@ public async Task SingleItem_ShouldAddToSidecarFieldWhenSidecarIsAdded3() var storage = new FakeIStorage(new List{"/"}, new List{filePathRaw, filePathXmp}, new List{ CreateAnImageNoExif.Bytes.ToArray(), - CreateAnXmp.Bytes}, new List{lastEdited, lastEdited}); + CreateAnXmp.Bytes.ToArray()}, new List{lastEdited, lastEdited}); var (fileHash, _) = await new FileHash(storage).GetHashCodeAsync(filePathRaw); @@ -781,7 +781,7 @@ public async Task SingleFile_ShouldAddToSidecarFieldWhenSidecarIsAdded() new List{"/test.dng", "/test.xmp"}, new List{ CreateAnImageNoExif.Bytes.ToArray(), - CreateAnXmp.Bytes + CreateAnXmp.Bytes.ToArray() }); var (fileHash, _) = await new FileHash(storage).GetHashCodeAsync("/test.dng"); diff --git a/starsky/starskytest/starsky.foundation.writemeta/JsonService/FileIndexItemJsonWriterTest.cs b/starsky/starskytest/starsky.foundation.writemeta/JsonService/FileIndexItemJsonWriterTest.cs index 80a6a81a51..f233678ea7 100644 --- a/starsky/starskytest/starsky.foundation.writemeta/JsonService/FileIndexItemJsonWriterTest.cs +++ b/starsky/starskytest/starsky.foundation.writemeta/JsonService/FileIndexItemJsonWriterTest.cs @@ -48,9 +48,9 @@ public async Task Json_Write_ImageFormat_Read() Status = FileIndexItem.ExifStatus.ExifWriteNotSupported, Description = "Description", Title = "Title", - DateTime = new DateTime(2020, 01, 01), - AddToDatabase = new DateTime(2020, 01, 01), - LastEdited = new DateTime(2020, 01, 01), + DateTime = new DateTime(2020, 01, 01, 00,00,00, kind: DateTimeKind.Unspecified), + AddToDatabase = new DateTime(2020, 01, 01, 00,00,00, kind: DateTimeKind.Local), + LastEdited = new DateTime(2020, 01, 01, 00,00,00, kind: DateTimeKind.Local), Latitude = 50, Longitude = 5, LocationAltitude = 1,