public async Task AggregatePackageResolver_DownloadAsync_Test() { // Arrange var version = Version.Parse("2.0"); var expectedContent = "Hello world"; var repository1DirPath = Path.Combine(TempDirPath, "1"); Directory.CreateDirectory(repository1DirPath); var repository2DirPath = Path.Combine(TempDirPath, "2"); Directory.CreateDirectory(repository2DirPath); File.WriteAllText(Path.Combine(repository2DirPath, $"{version}.onv"), expectedContent); // Act var resolver = new AggregatePackageResolver( new LocalPackageResolver(repository1DirPath, "*.onv"), new LocalPackageResolver(repository2DirPath, "*.onv")); var destFilePath = Path.Combine(TempDirPath, "Output.onv"); await resolver.DownloadAsync(version, destFilePath); // Assert Assert.That(File.Exists(destFilePath)); Assert.That(File.ReadAllText(destFilePath), Is.EqualTo(expectedContent)); }
public async Task AggregatePackageResolver_GetVersionsAsync_Test() { // Arrange var expectedVersions = new[] { Version.Parse("1.0"), Version.Parse("2.0"), Version.Parse("3.0") }; var repository1DirPath = Path.Combine(TempDirPath, "1"); Directory.CreateDirectory(repository1DirPath); foreach (var expectedVersion in expectedVersions.Take(expectedVersions.Length / 2)) { File.WriteAllText(Path.Combine(repository1DirPath, $"{expectedVersion}.onv"), ""); } var repository2DirPath = Path.Combine(TempDirPath, "2"); Directory.CreateDirectory(repository2DirPath); foreach (var expectedVersion in expectedVersions.Skip(expectedVersions.Length / 2)) { File.WriteAllText(Path.Combine(repository2DirPath, $"{expectedVersion}.onv"), ""); } // Act var resolver = new AggregatePackageResolver( new LocalPackageResolver(repository1DirPath, "*.onv"), new LocalPackageResolver(repository2DirPath, "*.onv")); var versions = await resolver.GetVersionsAsync(); // Assert Assert.That(versions, Is.Not.Null); Assert.That(versions, Is.EquivalentTo(expectedVersions)); }