Skip to content

Commit bd8d3b1

Browse files
committed
test case
1 parent 7bd2e43 commit bd8d3b1

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

test/NuGet.Core.FuncTests/NuGet.XPlat.FuncTest/Package/Download/PackageDownloadRunnerTests.cs

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,67 @@ public async Task RunAsync_WhenSourceMappingMapsToInsecureSource_AndAllowInsecur
811811
File.Exists(Path.Combine(installDir, $"{id.ToLowerInvariant()}.{version}.nupkg")).Should().BeTrue();
812812
}
813813

814+
[Theory]
815+
[InlineData("A", "a")]
816+
[InlineData("a", "A")]
817+
[InlineData("SourceA", "sourcea")]
818+
[InlineData("SOURCEA", "sourcea")]
819+
public async Task RunAsync_WithVariousSourceMappingCasing_FindsSourceAndSucceeds(string sourceNameConfig, string sourceNameMapping)
820+
{
821+
// Arrange
822+
using var context = new SimpleTestPathContext();
823+
string srcDir = context.PackageSource;
824+
825+
var id = "Contoso.Casing";
826+
var version = "1.0.0";
827+
828+
await SimpleTestPackageUtility.CreateFullPackageAsync(srcDir, id, version);
829+
830+
// Add source using one casing
831+
context.Settings.AddSource(sourceNameConfig, srcDir);
832+
833+
// Add mapping using different casing
834+
context.Settings.AddPackageSourceMapping(sourceNameMapping, "Contoso.*");
835+
836+
var settings = Settings.LoadSettingsGivenConfigPaths([context.Settings.ConfigPath]);
837+
838+
var args = new PackageDownloadArgs
839+
{
840+
Packages =
841+
[
842+
new PackageWithNuGetVersion
843+
{
844+
Id = id,
845+
NuGetVersion = NuGetVersion.Parse(version)
846+
}
847+
],
848+
OutputDirectory = context.WorkingDirectory,
849+
AllowInsecureConnections = true
850+
};
851+
852+
var logger = new Mock<ILoggerWithColor>(MockBehavior.Loose);
853+
854+
var packageSources = new List<PackageSource>
855+
{
856+
new(srcDir, sourceNameConfig),
857+
};
858+
859+
// Act
860+
var exit = await PackageDownloadRunner.RunAsync(
861+
args,
862+
logger.Object,
863+
packageSources,
864+
settings,
865+
CancellationToken.None);
866+
867+
// Assert
868+
exit.Should().Be(PackageDownloadRunner.ExitCodeSuccess);
869+
870+
var installDir = Path.Combine(context.WorkingDirectory, id.ToLowerInvariant(), version);
871+
Directory.Exists(installDir).Should().BeTrue();
872+
File.Exists(Path.Combine(installDir, $"{id.ToLowerInvariant()}.{version}.nupkg")).Should().BeTrue();
873+
}
874+
814875
[Fact]
815876
public async Task RunAsync_WhenMappedSourceMissing_LogsVerbose()
816877
{

0 commit comments

Comments
 (0)