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")); }
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")); }
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); }
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)); })); }
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); }