Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }