コード例 #1
0
        public void GetDefaultPackageSources_LocalizatedPackagesourceKeys_ConsideredDiffererent()
        {
            // Arrange
            using (var mockBaseDirectory = TestDirectory.CreateInTemp())
            {
                var configurationDefaultsContent = @"
<configuration>
    <packageSources>
        <add key='encyclopaedia' value='http://contoso.com/packages1/' />
        <add key='encyclopædia' value='http://contoso.com/packages2/' />
    </packageSources>
</configuration>";

                var config = @"
<configuration>
    <packageSources>
        <add key='v2' value='http://www.nuget.org/api/v2/' />
    </packageSources>
</configuration>";

                File.WriteAllText(Path.Combine(mockBaseDirectory, "NuGet.Config"), config);
                var settings = Settings.LoadSettings(mockBaseDirectory,
                                                     configFileName: null,
                                                     machineWideSettings: null,
                                                     loadUserWideSettings: false,
                                                     useTestingGlobalPath: false);
                ConfigurationDefaults ConfigurationDefaults = GetConfigurationDefaults(configurationDefaultsContent, mockBaseDirectory);

                List <PackageSource> defaultSources = ConfigurationDefaults.DefaultPackageSources.ToList();
                var packageSourceProvider           = new PackageSourceProvider(settings, ConfigurationDefaults.DefaultPackageSources);

                // Act
                List <PackageSource> packageSources = packageSourceProvider.LoadPackageSources().ToList();

                // Assert
                Assert.Equal(3, packageSources.Count());
                Assert.Equal(2, defaultSources.Count());
                Assert.Equal("v2", packageSources[0].Name);
                Assert.Equal("encyclopaedia", packageSources[1].Name);
                Assert.Equal("encyclopaedia", defaultSources[0].Name);
                Assert.Equal("encyclopædia", packageSources[2].Name);
                Assert.Equal("encyclopædia", defaultSources[1].Name);
            }
        }
コード例 #2
0
        public void GetDefaultPackageSourcesFromSourceProvider()
        {
            // Arrange
            using (var mockBaseDirectory = TestDirectory.CreateInTemp())
            {
                var configurationDefaultsContent = @"
<configuration>
    <packageSources>
        <add key='Contoso Package Source' value='http://contoso.com/packages/' />
    </packageSources>
      <config>
        <add key='DefaultPushSource' value='http://contoso.com/packages/' />
    </config>
</configuration>";
                var config = @"
<configuration>
    <packageSources>
        <add key='v2' value='http://www.nuget.org/api/v2/' />
    </packageSources>
</configuration>";

                File.WriteAllText(Path.Combine(mockBaseDirectory, "NuGet.Config"), config);
                var settings = Settings.LoadSettings(mockBaseDirectory,
                                                     configFileName: null,
                                                     machineWideSettings: null,
                                                     loadUserWideSettings: false,
                                                     useTestingGlobalPath: false);
                ConfigurationDefaults ConfigurationDefaults = GetConfigurationDefaults(configurationDefaultsContent, mockBaseDirectory);

                var packageSourceProvider = new PackageSourceProvider(settings, ConfigurationDefaults.DefaultPackageSources);

                // Act
                List <PackageSource> packageSources = packageSourceProvider.LoadPackageSources().ToList();

                // Assert
                Assert.Equal("http://contoso.com/packages/", ConfigurationDefaults.DefaultPushSource);
                Assert.Equal(2, packageSources.Count());
                Assert.Equal("v2", packageSources[0].Name);
                Assert.Equal("Contoso Package Source", packageSources[1].Name);
            }
        }