public async Task ExifToolCmdHelper_TestForFakeExifToolInjection() { var folderPaths = new List <string> { "/" }; var inputSubPaths = new List <string> { "/test.dng" }; var storage = new FakeIStorage(folderPaths, inputSubPaths, new List <byte[]> { FakeCreateAn.CreateAnImage.Bytes }); var readMeta = new ReadMeta(storage); var fakeExifTool = new FakeExifTool(storage, _appSettings); await new ExifCopy(storage, storage, fakeExifTool, readMeta).XmpSync("/test.dng"); Assert.AreEqual(true, storage.ExistFile("/test.xmp")); var xmpContentReadStream = storage.ReadStream("/test.xmp"); var xmpContent = await new PlainTextFileHelper().StreamToStringAsync(xmpContentReadStream); // Those values are injected by fakeExifTool Assert.AreEqual(true, xmpContent.Contains("<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 11.30'>")); Assert.AreEqual(true, xmpContent.Contains("<rdf:li>test</rdf:li>")); }
public async Task UpdateAppSettingsTest_StorageFolder_JsonCheck() { var storage = new FakeIStorage(new List <string> { "test" }); Environment.SetEnvironmentVariable("app__storageFolder", string.Empty); var appSettings = new AppSettings { AppSettingsPath = $"{Path.DirectorySeparatorChar}temp{Path.DirectorySeparatorChar}appsettings.json" }; var controller = new AppSettingsController(appSettings, new FakeSelectorStorage(storage)); await controller.UpdateAppSettings( new AppSettingsTransferObject { Verbose = true, StorageFolder = "test" }); Assert.IsTrue(storage.ExistFile(appSettings.AppSettingsPath)); var jsonContent = await new PlainTextFileHelper().StreamToStringAsync( storage.ReadStream(appSettings.AppSettingsPath)); Assert.IsTrue(jsonContent.Contains("app\": {")); Assert.IsTrue(jsonContent.Contains("\"StorageFolder\": \"")); }
public async Task SwaggerTest_Integration_Test() { var swaggerFilePath = Path.Join(_appSettings.TempFolder, _appSettings.Name.ToLowerInvariant() + ".json"); var storage = new FakeIStorage(); var fakeSelectorStorage = new FakeSelectorStorage(storage); var host = WebHost.CreateDefaultBuilder() .UseUrls("http://localhost:5051") .ConfigureServices(services => { services.AddMvcCore().AddApiExplorer(); services.AddSwaggerGen(); new SwaggerSetupHelper(_appSettings).Add01SwaggerGenHelper(services); }) .Configure(app => { app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); }); new SwaggerSetupHelper(_appSettings).Add02AppUseSwaggerAndUi(app); using (var serviceScope = app.ApplicationServices .GetRequiredService <IServiceScopeFactory>() .CreateScope()) { var swaggerProvider = ( ISwaggerProvider )serviceScope.ServiceProvider.GetService(typeof(ISwaggerProvider)); new SwaggerExportHelper(null).Add03AppExport(_appSettings, fakeSelectorStorage, swaggerProvider); } }).Build(); await host.StartAsync(); await host.StopAsync(); Assert.AreEqual(true, storage.ExistFile(swaggerFilePath)); var swaggerFileContent = await new PlainTextFileHelper().StreamToStringAsync( storage.ReadStream(swaggerFilePath)); System.Console.WriteLine("swaggerFileContent " + swaggerFileContent); Assert.AreEqual(true, swaggerFileContent.Contains($"\"Title\": \"{_appSettings.Name}\"")); }
public void ExifToolCmdHelper_XmpCreate() { var folderPaths = new List <string> { "/" }; var inputSubPaths = new List <string> { "/test.dng" }; var storage = new FakeIStorage(folderPaths, inputSubPaths, new List <byte[]> { FakeCreateAn.CreateAnImage.Bytes }); var fakeReadMeta = new ReadMeta(storage); var fakeExifTool = new FakeExifTool(storage, _appSettings); new ExifCopy(storage, storage, fakeExifTool, fakeReadMeta).XmpCreate("/test.xmp"); var result = new PlainTextFileHelper().StreamToString(storage.ReadStream("/test.xmp")); Assert.AreEqual("<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Starsky'>\n" + "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>\n</rdf:RDF>\n</x:xmpmeta>", result); }