Skip to content

Commit 1c0792c

Browse files
committed
test case
1 parent 52de77b commit 1c0792c

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
@@ -813,6 +813,67 @@ public async Task RunAsync_WhenSourceMappingMapsToInsecureSource_AndAllowInsecur
813813
File.Exists(Path.Combine(installDir, $"{id.ToLowerInvariant()}.{version}.nupkg")).Should().BeTrue();
814814
}
815815

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

0 commit comments

Comments
 (0)