public void Delete_DirectoryWithChildItems_CollectionsOff() { var storage = new FakeIStorage(new List <string> { "/test", "/" }, new List <string> { "/test/image.jpg", "/test/image.dng" }, new List <byte[]> { FakeCreateAn.CreateAnImage.Bytes, FakeCreateAn.CreateAnImage.Bytes }); var selectorStorage = new FakeSelectorStorage(storage); var fakeQuery = new FakeIQuery(new List <FileIndexItem> { new FileIndexItem("/test") { IsDirectory = true, Tags = "!delete!" }, new FileIndexItem("/test/image.jpg"), new FileIndexItem("/test/image.dng") }); var deleteItem = new DeleteItem(fakeQuery, new AppSettings(), selectorStorage); var result = deleteItem.Delete("/test", false); Assert.AreEqual(3, result.Count); Assert.AreEqual("/test", result[0].FilePath); Assert.AreEqual("/test/image.jpg", result[1].FilePath); Assert.AreEqual("/test/image.dng", result[2].FilePath); Assert.AreEqual(0, storage.GetAllFilesInDirectoryRecursive("/").Count()); Assert.AreEqual(0, fakeQuery.GetAllRecursive("/").Count); }
public async Task ThumbnailGenerationTest_CheckIfGenerated() { var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { CreateAnImage.Bytes }); var thumbStorage = new FakeIStorage(); var selectorStorage = new FakeSelectorStorage(storage); var controller = new ThumbnailGenerationController(selectorStorage, new FakeIQuery( new List <FileIndexItem> { new FileIndexItem("/test.jpg") } ), new FakeIWebLogger(), new FakeIWebSocketConnectionsService()); await controller.WorkItem("/", storage, thumbStorage); var folder = thumbStorage.GetAllFilesInDirectoryRecursive( "/").ToList(); Assert.AreEqual(1, folder.Count(p => !p.Contains("@"))); }
public async Task RenameFsTest_FakeIStorage_File_To_ExistFolder_Json_SidecarFile() { CreateFoldersAndFilesInDatabase(); var initFolderList = new List <string> { "/", "/test" }; var initFileList = new List <string> { _fileInExist.FilePath, JsonSidecarLocation.JsonLocation(_fileInExist.FilePath) }; var iStorage = new FakeIStorage(initFolderList, initFileList); // the input is still FileName = "file.jpg", ParentDirectory = "/exist", var renameFs = await new RenameService(_query, iStorage) .Rename(initFileList.FirstOrDefault(), "/test/", true); // to file: (in database) var all2 = await _query.GetAllRecursiveAsync(); var selectFile3 = all2.FirstOrDefault(p => p.FileName == "file.jpg"); Assert.AreEqual("file.jpg", selectFile3.FileName); Assert.AreEqual("/test", selectFile3.ParentDirectory); // check if sidecar json are moved (on fake Filesystem) var values = iStorage.GetAllFilesInDirectoryRecursive("/test").ToList(); Assert.AreEqual("/test/.starsky.file.jpg.json", values.FirstOrDefault(p => p == "/test/.starsky.file.jpg.json")); Assert.AreEqual(FileIndexItem.ExifStatus.NotFoundSourceMissing, renameFs.FirstOrDefault().Status); Assert.AreEqual(FileIndexItem.ExifStatus.Ok, renameFs[1].Status); RemoveFoldersAndFilesInDatabase(); }
public async Task RenameFsTest_RenameOneFile_JsonSidecarFile() { CreateFoldersAndFilesInDatabase(); var iStorage = new FakeIStorage(new List <string> { _folderExist.FilePath }, new List <string> { _fileInExist.FilePath, JsonSidecarLocation.JsonLocation(_fileInExist.FilePath) }); var renameFs = await new RenameService(_query, iStorage) .Rename(_fileInExist.FilePath, _folderExist.FilePath + "/test2.jpg"); // check if sidecar json are moved (on fake Filesystem) var values = iStorage.GetAllFilesInDirectoryRecursive("/").ToList(); Assert.AreEqual("/exist/.starsky.test2.jpg.json", values.FirstOrDefault(p => p == "/exist/.starsky.test2.jpg.json")); Assert.AreEqual(FileIndexItem.ExifStatus.Ok, renameFs.FirstOrDefault(p => p.FilePath == "/exist/test2.jpg").Status); Assert.AreEqual(FileIndexItem.ExifStatus.NotFoundSourceMissing, renameFs.FirstOrDefault(p => p.FilePath == "/exist/file.jpg").Status); RemoveFoldersAndFilesInDatabase(); }
public async Task MoveSourceFiles_False() { var profile = new AppSettingsPublishProfiles { ContentType = TemplateContentType.MoveSourceFiles, Folder = "src", }; var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }); var selectorStorage = new FakeSelectorStorage(storage); var appSettings = new AppSettings { PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "default", new List <AppSettingsPublishProfiles> { profile } } }, Verbose = true }; var service = new WebHtmlPublishService(new PublishPreflight(appSettings, new ConsoleWrapper()), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), new FakeIOverlayImage(selectorStorage), new ConsoleWrapper(), new FakeIWebLogger()); await service.GenerateMoveSourceFiles(profile, new List <FileIndexItem> { new FileIndexItem("/test.jpg") }, "/", false); // False situation Assert.IsTrue(storage.GetAllFilesInDirectoryRecursive("/") .FirstOrDefault(p => p != null && p.Contains("src/test.jpg")) != null); // is True instead of False Assert.IsTrue(storage.ExistFile("/test.jpg")); }
public async Task FileStreamingHelper_MultipartRequestHelper() { var contentType = $"multipart/form-data; boundary=\"{Boundary}\""; // string contentType, Stream requestBody, AppSettings appSettings, // ISelectorStorage selectorStorage, string headerFileName = null var stream = MakeStream(TwoPartBody); var storage = new FakeIStorage(); storage.CreateDirectory(_appSettings.TempFolder); var streamSelector = new FakeSelectorStorage(storage); await FileStreamingHelper.StreamFile(contentType, stream, _appSettings, streamSelector); var tempPath = storage.GetAllFilesInDirectoryRecursive(_appSettings.TempFolder).FirstOrDefault(); Assert.IsTrue(tempPath?.EndsWith("a.txt")); }