@@ -1306,16 +1306,16 @@ public void Log_Should_Serialize_TimeOnly()
13061306 }
13071307
13081308 [ Theory ]
1309- [ InlineData ( true , LogLevel . Warning ) ]
1310- [ InlineData ( false , LogLevel . Critical ) ]
1311- public void Log_Should_Use_Lambda_Log_Level_When_Enabled ( bool willLog , LogLevel logLevel )
1309+ [ InlineData ( true , "WARN" , LogLevel . Warning ) ]
1310+ [ InlineData ( false , "Fatal" , LogLevel . Critical ) ]
1311+ public void Log_Should_Use_Lambda_Log_Level_When_Enabled ( bool willLog , string awsLogLevel , LogLevel logLevel )
13121312 {
13131313 // Arrange
13141314 var loggerName = Guid . NewGuid ( ) . ToString ( ) ;
13151315
13161316 var environment = Substitute . For < IPowertoolsEnvironment > ( ) ;
13171317 environment . GetEnvironmentVariable ( "POWERTOOLS_LOG_LEVEL" ) . Returns ( "Error" ) ;
1318- environment . GetEnvironmentVariable ( "AWS_LAMBDA_LOG_LEVEL" ) . Returns ( logLevel . ToString ( ) ) ;
1318+ environment . GetEnvironmentVariable ( "AWS_LAMBDA_LOG_LEVEL" ) . Returns ( awsLogLevel ) ;
13191319
13201320 var systemWrapper = new SystemWrapperMock ( environment ) ;
13211321 var configuration = new PowertoolsConfigurations ( systemWrapper ) ;
@@ -1333,12 +1333,38 @@ public void Log_Should_Use_Lambda_Log_Level_When_Enabled(bool willLog, LogLevel
13331333 Time = new TimeOnly ( 12 , 0 , 0 )
13341334 } ;
13351335
1336+ // Act
13361337 logger . LogWarning ( message ) ;
13371338
1339+ // Assert
13381340 Assert . True ( logger . IsEnabled ( logLevel ) ) ;
1339- Assert . Equal ( logLevel . ToString ( ) , configuration . LogLevel ) ;
1341+ Assert . Equal ( logLevel , configuration . GetLogLevel ( ) ) ;
13401342 Assert . Equal ( willLog , systemWrapper . LogMethodCalled ) ;
13411343 }
1344+
1345+ [ Theory ]
1346+ [ InlineData ( "TRACE" , LogLevel . Trace ) ]
1347+ [ InlineData ( "debug" , LogLevel . Debug ) ]
1348+ [ InlineData ( "Info" , LogLevel . Information ) ]
1349+ [ InlineData ( "WARN" , LogLevel . Warning ) ]
1350+ [ InlineData ( "ERROR" , LogLevel . Error ) ]
1351+ [ InlineData ( "Fatal" , LogLevel . Critical ) ]
1352+ [ InlineData ( "DoesNotExist" , LogLevel . Information ) ]
1353+ public void Should_Map_AWS_Log_Level_And_Default_To_Information ( string awsLogLevel , LogLevel logLevel )
1354+ {
1355+ // Arrange
1356+ var environment = Substitute . For < IPowertoolsEnvironment > ( ) ;
1357+ environment . GetEnvironmentVariable ( "AWS_LAMBDA_LOG_LEVEL" ) . Returns ( awsLogLevel ) ;
1358+
1359+ var systemWrapper = new SystemWrapperMock ( environment ) ;
1360+ var configuration = new PowertoolsConfigurations ( systemWrapper ) ;
1361+
1362+ // Act
1363+ var logLvl = configuration . GetLogLevel ( ) ;
1364+
1365+ // Assert
1366+ Assert . Equal ( logLevel , logLvl ) ;
1367+ }
13421368
13431369 [ Theory ]
13441370 [ InlineData ( true , LogLevel . Warning ) ]
@@ -1366,6 +1392,7 @@ public void Log_Should_Use_Powertools_Log_Level_When_Lambda_Log_Level_Unavailabl
13661392 Time = new TimeOnly ( 12 , 0 , 0 )
13671393 } ;
13681394
1395+ // Act
13691396 logger . LogWarning ( message ) ;
13701397
13711398 // Assert
0 commit comments