public async Task TestMetadataResource(string SourceUrl)
        {
            SourceRepository repo     = GetSourceRepository(SourceUrl);
            MetadataResource resource = await repo.GetResource <MetadataResource>();

            Assert.True(resource != null);
            NuGetVersion latestVersion = await resource.GetLatestVersion("Nuget.core", true, true, CancellationToken.None);

            Assert.True(latestVersion.ToNormalizedString().Contains("2.8.3"));
        }
示例#2
0
        public async Task TestLatestVersion3()
        {
            SourceRepository repo     = GetSourceRepository(RCRootUrl);
            MetadataResource resource = await repo.GetResource <MetadataResource>();

            Assert.True(resource != null);
            NuGetVersion latestVersion = await resource.GetLatestVersion("TestPackage.MinClientVersion", false, true, CancellationToken.None);

            //*TODOs: Use a proper test package whose latest version is fixed instead of using nuget.core.
            Assert.True(latestVersion.ToNormalizedString().Contains("1.0.0"));
        }
示例#3
0
        public async Task TestLatestVersion2()
        {
            SourceRepository repo     = GetSourceRepository(RCRootUrl);
            MetadataResource resource = await repo.GetResource <MetadataResource>();

            Assert.True(resource != null);
            NuGetVersion latestVersion = await resource.GetLatestVersion("TestPackage.AlwaysPrerelease", false, true, CancellationToken.None);

            //*TODOs: Use a proper test package whose latest version is fixed instead of using nuget.core.
            Assert.True(latestVersion == null);
        }
示例#4
0
 private static Task <NuGetVersion> GetOrAddVersion(MetadataResource resource, string packageId)
 {
     return(_packageVersionLookup.GetOrAdd(packageId, id =>
     {
         return resource.GetLatestVersion(
             packageId,
             includePrerelease: true,
             includeUnlisted: false,
             log: NullLogger.Instance,
             token: default(CancellationToken));
     }));
 }
示例#5
0
        public async Task TestAllBasicScenariosForLocalShare()
        {
            List <PackageIdentity> packages = new List <PackageIdentity>();

            packages.Add(new PackageIdentity("Nuget.core", new NuGetVersion("2.8.5")));
            packages.Add(new PackageIdentity("Nuget.core", new NuGetVersion("2.5.0")));

            //create a local package source by downloading the specific packages from remote feed.
            SetupLocalShare(packages);

            //Create source repo based on the local share.

            string curDir = string.Empty;

#if !DNXCORE50
            curDir = Environment.CurrentDirectory;
#endif

            SourceRepository repo = GetSourceRepository(curDir);

            UIMetadataResource resource = repo.GetResource <UIMetadataResource>();
            Assert.True(resource != null);

            //check if UIPackageMetadata works fine.
            IEnumerable <UIPackageMetadata> packageMetadataList = resource.GetMetadata("Nuget.core", true, true, CancellationToken.None).Result;
            Assert.True(packageMetadataList != null);
            Assert.Equal(3, packageMetadataList.Count());
            Assert.True(packageMetadataList.All(item => item.Tags.Contains("nuget")));
            Assert.True(packageMetadataList.All(item => item.RequireLicenseAcceptance.Equals(false)));
            Assert.True(packageMetadataList.All(item => item.ProjectUrl.ToString().Equals("http://nuget.codeplex.com/")));
            Assert.True(packageMetadataList.Any(item => item.DependencySets.Count() == 1));
            Assert.True(packageMetadataList.First(item => item.DependencySets.Count() == 1).DependencySets.First().Packages.Any(item2 => item2.Id.Equals("Microsoft.Web.Xdt", StringComparison.OrdinalIgnoreCase)));

            //Check if downloadresource works fine.
            DownloadResource downloadResource = repo.GetResource <DownloadResource>();
            Uri downloadUrl = await downloadResource.GetDownloadUrl(new PackageIdentity("Nuget.core", new NuGetVersion("2.5.0")));

            Assert.True(downloadUrl.IsFile);
            Assert.True(File.Exists(downloadUrl.LocalPath)); //path doesnt contain the folder name and also the version is normalized in path for local scenario.

            //Check if metadata resource works fine.
            MetadataResource metadataResource = repo.GetResource <MetadataResource>();
            NuGetVersion     latestVersion    = await metadataResource.GetLatestVersion("Nuget.core", true, false, CancellationToken.None);

            Assert.True(latestVersion.ToNormalizedString().Contains("2.8.5"));
        }
        public async Task TestAllResourcesForNonExistentPackage(string SourceUrl)
        {
            string           packageId = "nonexistentpackage";
            string           version   = "1.0";
            SourceRepository repo      = GetSourceRepository(SourceUrl);

            DownloadResource downloadResource = await repo.GetResource <DownloadResource>();

            Assert.True(downloadResource != null);
            Uri downloadMetadata = await downloadResource.GetDownloadUrl(new PackageIdentity(packageId, new NuGetVersion(version)));

            Assert.True(downloadMetadata == null);

            MetadataResource metadataResource = await repo.GetResource <MetadataResource>();

            Assert.True(metadataResource != null);
            NuGetVersion latestVersion = await metadataResource.GetLatestVersion(packageId, true, true, CancellationToken.None);

            Assert.True(latestVersion == null);

            UIMetadataResource uiMetadataResource = await repo.GetResource <UIMetadataResource>();

            Assert.True(uiMetadataResource != null);

            var result = await uiMetadataResource.GetMetadata(packageId, true, true, CancellationToken.None);

            Assert.False(result.Any());

            DepedencyInfoResource resource = await repo.GetResource <DepedencyInfoResource>();

            //Check if we are able to obtain a resource
            Assert.True(resource != null);
            List <PackageIdentity> packageIdentities = new List <PackageIdentity>();

            packageIdentities.Add(new PackageIdentity(packageId, new NuGetVersion(version)));
            IEnumerable <PackageDependencyInfo> packages = await resource.ResolvePackages(packageIdentities, NuGet.Frameworks.NuGetFramework.AnyFramework, true, new CancellationToken());

            Assert.True(packages == null || packages.Count() == 0);
        }