internal async Task DownloadLatestFullVersionTest(OperatingSystem os) { var operatingSystemProvider = Substitute.For <IOperatingSystemProvider>(); operatingSystemProvider.GetOperatingSystem().Returns(x => os); var ffmpegExecutablesPath = FFmpeg.ExecutablesPath; try { FFmpeg.SetExecutablesPath("assemblies"); if (Directory.Exists("assemblies")) { Directory.Delete("assemblies", true); } FullFFmpegDownloader downloader = new FullFFmpegDownloader(operatingSystemProvider); await downloader.GetLatestVersion(FFmpeg.ExecutablesPath); Assert.True(File.Exists(downloader.ComputeFileDestinationPath("ffmpeg", os, FFmpeg.ExecutablesPath))); Assert.True(File.Exists(downloader.ComputeFileDestinationPath("ffprobe", os, FFmpeg.ExecutablesPath))); } finally { FFmpeg.SetExecutablesPath(ffmpegExecutablesPath); } }
internal async Task DownloadLatestFullVersionWithProgressAndRetriesTest(OperatingSystem os) { var operatingSystemProvider = Substitute.For <IOperatingSystemProvider>(); operatingSystemProvider.GetOperatingSystem().Returns(x => os); var ffmpegExecutablesPath = FFmpeg.ExecutablesPath; try { FFmpeg.SetExecutablesPath(_storageFixture.GetTempDirectory()); FullFFmpegDownloader downloader = new FullFFmpegDownloader(operatingSystemProvider); IProgress <ProgressInfo> progress = new Progress <ProgressInfo>(); await downloader.GetLatestVersion(FFmpeg.ExecutablesPath, progress, 3); Assert.True(File.Exists(downloader.ComputeFileDestinationPath("ffmpeg", os, FFmpeg.ExecutablesPath))); Assert.True(File.Exists(downloader.ComputeFileDestinationPath("ffprobe", os, FFmpeg.ExecutablesPath))); } finally { FFmpeg.SetExecutablesPath(ffmpegExecutablesPath); } }