public async Task GeoLocationWriteLoopFolderTest() { var metaFilesInDirectory = new List <FileIndexItem> { new FileIndexItem { FileName = "test.jpg", //<= used to check ParentDirectory = "/", Latitude = 1, Longitude = 1, LocationAltitude = 1, LocationCity = "city", LocationState = "state", LocationCountry = "country" } }; var console = new FakeConsoleWrapper(); var fakeIStorage = new FakeIStorage(); await new GeoLocationWrite(_appSettings, _exifTool, new FakeSelectorStorage(fakeIStorage), console).LoopFolderAsync(metaFilesInDirectory, true); Assert.IsNotNull(metaFilesInDirectory); Assert.AreEqual(1, console.WrittenLines.Count); Assert.AreEqual("🚀", console.WrittenLines[0]); }
public void Run_SettingsFile_successful() { var console = new FakeConsoleWrapper(); var fakeSelectorStorage = new FakeSelectorStorage(new FakeIStorage(new List <string> { "/test" }, new List <string> { $"/test{Path.DirectorySeparatorChar}_settings.json", "/test/1000/0_kl1k.jpg" }, new List <byte[]> { ExampleManifest(), new byte[0] })); new WebFtpCli(_appSettings, fakeSelectorStorage, console, _webRequestFactory) .Run(new [] { "-p", "/test" }); var isSuccess = console.WrittenLines.LastOrDefault() .Contains("Ftp copy successful done"); // To Debug why the test has failed if (!isSuccess) { foreach (var line in console.WrittenLines) { Console.WriteLine(line); } } Assert.IsTrue(isSuccess); }
public void NeedHelpShowDialog_WebHtml_Verbose() { var consoleWrapper = new FakeConsoleWrapper(); var appSettings = new AppSettings { Verbose = true, ApplicationType = AppSettings.StarskyAppType.WebHtml, PublishProfiles = new Dictionary <string, List <AppSettingsPublishProfiles> > { { "_d", new List <AppSettingsPublishProfiles> { new AppSettingsPublishProfiles { Append = "_append", Copy = true, Folder = "folder" } } } } }; new ArgsHelper(appSettings, consoleWrapper) .NeedHelpShowDialog(); var contains = consoleWrapper.WrittenLines.Contains( "--- Path: Append: _append Copy: True Folder: folder/ Prepend: Template: " + "ContentType: None MetaData: True OverlayMaxWidth: 100 SourceMaxWidth: 100 "); Assert.IsTrue(contains); }
public async Task GeoLocationWriteLoopFolderTest_verbose() { var metaFilesInDirectory = new List <FileIndexItem> { new FileIndexItem { FileName = "test.jpg", //<= used to check ParentDirectory = "/", Latitude = 1, Longitude = 1, LocationAltitude = 1, LocationCity = "city", LocationState = "state", LocationCountry = "country" } }; var console = new FakeConsoleWrapper(); await new GeoLocationWrite(new AppSettings { Verbose = true }, _exifTool, new FakeSelectorStorage(), console) .LoopFolderAsync(metaFilesInDirectory, true); Assert.AreEqual(2, console.WrittenLines.Count); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("GeoLocationWrite")); }
public async Task GeoCliInput_Default_HappyFlow() { var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary <string, HttpContent> { }); var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { CreateAnImage.Bytes }); var hash = (await new FileHash(storage).GetHashCodeAsync("/test.jpg")).Key; storage.FileCopy("/test.jpg", $"/{hash}.jpg"); var geoWrite = new FakeIGeoLocationWrite(); var geoLookup = new FakeIGeoReverseLookup(); var console = new FakeConsoleWrapper(); var geoCli = new GeoCli(geoLookup, geoWrite, new FakeSelectorStorage(storage), new AppSettings(), console, new FakeIGeoFileDownload(), new FakeExifToolDownload()); await geoCli.CommandLineAsync(new List <string> { "-p", }.ToArray()); Assert.AreEqual(1, geoLookup.Count); Assert.IsTrue(storage.ExistFile($"/{hash}.jpg")); Assert.IsTrue(storage.ExistFile("/test.jpg")); }
public async Task GeoCliInput_AbsolutePath_HappyFlow() { var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary <string, HttpContent> { }); var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); var storage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.jpg" }, new List <byte[]> { CreateAnImage.Bytes }); var appSettings = new AppSettings { Verbose = true }; var geoWrite = new FakeIGeoLocationWrite(); var geoLookup = new FakeIGeoReverseLookup(); var console = new FakeConsoleWrapper(); var geoCli = new GeoCli(geoLookup, geoWrite, new FakeSelectorStorage(storage), appSettings, console, new FakeIGeoFileDownload(), new FakeExifToolDownload()); await geoCli.CommandLineAsync(new List <string> { "-p", "/test" }.ToArray()); Assert.AreEqual(appSettings.StorageFolder, "/test" + Path.DirectorySeparatorChar); Assert.AreEqual(1, geoLookup.Count); Assert.IsTrue(storage.ExistFile("/test.jpg")); }
public void Run_PathArg() { var console = new FakeConsoleWrapper(); new WebFtpCli(_appSettings, new FakeSelectorStorage(), console, _webRequestFactory) .Run(new [] { "-p" }); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("is not found")); }
public void Run_Default() { var console = new FakeConsoleWrapper(); new WebFtpCli(_appSettings, new FakeSelectorStorage(), console, _webRequestFactory) .Run(new [] { "" }); Assert.IsTrue(console.WrittenLines.FirstOrDefault().Contains("Please use the -p to add a path first")); }
public void CreateAccount_AsInput() { var console = new FakeConsoleWrapper(); new ConsoleAdmin(new FakeUserManagerActiveUsers(), console).Tool("*****@*****.**", "1234567890123456"); Assert.AreEqual("User [email protected] is created", console.WrittenLines.LastOrDefault()); }
public async Task Publisher_PathArg() { var console = new FakeConsoleWrapper(); await new PublishCli(new FakeSelectorStorage(), new FakeIPublishPreflight(), new FakeIWebHtmlPublishService(), new AppSettings(), console).Publisher(new [] { "-p" }); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("is not found")); }
public async Task Publisher_Default() { var console = new FakeConsoleWrapper(); await new PublishCli(new FakeSelectorStorage(), new FakeIPublishPreflight(), new FakeIWebHtmlPublishService(), new AppSettings(), console).Publisher(new [] { "" }); Assert.IsTrue(console.WrittenLines.FirstOrDefault().Contains("Please use the -p to add a path first")); }
public void Run_Help() { var console = new FakeConsoleWrapper(); new WebFtpCli(_appSettings, new FakeSelectorStorage(), console, _webRequestFactory) .Run(new [] { "-h" }); Assert.IsTrue(console.WrittenLines.FirstOrDefault().Contains("Starksy WebFtp Cli ~ Help:")); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains(" use -v -help to show settings: ")); }
public async Task ImporterCli_NoArgs_DefaultHelp() { var fakeConsole = new FakeConsoleWrapper(new List <string>()); await new ImportCli( new FakeIImport(new FakeSelectorStorage()), new AppSettings(), fakeConsole, new FakeExifToolDownload()).Importer(new List <string>().ToArray()); Assert.IsTrue(fakeConsole.WrittenLines.FirstOrDefault().Contains("Starksy Importer Cli ~ Help")); }
public void ArgsHelper_NeedHelpShowDialog_Sync() { var console = new FakeConsoleWrapper(); new ArgsHelper(new AppSettings { ApplicationType = AppSettings.StarskyAppType.Sync }, console) .NeedHelpShowDialog(); Assert.IsTrue(console.WrittenLines[0].Contains("Sync")); }
public async Task Publisher_Help() { var console = new FakeConsoleWrapper(); await new PublishCli(new FakeSelectorStorage(), new FakeIPublishPreflight(), new FakeIWebHtmlPublishService(), new AppSettings(), console).Publisher(new [] { "-h" }); Assert.IsTrue(console.WrittenLines.FirstOrDefault().Contains("Starksy WebHtml Cli ~ Help:")); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains(" use -v -help to show settings: ")); }
public void ArgsHelper_NeedHelpShowDialog_WebHtml() { var console = new FakeConsoleWrapper(); new ArgsHelper(new AppSettings { ApplicationType = AppSettings.StarskyAppType.WebHtml, Verbose = true }, console) .NeedHelpShowDialog(); Assert.IsTrue(console.WrittenLines[0].Contains("WebHtml")); }
public void ArgsHelper_AppInsightsKey_ApplicationInsightsDatabaseTracking_NoKey() { var console = new FakeConsoleWrapper(); new ArgsHelper(new AppSettings { ApplicationType = AppSettings.StarskyAppType.Sync, Verbose = true }, console) .NeedHelpShowDialog(); Assert.IsFalse(console.WrittenLines.Any(p => p.Contains("ApplicationInsightsDatabaseTracking"))); }
public void Run_NoSettingsFileInFolder() { var console = new FakeConsoleWrapper(); var fakeSelectorStorage = new FakeSelectorStorage(new FakeIStorage(new List <string> { "/test" })); new WebFtpCli(_appSettings, fakeSelectorStorage, console, _webRequestFactory) .Run(new [] { "-p", "/test" }); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("generate a settings file")); }
public async Task Publisher_NoSettingsFileInFolder() { var console = new FakeConsoleWrapper(); var fakeSelectorStorage = new FakeSelectorStorage(new FakeIStorage(new List <string> { "/test" })); await new PublishCli(fakeSelectorStorage, new FakeIPublishPreflight(), new FakeIWebHtmlPublishService(), new AppSettings(), console).Publisher(new [] { "-p", "/test" }); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("done")); }
public async Task GeoCliInput_Help() { var console = new FakeConsoleWrapper(); var metaCli = new MetaThumbnailCommandLineHelper(new FakeSelectorStorage(), new AppSettings(), console, new FakeIMetaExifThumbnailService()); await metaCli.CommandLineAsync(new List <string> { "-h", }.ToArray()); Assert.IsTrue(console.WrittenLines[0].Contains("Help")); }
public async Task Sync_Help() { var console = new FakeConsoleWrapper(); await new SyncCli(new FakeISynchronize(), new AppSettings(), console, new FakeSelectorStorage()).Sync( new List <string> { "-h" }.ToArray()); Assert.IsTrue(console.WrittenLines[0].Contains("Help")); }
public void StarskyAdminCliProgramTest_NoInput() { var console = new FakeConsoleWrapper(new List <string> { string.Empty }); new ConsoleAdmin(new FakeUserManagerActiveUsers(), console).Tool(string.Empty, string.Empty); Assert.AreEqual("No input selected", console.WrittenLines.LastOrDefault()); }
public void ArgsHelper_NeedHelpShowDialog_MetaThumbnail() { var console = new FakeConsoleWrapper(); // Just simple show a console dialog new ArgsHelper(new AppSettings { ApplicationType = AppSettings.StarskyAppType.MetaThumbnail, Verbose = true }, console) .NeedHelpShowDialog(); Assert.IsTrue(console.WrittenLines[0].Contains("MetaThumbnail")); }
public async Task Sync_NoArgs_NotFound() { var fakeSync = new FakeISynchronize(); var console = new FakeConsoleWrapper(); await new SyncCli(fakeSync, new AppSettings(), console, new FakeSelectorStorage()).Sync( new List <string> { "" }.ToArray()); Assert.IsTrue(console.WrittenLines.Any(p => p.Contains("Not Found"))); }
public void UserCreate_NoInput() { var console = new FakeConsoleWrapper(new List <string> { "*****@*****.**", string.Empty }); new ConsoleAdmin(new FakeUserManagerActiveUsers(), console).Tool(string.Empty, string.Empty); Assert.AreEqual("No input selected", console.WrittenLines.LastOrDefault()); }
public void UserCreate_ValidationShouldFail() { var console = new FakeConsoleWrapper(new List <string> { "no_email", "false" }); new ConsoleAdmin(new FakeUserManagerActiveUsers(), console).Tool(string.Empty, string.Empty); Assert.AreEqual("username / password is not valid", console.WrittenLines.LastOrDefault()); }
public void StarskyAdminCliProgramTest_UserDoesNotExist_AndCreateAccount() { var console = new FakeConsoleWrapper(new List <string> { "*****@*****.**", "1234567890123456" }); new ConsoleAdmin(new FakeUserManagerActiveUsers(), console).Tool(string.Empty, string.Empty); Assert.AreEqual("User [email protected] is created", console.WrittenLines.LastOrDefault()); }
public void Run_NoFtpSettings() { var console = new FakeConsoleWrapper(); var fakeSelectorStorage = new FakeSelectorStorage(new FakeIStorage(new List <string> { "/test" })); // no ftp settings new WebFtpCli(new AppSettings(), fakeSelectorStorage, console, _webRequestFactory) .Run(new [] { "-p", "/test" }); Assert.IsTrue(console.WrittenLines.LastOrDefault().Contains("WebFtp settings")); }
public void GetNameConsole_UpdateConsoleInput() { var consoleWrapper = new FakeConsoleWrapper { LinesToRead = new List <string> { "updated" } }; var result = new PublishPreflight(_testAppSettings, consoleWrapper).GetNameConsole("/test", new List <string> ()); Assert.AreEqual("updated", result); }
public void GetNameConsole_EnterDefaultOption() { var consoleWrapper = new FakeConsoleWrapper { LinesToRead = new List <string> { string.Empty } }; var result = new PublishPreflight(_testAppSettings, consoleWrapper).GetNameConsole("/test", new List <string> ()); Assert.AreEqual("test", result); }