11using NServiceBus . Logging ;
2+ using System . Threading . Tasks ;
23
34/// <summary>
45/// Tests for the DeferredLoggerFactory pattern using a local test implementation.
56/// This tests the deferred logging pattern used for capturing logs before endpoint startup.
67/// </summary>
78public class DeferredLoggerFactoryTests
89{
9- [ Fact ]
10- public void GetLogger_with_type_returns_NamedLogger ( )
10+ [ Test ]
11+ public async Task GetLogger_with_type_returns_NamedLogger ( )
1112 {
1213 var factory = new TestDeferredLoggerFactory ( LogLevel . Debug ) ;
1314
1415 var log = factory . GetLogger ( typeof ( DeferredLoggerFactoryTests ) ) ;
1516
16- Assert . NotNull ( log ) ;
17- Assert . IsType < TestNamedLogger > ( log ) ;
17+ await Assert . That ( log ) . IsNotNull ( ) ;
18+ await Assert . That ( log ) . IsTypeOf < TestNamedLogger > ( ) ;
1819 }
1920
20- [ Fact ]
21- public void GetLogger_with_string_returns_NamedLogger ( )
21+ [ Test ]
22+ public async Task GetLogger_with_string_returns_NamedLogger ( )
2223 {
2324 var factory = new TestDeferredLoggerFactory ( LogLevel . Debug ) ;
2425
2526 var log = factory . GetLogger ( "TestLogger" ) ;
2627
27- Assert . NotNull ( log ) ;
28- Assert . IsType < TestNamedLogger > ( log ) ;
28+ await Assert . That ( log ) . IsNotNull ( ) ;
29+ await Assert . That ( log ) . IsTypeOf < TestNamedLogger > ( ) ;
2930 }
3031
31- [ Fact ]
32- public void Write_adds_message_to_deferred_logs ( )
32+ [ Test ]
33+ public async Task Write_adds_message_to_deferred_logs ( )
3334 {
3435 var factory = new TestDeferredLoggerFactory ( LogLevel . Debug ) ;
3536
3637 factory . Write ( "TestLogger" , LogLevel . Info , "test message" ) ;
3738
38- Assert . Single ( factory . DeferredLogs ) ;
39- Assert . True ( factory . DeferredLogs . ContainsKey ( "TestLogger" ) ) ;
40- Assert . Single ( factory . DeferredLogs [ "TestLogger" ] ) ;
39+ await Assert . That ( factory . DeferredLogs ) . HasSingleItem ( ) ;
40+ await Assert . That ( factory . DeferredLogs . ContainsKey ( "TestLogger" ) ) . IsTrue ( ) ;
41+ await Assert . That ( factory . DeferredLogs [ "TestLogger" ] ) . HasSingleItem ( ) ;
4142 var ( level , message ) = factory . DeferredLogs [ "TestLogger" ] . First ( ) ;
42- Assert . Equal ( LogLevel . Info , level ) ;
43- Assert . Equal ( "test message" , message ) ;
43+ await Assert . That ( level ) . IsEqualTo ( LogLevel . Info ) ;
44+ await Assert . That ( message ) . IsEqualTo ( "test message" ) ;
4445 }
4546
46- [ Fact ]
47- public void Write_filters_messages_below_configured_level ( )
47+ [ Test ]
48+ public async Task Write_filters_messages_below_configured_level ( )
4849 {
4950 var factory = new TestDeferredLoggerFactory ( LogLevel . Warn ) ;
5051
5152 factory . Write ( "TestLogger" , LogLevel . Debug , "debug message" ) ;
5253 factory . Write ( "TestLogger" , LogLevel . Info , "info message" ) ;
5354
54- Assert . Empty ( factory . DeferredLogs ) ;
55+ await Assert . That ( factory . DeferredLogs ) . IsEmpty ( ) ;
5556 }
5657
57- [ Fact ]
58- public void Write_accepts_messages_at_or_above_configured_level ( )
58+ [ Test ]
59+ public async Task Write_accepts_messages_at_or_above_configured_level ( )
5960 {
6061 var factory = new TestDeferredLoggerFactory ( LogLevel . Warn ) ;
6162
6263 factory . Write ( "TestLogger" , LogLevel . Warn , "warn message" ) ;
6364 factory . Write ( "TestLogger" , LogLevel . Error , "error message" ) ;
6465 factory . Write ( "TestLogger" , LogLevel . Fatal , "fatal message" ) ;
6566
66- Assert . Single ( factory . DeferredLogs ) ;
67- Assert . Equal ( 3 , factory . DeferredLogs [ "TestLogger" ] . Count ) ;
67+ await Assert . That ( factory . DeferredLogs ) . HasSingleItem ( ) ;
68+ await Assert . That ( factory . DeferredLogs [ "TestLogger" ] . Count ) . IsEqualTo ( 3 ) ;
6869 }
6970
70- [ Fact ]
71- public void Write_groups_messages_by_logger_name ( )
71+ [ Test ]
72+ public async Task Write_groups_messages_by_logger_name ( )
7273 {
7374 var factory = new TestDeferredLoggerFactory ( LogLevel . Debug ) ;
7475
7576 factory . Write ( "Logger1" , LogLevel . Info , "message 1" ) ;
7677 factory . Write ( "Logger2" , LogLevel . Info , "message 2" ) ;
7778 factory . Write ( "Logger1" , LogLevel . Info , "message 3" ) ;
7879
79- Assert . Equal ( 2 , factory . DeferredLogs . Count ) ;
80- Assert . Equal ( 2 , factory . DeferredLogs [ "Logger1" ] . Count ) ;
81- Assert . Single ( factory . DeferredLogs [ "Logger2" ] ) ;
80+ await Assert . That ( factory . DeferredLogs . Count ) . IsEqualTo ( 2 ) ;
81+ await Assert . That ( factory . DeferredLogs [ "Logger1" ] . Count ) . IsEqualTo ( 2 ) ;
82+ await Assert . That ( factory . DeferredLogs [ "Logger2" ] ) . HasSingleItem ( ) ;
8283 }
8384
84- [ Theory ]
85- [ InlineData ( LogLevel . Debug , true , true , true , true , true ) ]
86- [ InlineData ( LogLevel . Info , false , true , true , true , true ) ]
87- [ InlineData ( LogLevel . Warn , false , false , true , true , true ) ]
88- [ InlineData ( LogLevel . Error , false , false , false , true , true ) ]
89- [ InlineData ( LogLevel . Fatal , false , false , false , false , true ) ]
90- public void GetLogger_sets_enabled_levels_correctly (
85+ [ Test ]
86+ [ Arguments ( LogLevel . Debug , true , true , true , true , true ) ]
87+ [ Arguments ( LogLevel . Info , false , true , true , true , true ) ]
88+ [ Arguments ( LogLevel . Warn , false , false , true , true , true ) ]
89+ [ Arguments ( LogLevel . Error , false , false , false , true , true ) ]
90+ [ Arguments ( LogLevel . Fatal , false , false , false , false , true ) ]
91+ public async Task GetLogger_sets_enabled_levels_correctly (
9192 LogLevel configuredLevel ,
9293 bool expectedDebug ,
9394 bool expectedInfo ,
@@ -99,24 +100,24 @@ public void GetLogger_sets_enabled_levels_correctly(
99100
100101 var log = factory . GetLogger ( "TestLogger" ) ;
101102
102- Assert . Equal ( expectedDebug , log . IsDebugEnabled ) ;
103- Assert . Equal ( expectedInfo , log . IsInfoEnabled ) ;
104- Assert . Equal ( expectedWarn , log . IsWarnEnabled ) ;
105- Assert . Equal ( expectedError , log . IsErrorEnabled ) ;
106- Assert . Equal ( expectedFatal , log . IsFatalEnabled ) ;
103+ await Assert . That ( log . IsDebugEnabled ) . IsEqualTo ( expectedDebug ) ;
104+ await Assert . That ( log . IsInfoEnabled ) . IsEqualTo ( expectedInfo ) ;
105+ await Assert . That ( log . IsWarnEnabled ) . IsEqualTo ( expectedWarn ) ;
106+ await Assert . That ( log . IsErrorEnabled ) . IsEqualTo ( expectedError ) ;
107+ await Assert . That ( log . IsFatalEnabled ) . IsEqualTo ( expectedFatal ) ;
107108 }
108109
109- [ Fact ]
110- public void Logger_writes_through_factory ( )
110+ [ Test ]
111+ public async Task Logger_writes_through_factory ( )
111112 {
112113 var factory = new TestDeferredLoggerFactory ( LogLevel . Debug ) ;
113114 var logger = factory . GetLogger ( "TestLogger" ) ;
114115
115116 logger . Info ( "test info message" ) ;
116117 logger . Error ( "test error message" ) ;
117118
118- Assert . Single ( factory . DeferredLogs ) ;
119- Assert . Equal ( 2 , factory . DeferredLogs [ "TestLogger" ] . Count ) ;
119+ await Assert . That ( factory . DeferredLogs ) . HasSingleItem ( ) ;
120+ await Assert . That ( factory . DeferredLogs [ "TestLogger" ] . Count ) . IsEqualTo ( 2 ) ;
120121 }
121122}
122123
@@ -214,4 +215,4 @@ public void Fatal(string? message, Exception? exception) =>
214215
215216 public void FatalFormat ( string format , params object ? [ ] args ) =>
216217 factory . Write ( name , LogLevel . Fatal , string . Format ( format , args ) ) ;
217- }
218+ }
0 commit comments