Skip to content

Commit 2b32ab2

Browse files
committed
chore: add tests to reproduce regression
1 parent 09f98f8 commit 2b32ab2

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

tests/functional/test_logger.py

+36
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,42 @@ def handler(event, context):
663663
assert "my_key" not in second_log
664664

665665

666+
def test_clear_state_keeps_standard_keys(lambda_context, stdout, service_name):
667+
# GIVEN
668+
logger = Logger(service=service_name, stream=stdout)
669+
standard_keys = ["level", "location", "message", "timestamp", "service"]
670+
671+
# WHEN clear_state is set
672+
@logger.inject_lambda_context(clear_state=True)
673+
def handler(event, context):
674+
logger.info("Foo")
675+
676+
# THEN all standard keys should be available as usual
677+
handler({}, lambda_context)
678+
679+
log = capture_logging_output(stdout)
680+
for key in standard_keys:
681+
assert key in log
682+
683+
684+
def test_clear_state_keeps_exception_keys(lambda_context, stdout, service_name):
685+
# GIVEN
686+
logger = Logger(service=service_name, stream=stdout)
687+
688+
# WHEN clear_state is set and an exception was logged
689+
@logger.inject_lambda_context(clear_state=True)
690+
def handler(event, context):
691+
try:
692+
raise ValueError("something went wrong")
693+
except Exception:
694+
logger.exception("Received an exception")
695+
696+
# THEN we expect a "exception_name" to be "ValueError"
697+
handler({}, lambda_context)
698+
log = capture_logging_output(stdout)
699+
assert "ValueError" == log["exception_name"]
700+
701+
666702
def test_inject_lambda_context_allows_handler_with_kwargs(lambda_context, stdout, service_name):
667703
# GIVEN
668704
logger = Logger(service=service_name, stream=stdout)

0 commit comments

Comments
 (0)