Skip to content

Commit f3875c1

Browse files
committed
Add test case to increase logger coverage
1 parent f156431 commit f3875c1

File tree

1 file changed

+91
-1
lines changed

1 file changed

+91
-1
lines changed

ExtractorUtils.Test/unit/LoggingTest.cs

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using Xunit;
77
using Cognite.Extractor.Logging;
88
using Cognite.Extractor.Utils;
9-
using Serilog;
109

1110
namespace ExtractorUtils.Test.Unit
1211
{
@@ -129,5 +128,96 @@ public static void TestLogLevel()
129128
logger.LogTrace("This is a trace message with {SideEffect}", sideEffect);
130129
Assert.Equal(4, sideEffect.logCount); // should not be evaluated
131130
}
131+
132+
[Theory]
133+
[InlineData("console")]
134+
[InlineData("file")]
135+
[InlineData("trace-listener")]
136+
public void TestLogger_WithDifferentLogTypes(string logType)
137+
{
138+
var services = new ServiceCollection();
139+
140+
switch (logType)
141+
{
142+
case "console":
143+
services.AddSingleton(new LoggerConfig
144+
{
145+
Console = new ConsoleConfig { Level = "information" }
146+
});
147+
break;
148+
case "file":
149+
services.AddSingleton(new LoggerConfig
150+
{
151+
File = new FileConfig { Level = "warning", Path = "test.log" }
152+
});
153+
break;
154+
case "trace-listener":
155+
services.AddSingleton(new LoggerConfig
156+
{
157+
TraceListener = new TraceListenerConfig { Level = "error" }
158+
});
159+
break;
160+
}
161+
services.AddLogger();
162+
163+
using var provider = services.BuildServiceProvider();
164+
var logger = provider.GetRequiredService<ILogger<LoggingTest>>();
165+
166+
Assert.NotNull(logger);
167+
}
168+
169+
[Theory]
170+
[InlineData("console", "debug")]
171+
[InlineData("console", "information")]
172+
[InlineData("file", "warning")]
173+
[InlineData("trace-listener", "error")]
174+
public void TestLogger_WithTypeAndLevel(string configType, string level)
175+
{
176+
var services = new ServiceCollection();
177+
178+
// Configure logger based on the specified type and level
179+
var loggerConfig = new LoggerConfig();
180+
switch (configType)
181+
{
182+
case "console":
183+
loggerConfig.Console = new ConsoleConfig { Level = level };
184+
break;
185+
case "file":
186+
loggerConfig.File = new FileConfig { Level = level, Path = "test.log" };
187+
break;
188+
case "trace-listener":
189+
loggerConfig.TraceListener = new TraceListenerConfig { Level = level };
190+
break;
191+
}
192+
193+
services.AddSingleton(loggerConfig);
194+
services.AddLogger();
195+
196+
using var provider = services.BuildServiceProvider();
197+
var logger = provider.GetRequiredService<ILogger<LoggingTest>>();
198+
199+
// Assert logger is configured
200+
Assert.NotNull(logger);
201+
202+
// Verify the configuration was applied
203+
var retrievedConfig = provider.GetRequiredService<LoggerConfig>();
204+
Assert.NotNull(retrievedConfig);
205+
206+
switch (configType)
207+
{
208+
case "console":
209+
Assert.NotNull(retrievedConfig.Console);
210+
Assert.Equal(level, retrievedConfig.Console.Level);
211+
break;
212+
case "file":
213+
Assert.NotNull(retrievedConfig.File);
214+
Assert.Equal(level, retrievedConfig.File.Level);
215+
break;
216+
case "trace-listener":
217+
Assert.NotNull(retrievedConfig.TraceListener);
218+
Assert.Equal(level, retrievedConfig.TraceListener.Level);
219+
break;
220+
}
221+
}
132222
}
133223
}

0 commit comments

Comments
 (0)