Exemplo n.º 1
0
        public async Task LatestDoesNotIncludeUnpublished()
        {
            //arrange
            var metadata         = PackageSearchMetadataBuilder.FromIdentity(new PackageIdentity("test", new NuGetVersion(1, 2, 3))).Build();
            var metadataResource = Substitute.For <PackageMetadataResource>();

            metadataResource.GetMetadataAsync(Arg.Any <string>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <SourceCacheContext>(), Arg.Any <ILogger>(), Arg.Any <CancellationToken>())
            .Returns(m => new List <IPackageSearchMetadata> {
                metadata
            }, m => throw new Exception(":("));

            var v1           = new VersionInfo(new NuGetVersion(1, 2, 3), new DateTime(2015, 1, 1));
            var v2           = new VersionInfo(new NuGetVersion(2, 3, 4), new DateTime(1900, 1, 1));
            var versionCache = new Dictionary <string, IList <VersionInfo> > {
                { "test", new List <VersionInfo> {
                      v1, v2
                  } }
            };
            var checker = new PackageVersionChecker(metadataResource, versionCache);

            //act
            var result = await checker.GetResultTask("test", new NuGetVersion(1, 2, 3));

            //assert
            var latest = result.Latest.Version.ToString();

            Assert.Equal("1.2.3", latest);
        }
Exemplo n.º 2
0
        public void GetPackagesGetsPackages()
        {
            //arrange
            var metadata         = PackageSearchMetadataBuilder.FromIdentity(new PackageIdentity("test", new NuGetVersion(1, 2, 3))).Build();
            var metadataResource = Substitute.For <PackageMetadataResource>();

            metadataResource.GetMetadataAsync(Arg.Any <string>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <SourceCacheContext>(), Arg.Any <ILogger>(), Arg.Any <CancellationToken>())
            .Returns(m => new List <IPackageSearchMetadata> {
                metadata
            }, m => throw new Exception(":("));

            var v1           = new VersionInfo(new NuGetVersion(1, 2, 3), new DateTime(2015, 1, 1));
            var v2           = new VersionInfo(new NuGetVersion(2, 3, 4), new DateTime(2016, 1, 1));
            var versionCache = new Dictionary <string, IList <VersionInfo> > {
                { "test", new List <VersionInfo> {
                      v1, v2
                  } }
            };
            var checker = new PackageVersionChecker(metadataResource, versionCache);
            var project = new TestProjectFile("test", new Dictionary <string, NuGetVersion> {
                { "test", new NuGetVersion(1, 2, 3) }
            });

            //act
            var packages = checker.GetPackages(new[] { project });

            //assert
            var latest = packages.First().Value.First().Latest.Version.ToString();

            Assert.Equal("2.3.4", latest);
        }
Exemplo n.º 3
0
        public static void Main(string[] args)
        {
            var metadataResource      = new SourceRepository(new PackageSource("https://api.nuget.org/v3/index.json"), Repository.Provider.GetCoreV3()).GetResource <PackageMetadataResource>();
            var versionCache          = new ConcurrentDictionary <string, IList <VersionInfo> >();
            var packageVersionChecker = new PackageVersionChecker(metadataResource, versionCache);
            var projectRetriever      = new ProjectFileManager();

            var runner = new Runner(packageVersionChecker, projectRetriever);
            var output = runner.Run(args);

            Console.WriteLine(output);
        }
Exemplo n.º 4
0
        public async Task CanGetVersionInfoFromMetadata()
        {
            //arrange
            var metadata         = PackageSearchMetadataBuilder.FromIdentity(new PackageIdentity("test", new NuGetVersion(1, 2, 3))).Build();
            var metadataResource = Substitute.For <PackageMetadataResource>();

            metadataResource.GetMetadataAsync(Arg.Any <string>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <SourceCacheContext>(), Arg.Any <ILogger>(), Arg.Any <CancellationToken>())
            .Returns(new List <IPackageSearchMetadata> {
                metadata
            });

            var checker = new PackageVersionChecker(metadataResource, new Dictionary <string, IList <VersionInfo> >());

            //act
            var versions = await checker.GetVersions("test");

            //assert
            Assert.Equal("1.2.3", versions.First().Version.ToString());
        }
Exemplo n.º 5
0
        public void AwaitResultsWaitsForAll()
        {
            //arrange
            var resultsTasks = new[]
            {
                Sleep(1),
                Sleep(2),
                Sleep(3),
                Sleep(4)
            };

            //act
            var versions = PackageVersionChecker.AwaitResults(resultsTasks).ToArray();

            //assert
            Assert.Equal("1", versions[0].Name);
            Assert.Equal("2", versions[1].Name);
            Assert.Equal("3", versions[2].Name);
            Assert.Equal("4", versions[3].Name);
        }