public async Task GivenPackageWithNoMatchingVersion_NoVersionIsFound() { var parameters = new UpdaterParameters { TargetVersions = { "stable" }, }; var packageVersion = "1.0-beta.1"; var packageId = "nventive.NuGet.Updater"; var reference = new PackageReference(packageId, packageVersion); var version = await reference.GetLatestVersion(CancellationToken.None, parameters); Assert.IsNull(version); }
/// <summary> /// Gets the latest version for the given reference by looking up first in a list of known packages. /// Useful in the cases where refernces to multiple versions of the same packages are found. /// </summary> public static async Task <FeedVersion> GetLatestVersion( this PackageReference reference, CancellationToken ct, IEnumerable <UpdaterPackage> knownPackages, UpdaterParameters parameters ) { var knownVersion = knownPackages.FirstOrDefault(p => p.PackageId == reference.Identity.Id)?.Version; if (knownVersion == null) { knownVersion = await reference.GetLatestVersion(ct, parameters); } return(knownVersion); }
public async Task GivenPackageWithMatchingVersion_VersionIsFound() { var parameters = new UpdaterParameters { TargetVersions = { "beta" }, Feeds = { TestFeed }, }; var packageVersion = "1.0-beta.1"; var packageId = "nventive.NuGet.Updater"; var reference = new PackageReference(packageId, packageVersion); var version = await reference.GetLatestVersion(CancellationToken.None, parameters); Assert.IsNotNull(version); Assert.AreEqual(version.Version.OriginalVersion, packageVersion); }