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