public void LoadConfigFile_NetCoreSingleFilePublish_IgnoreTmpDirectory() { // Arrange var tmpDir = "/var/tmp/"; var appEnvMock = new AppEnvironmentMock(f => true, f => null) { AppDomainBaseDirectory = Path.Combine(tmpDir, "BaseDir"), #if NETSTANDARD AppDomainConfigurationFile = string.Empty, // NetCore style #else AppDomainConfigurationFile = Path.Combine(tmpDir, "ProcessDir", "Entry.exe.config"), #endif CurrentProcessFilePath = Path.Combine(tmpDir, "ProcessDir", "Entry.exe"), // NetCore published exe EntryAssemblyLocation = Path.Combine(tmpDir, "TempProcessDir"), UserTempFilePath = "/tmp/", EntryAssemblyFileName = "Entry.dll" }; var fileLoader = new LoggingConfigurationFileLoader(appEnvMock); // Act var result = fileLoader.GetDefaultCandidateConfigFilePaths().ToList(); // Assert base-directory + process-directory + nlog-assembly-directory AssertResult(tmpDir, "TempProcessDir", "ProcessDir", "Entry", result); }
public void LoadConfigFile_NetCoreUnpublished_UseEntryDirectory() { // Arrange var d = Path.DirectorySeparatorChar; var tmpDir = Path.GetTempPath(); var appEnvMock = new AppEnvironmentMock(f => true, f => null) { AppDomainBaseDirectory = Path.Combine(tmpDir, "BaseDir"), #if NETSTANDARD AppDomainConfigurationFile = string.Empty, // NetCore style #else AppDomainConfigurationFile = Path.Combine(tmpDir, "EntryDir", "Entry.exe.config"), #endif CurrentProcessFilePath = Path.Combine(tmpDir, "ProcessDir", "Process.exe"),// NetCore dotnet.exe EntryAssemblyLocation = Path.Combine(tmpDir, "EntryDir"), EntryAssemblyFileName = "Entry.dll" }; var fileLoader = new LoggingConfigurationFileLoader(appEnvMock); // Act var result = fileLoader.GetDefaultCandidateConfigFilePaths().ToList(); // Assert base-directory + entry-directory + nlog-assembly-directory AssertResult(tmpDir, "EntryDir", "Entry", result); }
public void LoadConfigFile_EmptyEnvironment_UseCurrentDirectory() { // Arrange var appEnvMock = new AppEnvironmentMock(f => true, f => null); var fileLoader = new LoggingConfigurationFileLoader(appEnvMock); // Act var result = fileLoader.GetDefaultCandidateConfigFilePaths().ToList(); // Assert loading from current-directory and from nlog-assembly-directory if (NLog.Internal.PlatformDetector.IsWin32) { Assert.Equal(2, result.Count); // Case insensitive } Assert.Equal("NLog.config", result.First(), StringComparer.OrdinalIgnoreCase); Assert.Contains("NLog.dll.nlog", result.Last(), StringComparison.OrdinalIgnoreCase); }