public async Task RunChmodOnExifToolUnixExe_Chmod644_UnixOnly() { if (_appSettings.IsWindows) { Console.WriteLine("This test is for unix only"); return; } var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary <string, HttpContent> { { "https://exiftool.org/checksums.txt", new StringContent(ExampleCheckSum) }, { "https://exiftool.org/exiftool-11.99.zip", new ByteArrayContent(CreateAnExifToolWindows.Bytes) }, { "https://exiftool.org/Image-ExifTool-11.99.tar.gz", new ByteArrayContent(CreateAnExifToolTarGz.Bytes) }, }); var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); await CreateTempFolderWithExifTool("temp"); // make NOT executable 644 await Command.Run("chmod", "644", Path.Combine(_appSettings.TempFolder, "exiftool-unix", "exiftool")).Task; var exifToolDownload = new ExifToolDownload(httpClientHelper, _appSettings, new FakeIWebLogger()); var result = await exifToolDownload.RunChmodOnExifToolUnixExe(); Assert.IsTrue(result); Directory.Delete(_appSettings.TempFolder, true); }
public async Task RunChmodOnExifToolUnixExe_TempFolderWithSpace_UnixOnly() { if (_appSettings.IsWindows) { Console.WriteLine("This test is for unix only"); return; } var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary <string, HttpContent> { { "https://exiftool.org/checksums.txt", new StringContent(ExampleCheckSum) }, { "https://exiftool.org/exiftool-11.99.zip", new ByteArrayContent(CreateAnExifToolWindows.Bytes) }, { "https://exiftool.org/Image-ExifTool-11.99.tar.gz", new ByteArrayContent(CreateAnExifToolTarGz.Bytes) }, }); var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); var appSettings = await CreateTempFolderWithExifTool(); Console.WriteLine(appSettings.TempFolder); var exifToolDownload = new ExifToolDownload(httpClientHelper, appSettings, new FakeIWebLogger()); var result = await exifToolDownload.RunChmodOnExifToolUnixExe(); Assert.IsTrue(result); var lsLah = await Command.Run("ls", "-lah", Path.Combine(appSettings.TempFolder, "exiftool-unix", "exiftool")).Task; Console.WriteLine(lsLah.StandardOutput); Assert.IsTrue(lsLah.StandardOutput.StartsWith("-rwxr-xr-x")); Directory.Delete(appSettings.TempFolder, true); }