diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTLSCertificateValidationTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTLSCertificateValidationTests.cs
index 6365d164d32..438821e3928 100644
--- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTLSCertificateValidationTests.cs
+++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTLSCertificateValidationTests.cs
@@ -26,26 +26,20 @@ public async Task DotnetRestore_withTLSCertificateValidationDisabled_DoesnotThro
{
// Arrange
using var pathContext = _msbuildFixture.CreateSimpleTestPathContext();
+ TestDirectory packageSourceDirectory = TestDirectory.Create();
var packageA100 = new SimpleTestPackageContext("A", "1.0.0");
await SimpleTestPackageUtility.CreateFolderFeedV3Async(
- pathContext.PackageSource,
+ packageSourceDirectory,
PackageSaveMode.Defaultv3,
packageA100);
var projectA = XPlatTestUtils.CreateProject("ProjectA", pathContext, packageA100, "net472");
var workingDirectory = Path.Combine(pathContext.SolutionRoot, projectA.ProjectName);
- SelfSignedCertificateMockServer tcpListenerServer = new SelfSignedCertificateMockServer(pathContext.PackageSource);
+ SelfSignedCertificateMockServer tcpListenerServer = new SelfSignedCertificateMockServer(packageSourceDirectory);
var serverTask = tcpListenerServer.StartServerAsync();
- var configFile = @$"
-
-
-
-
-
-";
+ pathContext.Settings.AddSource("https-feed", $"{tcpListenerServer.URI}v3/index.json", "disableTLSCertificateValidation", "true");
// Act & Assert
- File.WriteAllText(Path.Combine(workingDirectory, "NuGet.Config"), configFile);
- _msbuildFixture.RunDotnetExpectSuccess(workingDirectory, $"restore {projectA.ProjectName}.csproj --configfile ./NuGet.config");
+ _msbuildFixture.RunDotnetExpectSuccess(workingDirectory, $"restore {projectA.ProjectName}.csproj --configfile {pathContext.Settings.ConfigPath}");
tcpListenerServer.StopServer();
}
@@ -54,27 +48,20 @@ public async Task DotnetRestore_withTLSCertificateValidationEnabled_ThrowExcepti
{
// Arrange
using var pathContext = _msbuildFixture.CreateSimpleTestPathContext();
+ TestDirectory packageSourceDirectory = TestDirectory.Create();
var packageB100 = new SimpleTestPackageContext("myPackg", "1.0.0");
await SimpleTestPackageUtility.CreateFolderFeedV3Async(
- pathContext.PackageSource,
+ packageSourceDirectory,
PackageSaveMode.Defaultv3,
packageB100);
var projectB = XPlatTestUtils.CreateProject("ProjectB", pathContext, packageB100, "net472");
var workingDirectory = Path.Combine(pathContext.SolutionRoot, projectB.ProjectName);
- SelfSignedCertificateMockServer tcpListenerServer = new SelfSignedCertificateMockServer(pathContext.PackageSource);
+ SelfSignedCertificateMockServer tcpListenerServer = new SelfSignedCertificateMockServer(packageSourceDirectory);
var serverTask = tcpListenerServer.StartServerAsync();
- var configFile = @$"
-
-
-
-
-
-";
- File.WriteAllText(Path.Combine(workingDirectory, "NuGet.Config"), configFile);
+ pathContext.Settings.AddSource("https-feed", $"{tcpListenerServer.URI}v3/index.json");
// Act & Assert
- var _result = _msbuildFixture.RunDotnetExpectFailure(workingDirectory, $"restore {projectB.ProjectName}.csproj --configfile ./NuGet.config");
- Assert.Contains("SSL connection could not be established", _result.AllOutput);
+ var _result = _msbuildFixture.RunDotnetExpectFailure(workingDirectory, $"restore {projectB.ProjectName}.csproj --configfile {pathContext.Settings.ConfigPath} -v d");
tcpListenerServer.StopServer();
}
@@ -83,30 +70,23 @@ public async Task DotnetRestore_withAnotherSourceTLSCertificateValidationDisbale
{
// Arrange
using var pathContext = _msbuildFixture.CreateSimpleTestPathContext();
+ TestDirectory packageSourceDirectory = TestDirectory.Create();
var packageB100 = new SimpleTestPackageContext("myPackg", "1.0.0");
await SimpleTestPackageUtility.CreateFolderFeedV3Async(
- pathContext.PackageSource,
+ packageSourceDirectory,
PackageSaveMode.Defaultv3,
packageB100);
var projectB = XPlatTestUtils.CreateProject("ProjectB", pathContext, packageB100, "net472");
var workingDirectory = Path.Combine(pathContext.SolutionRoot, projectB.ProjectName);
- SelfSignedCertificateMockServer tcpListenerServer1 = new SelfSignedCertificateMockServer(pathContext.PackageSource);
- SelfSignedCertificateMockServer tcpListenerServer2 = new SelfSignedCertificateMockServer(pathContext.PackageSource);
+ SelfSignedCertificateMockServer tcpListenerServer1 = new SelfSignedCertificateMockServer(packageSourceDirectory);
+ SelfSignedCertificateMockServer tcpListenerServer2 = new SelfSignedCertificateMockServer(packageSourceDirectory);
var serverTask = tcpListenerServer1.StartServerAsync();
var serverTask2 = tcpListenerServer2.StartServerAsync();
- var configFile = @$"
-
-
-
-
-
-
-";
- File.WriteAllText(Path.Combine(workingDirectory, "NuGet.Config"), configFile);
+ pathContext.Settings.AddSource("https-feed1", $"{tcpListenerServer1.URI}v3/index.json");
+ pathContext.Settings.AddSource("https-feed2", $"{tcpListenerServer2.URI}v3/index.json", "disableTLSCertificateValidation", "true");
// Act & Assert
- var _result = _msbuildFixture.RunDotnetExpectFailure(workingDirectory, $"restore {projectB.ProjectName}.csproj --configfile ./NuGet.config");
- Assert.Contains("SSL connection could not be established", _result.AllOutput);
+ var _result = _msbuildFixture.RunDotnetExpectFailure(workingDirectory, $"restore {projectB.ProjectName}.csproj --configfile {pathContext.Settings.ConfigPath}");
tcpListenerServer1.StopServer();
tcpListenerServer2.StopServer();
}
@@ -116,29 +96,23 @@ public async Task DotnetRestore_withAnotherSourceTLSCertificateValidationEnabled
{
// Arrange
using var pathContext = _msbuildFixture.CreateSimpleTestPathContext();
+ TestDirectory packageSourceDirectory = TestDirectory.Create();
var packageB100 = new SimpleTestPackageContext("myPackg", "1.0.0");
await SimpleTestPackageUtility.CreateFolderFeedV3Async(
- pathContext.PackageSource,
+ packageSourceDirectory,
PackageSaveMode.Defaultv3,
packageB100);
var projectB = XPlatTestUtils.CreateProject("ProjectB", pathContext, packageB100, "net472");
var workingDirectory = Path.Combine(pathContext.SolutionRoot, projectB.ProjectName);
- SelfSignedCertificateMockServer tcpListenerServer1 = new SelfSignedCertificateMockServer(pathContext.PackageSource);
- SelfSignedCertificateMockServer tcpListenerServer2 = new SelfSignedCertificateMockServer(pathContext.PackageSource);
+ SelfSignedCertificateMockServer tcpListenerServer1 = new SelfSignedCertificateMockServer(packageSourceDirectory);
+ SelfSignedCertificateMockServer tcpListenerServer2 = new SelfSignedCertificateMockServer(packageSourceDirectory);
var serverTask = tcpListenerServer1.StartServerAsync();
var serverTask2 = tcpListenerServer2.StartServerAsync();
- var configFile = @$"
-
-
-
-
-
-
-";
- File.WriteAllText(Path.Combine(workingDirectory, "NuGet.Config"), configFile);
+ pathContext.Settings.AddSource("https-feed1", $"{tcpListenerServer1.URI}v3/index.json");
+ pathContext.Settings.AddSource("https-feed2", $"{tcpListenerServer2.URI}v3/index.json", "disableTLSCertificateValidation", "true");
// Act & Assert
- var _result = _msbuildFixture.RunDotnetExpectSuccess(workingDirectory, $"restore {projectB.ProjectName}.csproj --configfile ./NuGet.config --source {tcpListenerServer2.URI}v3/index.json");
+ var _result = _msbuildFixture.RunDotnetExpectSuccess(workingDirectory, $"restore {projectB.ProjectName}.csproj --configfile {pathContext.Settings.ConfigPath} --source {tcpListenerServer2.URI}v3/index.json");
tcpListenerServer1.StopServer();
tcpListenerServer2.StopServer();
}
diff --git a/test/TestUtilities/Test.Utility/SimpleTestSetup/SimpleTestSettingsContext.cs b/test/TestUtilities/Test.Utility/SimpleTestSetup/SimpleTestSettingsContext.cs
index dd2c9cd16bf..ba28839f557 100644
--- a/test/TestUtilities/Test.Utility/SimpleTestSetup/SimpleTestSettingsContext.cs
+++ b/test/TestUtilities/Test.Utility/SimpleTestSetup/SimpleTestSettingsContext.cs
@@ -226,6 +226,13 @@ public void AddSource(string sourceName, string sourceUri, string allowInsecureC
Save();
}
+ public void AddSource(string sourceName, string sourceUri, string attributeName, string attributeValue)
+ {
+ var section = GetOrAddSection(XML, "packageSources");
+ AddEntry(section, sourceName, sourceUri, attributeName, attributeValue);
+ Save();
+ }
+
public void AddPackageSourceMapping(string sourceName, params string[] patterns)
{
XElement packageSourceMappingSection = GetOrAddSection(XML, "packageSourceMapping");