public async Task GetLatestVersionFromSources_WithMoreSourcesThanProcessorCount() { using (var testDirectory = TestDirectory.Create()) { // Arrange var processors = Environment.ProcessorCount * 2; var sources = new PackageSource[processors]; var packages = new SimpleTestPackageContext[processors]; for (var i = 0; i < processors; i++) { var sourcePath = Path.Combine(testDirectory.Path, "Source" + i.ToString()); var packageX = new SimpleTestPackageContext("packageX", "1.0." + i.ToString()); await SimpleTestPackageUtility.CreateFolderFeedV3Async(sourcePath, packageX); sources[i] = new PackageSource(sourcePath); packages[i] = packageX; } // Act var logger = NullLogger.Instance; var result = await AddPackageCommandUtility.GetLatestVersionFromSourcesAsync(sources, logger, packages.Last().Id, false); // Assert Assert.Equal(packages.Last().Identity.Version, result); } }
public async Task GetLatesVersionFromSources_Success(string[] sourceA, string[] sourceB, string expectedVersion, bool prerelease, string package) { using (var testDirectory = TestDirectory.Create()) { // Arange string sourceAPath = await GetSourceWithPackages(sourceA, testDirectory, "SourceA"); string sourceBPath = await GetSourceWithPackages(sourceB, testDirectory, "SourceB"); var sources = new PackageSource[] { new PackageSource(sourceAPath), new PackageSource(sourceBPath) }; // Act var logger = NullLogger.Instance; var result = await AddPackageCommandUtility.GetLatestVersionFromSourcesAsync(sources, logger, package, prerelease); //Asert Assert.Equal(new NuGetVersion(expectedVersion), result); } }
public void EvaluateSources_GivenConfigWithCredentials_ReturnsPackageSourceWithCredentials() { using (var mockBaseDirectory = TestDirectory.Create()) { List <PackageSource> source = new List <PackageSource>() { new PackageSource("https://contoso.org/v3/index.json"), new PackageSource("b") }; var nugetConfigFileName = "NuGet.Config"; var config = @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <packageSources> <add key=""Contoso"" value=""https://contoso.org/v3/index.json"" /> <add key=""b"" value =""b"" /> </packageSources> <packageSourceCredentials> <Contoso> <add key=""Username"" value=""user @contoso.com"" /> <add key=""Password"" value=""..."" /> </Contoso> </packageSourceCredentials> </configuration>"; var configPath = Path.Combine(mockBaseDirectory, nugetConfigFileName); SettingsTestUtils.CreateConfigurationFile(nugetConfigFileName, mockBaseDirectory, config); var settingsLoadContext = new SettingsLoadingContext(); var settings = Settings.LoadImmutableSettingsGivenConfigPaths(new string[] { configPath }, settingsLoadContext); var result = AddPackageCommandUtility.EvaluateSources(source, settings.GetConfigFilePaths()); // Asert Assert.Equal(2, result.Count); Assert.NotEqual(null, result[0].Credentials); } }
public static async Task <NuGetVersion> GetLatestVersionAsync(PackageSpec originalPackageSpec, string packageId, ILogger logger, bool prerelease) { IList <PackageSource> sources = AddPackageCommandUtility.EvaluateSources(originalPackageSpec.RestoreMetadata.Sources, originalPackageSpec.RestoreMetadata.ConfigFilePaths); return(await AddPackageCommandUtility.GetLatestVersionFromSourcesAsync(sources, logger, packageId, prerelease)); }