public async Task RenderCopy_KeyNotFound() { var storage = new FakeIStorage(); var selectorStorage = new FakeSelectorStorage(storage); var appSettings = new AppSettings { PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "same", new List <AppSettingsPublishProfiles> { new AppSettingsPublishProfiles { ContentType = TemplateContentType.Jpeg, SourceMaxWidth = 300, OverlayMaxWidth = 380, Folder = "1000", Append = "_kl1k" } } } } }; var service = new WebHtmlPublishService(new FakeIPublishPreflight(), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), new FakeIOverlayImage(selectorStorage), new ConsoleWrapper(), new FakeIWebLogger()); var result = await service.RenderCopy(new List <FileIndexItem>(), "test", "test", "/"); Assert.IsNull(result); }
public void ShouldSkipExtraLarge_SkipExtraLarge() { var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { new byte[10] }); var selectorStorage = new FakeSelectorStorage(storage); var service = new WebHtmlPublishService(new FakeIPublishPreflight(new List <AppSettingsPublishProfiles> { { new AppSettingsPublishProfiles { SourceMaxWidth = 1000 } } }), selectorStorage, null, null, null, null, new FakeIWebLogger()); var result = service.ShouldSkipExtraLarge(""); Assert.IsTrue(result); }
public async Task PreGenerateThumbnail_Test() { var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { CreateAnImageNoExif.Bytes }); var selectorStorage = new FakeSelectorStorage(storage); var service = new WebHtmlPublishService(null, selectorStorage, null, null, null, null, new FakeIWebLogger()); var input = new List <FileIndexItem> { new FileIndexItem("/test.jpg") { FileHash = "test_hash_01" } }.AsEnumerable(); await service.PreGenerateThumbnail(input, ""); Assert.IsTrue(storage.ExistFile("test_hash_01")); }
public async Task RenderCopy_ShouldNotCrash() { var storage = new FakeIStorage(); var selectorStorage = new FakeSelectorStorage(storage); var appSettings = new AppSettings { PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "test", new List <AppSettingsPublishProfiles> { new AppSettingsPublishProfiles { ContentType = TemplateContentType.Html, }, new AppSettingsPublishProfiles { ContentType = TemplateContentType.Jpeg, SourceMaxWidth = 300, OverlayMaxWidth = 380, Folder = "1000", Append = "_kl1k" }, new AppSettingsPublishProfiles { ContentType = TemplateContentType.OnlyFirstJpeg, SourceMaxWidth = 300, OverlayMaxWidth = 380, Folder = "1000", Append = "__fi_kl" }, new AppSettingsPublishProfiles { ContentType = TemplateContentType.MoveSourceFiles, }, new AppSettingsPublishProfiles { ContentType = TemplateContentType.PublishContent, }, new AppSettingsPublishProfiles { ContentType = TemplateContentType.PublishManifest, }, } } } }; var service = new WebHtmlPublishService(new PublishPreflight(appSettings, new ConsoleWrapper()), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), new FakeIOverlayImage(selectorStorage), new ConsoleWrapper(), new FakeIWebLogger()); var result = await service.RenderCopy(new List <FileIndexItem>(), "test", "test", "/"); Assert.IsNotNull(result); }
public async Task GenerateJpeg_Thumbnail_CorruptOutput_Test() { var appSettings = new AppSettings { PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "default", new List <AppSettingsPublishProfiles> { new AppSettingsPublishProfiles { ContentType = TemplateContentType.Jpeg, Path = "index.html", MetaData = true, } } } }, Verbose = true }; var storage = new FakeIStorage(new List <string>(), new List <string> { "corrupt" }, new List <byte[]> { CreateAnImage.Bytes }); var selectorStorage = new FakeSelectorStorage(storage); var service = new WebHtmlPublishService(new PublishPreflight(appSettings, new ConsoleWrapper()), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), new FakeIOverlayImage(selectorStorage), new ConsoleWrapper(), new FakeIWebLogger()); var profiles = new PublishPreflight(appSettings, new ConsoleWrapper()).GetPublishProfileName("default"); var generateJpeg = await service.GenerateJpeg(profiles.FirstOrDefault(), new List <FileIndexItem> { new FileIndexItem("/test.jpg") { FileHash = "fileHash" } }, Path.DirectorySeparatorChar.ToString(), 1); // should not output file due corrupt output of image generation Assert.IsTrue(generateJpeg.ContainsKey("test.jpg")); // removed in script due corrupt output Assert.IsFalse(storage.ExistFile(Path.DirectorySeparatorChar + "test.jpg")); }
public async Task RenderCopy_NoConfigItems() { var storage = new FakeIStorage(); var selectorStorage = new FakeSelectorStorage(storage); var appSettings = new AppSettings(); var service = new WebHtmlPublishService(new FakeIPublishPreflight(), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), new FakeIOverlayImage(selectorStorage), new ConsoleWrapper(), new FakeIWebLogger()); var result = await service.RenderCopy(new List <FileIndexItem>(), "test", "test", "/"); Assert.IsNull(result); }
public async Task GenerateJpeg_Large_Test() { var appSettings = new AppSettings { PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "default", new List <AppSettingsPublishProfiles> { new AppSettingsPublishProfiles { ContentType = TemplateContentType.Jpeg, Path = "index.html", MetaData = false, SourceMaxWidth = 1001 } } } }, Verbose = true }; var storage = new FakeIStorage(new List <string>(), new List <string> { "/test.jpg" }, new List <byte[]> { CreateAnImage.Bytes }); var selectorStorage = new FakeSelectorStorage(storage); var service = new WebHtmlPublishService(new PublishPreflight(appSettings, new ConsoleWrapper()), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), new FakeIOverlayImage(selectorStorage), new ConsoleWrapper(), new FakeIWebLogger()); var profiles = new PublishPreflight(appSettings, new ConsoleWrapper()).GetPublishProfileName("default"); var generateJpeg = await service.GenerateJpeg(profiles.FirstOrDefault(), new List <FileIndexItem> { new FileIndexItem("/test.jpg") }, Path.DirectorySeparatorChar.ToString(), 1); Assert.IsTrue(generateJpeg.ContainsKey("test.jpg")); Assert.IsTrue(storage.ExistFile(Path.DirectorySeparatorChar + "test.jpg")); }
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 RenderCopy_OnlyFirstJpeg_ShouldNotCrash() { var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { CreateAnImage.Bytes }); var selectorStorage = new FakeSelectorStorage(storage); var appSettings = new AppSettings { PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "test", new List <AppSettingsPublishProfiles> { new AppSettingsPublishProfiles { ContentType = TemplateContentType.OnlyFirstJpeg, SourceMaxWidth = 300, OverlayMaxWidth = 380, Folder = "", Append = "__fi_kl" } } } } }; var overlayService = new FakeIOverlayImage(selectorStorage); var service = new WebHtmlPublishService(new PublishPreflight(appSettings, new ConsoleWrapper()), selectorStorage, appSettings, new FakeExifTool(storage, appSettings), overlayService, new ConsoleWrapper(), new FakeIWebLogger()); var result = await service.RenderCopy(new List <FileIndexItem> { new FileIndexItem("/test.jpg") }, "test", "test", "/"); Assert.IsNotNull(result); }
public void AddFileHashIfNotExist_Test() { var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { FakeCreateAn.CreateAnImage.Bytes }); var selectorStorage = new FakeSelectorStorage(storage); var service = new WebHtmlPublishService(null, selectorStorage, null, null, null, null, new FakeIWebLogger()); var list = service.AddFileHashIfNotExist(new List <FileIndexItem> { new FileIndexItem("/test.jpg") }); Assert.IsTrue(list.FirstOrDefault().FileHash != string.Empty); }