Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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));
        }