public void SholdUseNugetUnderHomeOnNonWindows() { var environment = EnvironmentMockBuilder.Create() .AddVariable("HOME", "User Home") .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultPackageDirectory(Platform.Linux, environment); result.Should().Be(Path.Combine("User Home", ".nuget", "packages")); }
public void ShouldUseNugetUnderUserProfileOnWindows() { var environment = EnvironmentMockBuilder.Create() .AddVariable("USERPROFILE", "User Profile") .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultProbeDirectories(Platform.Windows, environment); result.Should().Contain(Path.Combine("User Profile", ".nuget", "packages")); }
public void SholdUseEnvironmentVariableToGetDefaultLocation() { var environment = EnvironmentMockBuilder.Create() .AddVariable("NUGET_PACKAGES", PackagesPath) .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultPackageDirectory(Platform.Unknown, environment); result.Should().Be(PackagesPath); }
public void ShouldUseEnvironmentVariableToGetDefaultLocation() { var environment = EnvironmentMockBuilder.Create() .AddVariable("NUGET_PACKAGES", PackagesPath) .AddAppContextData("PROBING_DIRECTORIES", string.Empty) .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultProbeDirectories(environment); result.Should().Contain(PackagesPath); }
public void ShouldUseEnvironmentVariableToGetDefaultLocation() { var environment = EnvironmentMockBuilder.Create() .AddVariable("NUGET_PACKAGES", PackagesPath) .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultProbeDirectories(environment); // The host for .NET Core 2.0 always sets the PROBING_DIRECTORIES property on the AppContext. Because of that, // no additional package directories should be returned from this, even if they are set as environment variables. result.Should().NotContain(PackagesPath); }
public void ShouldUseNugetUnderHomeOnNonWindows() { var environment = EnvironmentMockBuilder.Create() .SetIsWindows(false) .AddVariable("HOME", "User Home") .AddAppContextData("PROBING_DIRECTORIES", string.Empty) .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultProbeDirectories(environment); result.Should().Contain(Path.Combine("User Home", ".nuget", "packages")); }
public void ShouldUseNugetUnderHomeOnNonWindows() { var environment = EnvironmentMockBuilder.Create() .AddVariable("HOME", "User Home") .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultProbeDirectories(Platform.Linux, environment); // The host for .NET Core 2.0 always sets the PROBING_DIRECTORIES property on the AppContext. Because of that, // no additional package directories should be returned from this, even if they are set as environment variables. result.Should().NotContain(Path.Combine("User Home", ".nuget", "packages")); }
public void SholdUseNugetUnderHomeOnNonWindows() { var runtime = new Mock <IRuntimeEnvironment>(); runtime.SetupGet(r => r.OperatingSystemPlatform).Returns(Platform.Linux); var environment = EnvironmentMockBuilder.Create() .AddVariable("HOME", "User Home") .Build(); var result = PackageCompilationAssemblyResolver.GetDefaultPackageDirectory(runtime.Object, environment); result.Should().Be(Path.Combine("User Home", ".nuget", "packages")); }
public void FailsWhenOneOfAssembliesNotFound() { var packagePath = GetPackagesPath(F.DefaultPackageName, F.DefaultVersion); var fileSystem = FileSystemMockBuilder.Create() .AddFiles(packagePath, F.DefaultAssemblyPath) .Build(); var library = F.Create(assemblies: F.TwoAssemblies); var resolver = new PackageCompilationAssemblyResolver(fileSystem, new string[] { PackagesPath }); var assemblies = new List <string>(); resolver.TryResolveAssemblyPaths(library, assemblies) .Should().BeFalse(); assemblies.Should().BeEmpty(); }
public void FailsWhenOneOfAssembliesNotFound() { var packagePath = Path.Combine(PackagesPath, F.DefaultPackageName, F.DefaultVersion); var fileSystem = FileSystemMockBuilder.Create() .AddFiles(packagePath, F.DefaultAssemblyPath) .Build(); var library = F.Create(assemblies: F.TwoAssemblies); var resolver = new PackageCompilationAssemblyResolver(fileSystem, PackagesPath); var assemblies = new List <string>(); var exception = Assert.Throws <InvalidOperationException>(() => resolver.TryResolveAssemblyPaths(library, assemblies)); exception.Message.Should() .Contain(F.SecondAssemblyPath) .And.Contain(library.Name); }
public void ResolvesAllAssemblies() { var packagePath = Path.Combine(PackagesPath, F.DefaultPackageName, F.DefaultVersion); var fileSystem = FileSystemMockBuilder.Create() .AddFiles(packagePath, F.TwoAssemblies) .Build(); var library = F.Create(assemblies: F.TwoAssemblies); var resolver = new PackageCompilationAssemblyResolver(fileSystem, PackagesPath); var assemblies = new List <string>(); var result = resolver.TryResolveAssemblyPaths(library, assemblies); assemblies.Should().HaveCount(2); assemblies.Should().Contain(Path.Combine(packagePath, F.DefaultAssemblyPath)); assemblies.Should().Contain(Path.Combine(packagePath, F.SecondAssemblyPath)); }
public void KeepsLookingWhenOneOfAssembliesNotFound() { var packagePath1 = GetPackagesPath(F.DefaultPackageName, F.DefaultVersion); var secondPath = "secondPath"; var packagePath2 = GetPackagesPath(secondPath, F.DefaultPackageName, F.DefaultVersion); var fileSystem = FileSystemMockBuilder.Create() .AddFiles(packagePath1, F.DefaultAssemblyPath) .AddFiles(packagePath2, F.DefaultAssemblyPath, F.SecondAssemblyPath) .Build(); var library = F.Create(assemblies: F.TwoAssemblies); var resolver = new PackageCompilationAssemblyResolver(fileSystem, new string[] { PackagesPath, secondPath }); var assemblies = new List <string>(); resolver.TryResolveAssemblyPaths(library, assemblies) .Should().BeTrue(); assemblies.Should().HaveCount(2); assemblies.Should().Contain(Path.Combine(packagePath2, F.DefaultAssemblyPath)); assemblies.Should().Contain(Path.Combine(packagePath2, F.SecondAssemblyPath)); }