Skip to content

Commit 35acff5

Browse files
Unit tests for log comparasion
1 parent 93f4a13 commit 35acff5

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

aws_lambda_powertools/logging/buffer/functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def _resolve_buffer_log_level(buffer_log_level, current_log_level):
3636
current_level_num = log_levels.get(current_log_level.upper())
3737

3838
# Compare numeric levels
39-
if buffer_level_num < current_level_num:
39+
if buffer_level_num <= current_level_num:
4040
return True
4141

4242
return False
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from aws_lambda_powertools.logging.buffer.functions import _resolve_buffer_log_level
2+
3+
4+
def test_resolve_buffer_log_level_comparison():
5+
# Test cases where buffer level is lower than current level (should return True)
6+
assert _resolve_buffer_log_level("DEBUG", "INFO") is True
7+
assert _resolve_buffer_log_level("DEBUG", "WARNING") is True
8+
assert _resolve_buffer_log_level("DEBUG", "ERROR") is True
9+
assert _resolve_buffer_log_level("INFO", "WARNING") is True
10+
assert _resolve_buffer_log_level("INFO", "ERROR") is True
11+
assert _resolve_buffer_log_level("WARNING", "ERROR") is True
12+
13+
# Test cases where buffer level is equal to current level (should return True)
14+
assert _resolve_buffer_log_level("INFO", "INFO") is True
15+
assert _resolve_buffer_log_level("DEBUG", "DEBUG") is True
16+
assert _resolve_buffer_log_level("WARNING", "WARNING") is True
17+
assert _resolve_buffer_log_level("ERROR", "ERROR") is True
18+
assert _resolve_buffer_log_level("CRITICAL", "CRITICAL") is True
19+
20+
# Test cases where buffer level is higher than current level (should return False)
21+
assert _resolve_buffer_log_level("ERROR", "DEBUG") is False
22+
assert _resolve_buffer_log_level("CRITICAL", "INFO") is False
23+
assert _resolve_buffer_log_level("ERROR", "WARNING") is False
24+
25+
26+
def test_resolve_buffer_log_level_case_insensitivity():
27+
# Test case insensitivity
28+
assert _resolve_buffer_log_level("debug", "INFO") is True
29+
assert _resolve_buffer_log_level("DEBUG", "info") is True
30+
assert _resolve_buffer_log_level("Debug", "Info") is True
31+
32+
33+
def test_resolve_buffer_log_level_edge_cases():
34+
# Additional edge cases
35+
assert _resolve_buffer_log_level("DEBUG", "CRITICAL") is True
36+
assert _resolve_buffer_log_level("CRITICAL", "DEBUG") is False

0 commit comments

Comments
 (0)