public YoutubeDLService(ILoggerFactory logFactory, IConfiguration configuration) { log = logFactory.CreateLogger <YoutubeDLService>(); ytdlManager = new YoutubeDLManager(logFactory) { StorePath = configuration["DataDirectory"], LatestUrl = configuration["YoutubeDLLatestUrl"], Debug = configuration.GetValue <bool>("Debug"), DebugPath = Path.Combine(configuration["DataDirectory"], "Logs", "ytdl"), }; }
public async Task MultipleVersionsTest() { TestUtils.DeployEmbeddedResource("youtube-dl-2000", TestContext.TestRunDirectory); TestUtils.DeployEmbeddedResource("youtube-dl-2001", TestContext.TestRunDirectory); TestUtils.DeployEmbeddedResource("youtube-dl-2002", TestContext.TestRunDirectory); var manager = new YoutubeDLManager(loggerFactory) { StorePath = TestContext.TestRunDirectory }; await manager.Initialize(); Assert.AreEqual(3, manager.Versions.Count); Assert.AreEqual(true, await manager.DownloadLatestVersion()); Assert.AreEqual(4, manager.Versions.Count); await manager.CleanupOldVersions(); Assert.AreEqual(1, manager.Versions.Count); Assert.IsTrue(manager.Versions.First().Key.Major > 2002); }
public async Task DownloadTest() { var manager = new YoutubeDLManager(loggerFactory) { StorePath = TestContext.TestDir }; await manager.Initialize(); Assert.AreEqual(0, manager.Versions.Count); // Download latest version, we don't have any version Assert.AreEqual(true, await manager.DownloadLatestVersion()); Assert.AreEqual(1, manager.Versions.Count); // We already have the latest version, this should not do anything Assert.AreEqual(false, await manager.DownloadLatestVersion()); Assert.AreEqual(1, manager.Versions.Count); await manager.CleanupOldVersions(); Assert.AreEqual(1, manager.Versions.Count); }