public void Sources_WarnWhenAdding(string source, bool shouldWarn) { using (SimpleTestPathContext pathContext = new SimpleTestPathContext()) { TestDirectory workingPath = pathContext.WorkingDirectory; SimpleTestSettingsContext settings = pathContext.Settings; // Arrange var args = new string[] { "nuget", "add", "source", source, "--name", "test_source", "--configfile", settings.ConfigPath }; // Act CommandRunnerResult result = _fixture.RunDotnet(workingPath, string.Join(" ", args), ignoreExitCode: true); // Assert Assert.True(result.Success, result.Output + " " + result.Errors); ISettings loadedSettings = Settings.LoadDefaultSettings(root: workingPath, configFileName: null, machineWideSettings: null); SettingSection packageSourcesSection = loadedSettings.GetSection("packageSources"); SourceItem sourceItem = packageSourcesSection?.GetFirstItemWithAttribute <SourceItem>("key", "test_source"); Assert.Equal(source, sourceItem.GetValueAsPath()); Assert.Equal(shouldWarn, result.Output.Contains("warn : You are running the 'add source' operation with an 'HTTP' source")); } }
public void SourcesCommandTest_AddSource(string source, bool shouldWarn) { using (SimpleTestPathContext pathContext = new SimpleTestPathContext()) { TestDirectory workingPath = pathContext.WorkingDirectory; SimpleTestSettingsContext settings = pathContext.Settings; // Arrange string nugetexe = Util.GetNuGetExePath(); var args = new string[] { "sources", "Add", "-Name", "test_source", "-Source", source, "-ConfigFile", settings.ConfigPath }; // Act CommandRunnerResult result = CommandRunner.Run(nugetexe, workingPath, string.Join(" ", args), true); // Assert Assert.Equal(0, result.ExitCode); ISettings loadedSettings = Configuration.Settings.LoadDefaultSettings(workingPath, null, null); SettingSection packageSourcesSection = loadedSettings.GetSection("packageSources"); SourceItem sourceItem = packageSourcesSection?.GetFirstItemWithAttribute <SourceItem>("key", "test_source"); Assert.Equal(source, sourceItem.GetValueAsPath()); Assert.Equal(shouldWarn, result.Output.Contains("WARNING: You are running the 'add source' operation with an 'HTTP' source")); } }
public void Sources_WarnWhenUpdatingHttpSource(string updateSource, bool shouldWarn) { using (TestDirectory configFileDirectory = _fixture.CreateTestDirectory()) { string configFileName = "nuget.config"; string configFilePath = Path.Combine(configFileDirectory, configFileName); var nugetConfig = @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <packageSources> <add key=""test_source"" value=""http://source.test.initial"" /> </packageSources> </configuration>"; CreateXmlFile(configFilePath, nugetConfig); ISettings settings = Settings.LoadDefaultSettings( configFileDirectory, configFileName, null); PackageSourceProvider packageSourceProvider = new PackageSourceProvider(settings); var sources = packageSourceProvider.LoadPackageSources().ToList(); Assert.Single(sources); PackageSource source = sources.Single(); Assert.Equal("test_source", source.Name); Assert.Equal("http://source.test.initial", source.Source); // Arrange var args = new string[] { "nuget", "update", "source", "test_source", "--source", updateSource, "--configfile", configFilePath }; // Act CommandRunnerResult result = _fixture.RunDotnet(configFileDirectory, string.Join(" ", args), ignoreExitCode: true); // Assert Assert.True(result.Success, result.Output + " " + result.Errors); ISettings loadedSettings = Settings.LoadDefaultSettings(root: configFileDirectory, configFileName: null, machineWideSettings: null); SettingSection packageSourcesSection = loadedSettings.GetSection("packageSources"); SourceItem sourceItem = packageSourcesSection?.GetFirstItemWithAttribute <SourceItem>("key", "test_source"); Assert.Equal(updateSource, sourceItem.GetValueAsPath()); Assert.Equal(shouldWarn, result.Output.Contains("warn : You are running the 'update source' operation with an 'HTTP' source")); } }
public void SourcesCommandTest_UpdateSource(string source, bool shouldWarn) { using (TestDirectory configFileDirectory = TestDirectory.Create()) { string nugetexe = Util.GetNuGetExePath(); string configFileName = "nuget.config"; string configFilePath = Path.Combine(configFileDirectory, configFileName); var nugetConfig = string.Format( @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <packageSources> <add key=""test_source"" value=""http://source.test.initial"" /> </packageSources> </configuration>", source); Util.CreateFile(configFileDirectory, configFileName, nugetConfig); // Arrange var args = new string[] { "sources", "Update", "-Name", "test_source", "-Source", source, "-ConfigFile", configFilePath }; // Act CommandRunnerResult result = CommandRunner.Run( nugetexe, configFileDirectory, string.Join(" ", args), true); // Assert Assert.Equal(0, result.ExitCode); ISettings loadedSettings = Configuration.Settings.LoadDefaultSettings(configFileDirectory, configFileName, null); SettingSection packageSourcesSection = loadedSettings.GetSection("packageSources"); SourceItem sourceItem = packageSourcesSection?.GetFirstItemWithAttribute <SourceItem>("key", "test_source"); Assert.Equal(source, sourceItem.GetValueAsPath()); Assert.Equal(shouldWarn, result.Output.Contains("WARNING: You are running the 'update source' operation with an 'HTTP' source")); } }