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); }
public void CheckSha1_Bad() { var fakeIStorage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/exiftool.exe" }, new List <byte[]> { CreateAnExifToolTarGz.Bytes }); var result2 = new ExifToolDownload(null, _appSettings, new FakeIWebLogger(), fakeIStorage) .CheckSha1("/exiftool.exe", new List <string> { "random_value" }); Assert.IsFalse(result2); }
public void GetChecksumsFromTextFile_Good() { var fakeIHttpProvider = new FakeIHttpProvider(new Dictionary <string, HttpContent>()); var example = "SHA1(Image-ExifTool-12.40.tar.gz)= 09f3bee6491251390028580eb8af990e79674ada\n" + "SHA1(exiftool-12.40.zip)= 9428bb167512a8eec5891d3b8d2341427688f2f8\n" + "SHA1(ExifTool-12.40.dmg)= e20ed19da096807774b68cf8c15e29f1903ca641\n" + "MD5 (Image-ExifTool-12.40.tar.gz) = 72b40d69cf518edebbf5b661465950e7\n" + "MD5 (exiftool-12.40.zip) = fc834fd43d79da19fcb6461fb791b275\n" + "MD5 (ExifTool-12.40.dmg) = b30e391a4b53564de60a72f4347cade4\n"; var httpClientHelper = new HttpClientHelper(fakeIHttpProvider, _serviceScopeFactory, new FakeIWebLogger()); var exifToolDownload = new ExifToolDownload(httpClientHelper, new AppSettings(), new FakeIWebLogger(), new FakeIStorage()); var result = exifToolDownload.GetChecksumsFromTextFile(example); Assert.AreEqual(3, result.Length); }
public void GetWindowsZipFromChecksum() { var result = ExifToolDownload.GetWindowsZipFromChecksum(ExampleCheckSum); Assert.AreEqual("exiftool-11.99.zip", result); }
public void GetUnixTarGzFromChecksum() { var result = ExifToolDownload.GetUnixTarGzFromChecksum(ExampleCheckSum); Assert.AreEqual("Image-ExifTool-11.99.tar.gz", result); }