Skip to content

Commit 571c88e

Browse files
committed
Add test cases
1 parent fdbf0d7 commit 571c88e

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

tests/test_formatters.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,6 +616,55 @@ def custom_default(obj):
616616
return
617617

618618

619+
@pytest.mark.parametrize("class_", ALL_FORMATTERS)
620+
def test_exc_info_as_array(env: LoggingEnvironment, class_: type[BaseJsonFormatter]):
621+
env.set_formatter(class_(exc_info_as_array=True))
622+
623+
try:
624+
raise Exception("Error")
625+
except BaseException:
626+
env.logger.exception("Error occurs")
627+
log_json = env.load_json()
628+
629+
assert type(log_json["exc_info"]) is list
630+
return
631+
632+
633+
@pytest.mark.parametrize("class_", ALL_FORMATTERS)
634+
def test_exc_info_as_array_no_exc_info(env: LoggingEnvironment, class_: type[BaseJsonFormatter]):
635+
env.set_formatter(class_(exc_info_as_array=True))
636+
637+
env.logger.info("hello")
638+
log_json = env.load_json()
639+
640+
assert log_json.get("exc_info") is None
641+
return
642+
643+
644+
@pytest.mark.parametrize("class_", ALL_FORMATTERS)
645+
def test_stack_info_as_array(env: LoggingEnvironment, class_: type[BaseJsonFormatter]):
646+
env.set_formatter(class_(stack_info_as_array=True))
647+
648+
env.logger.info("hello", stack_info=True)
649+
log_json = env.load_json()
650+
651+
assert type(log_json["stack_info"]) is list
652+
return
653+
654+
655+
@pytest.mark.parametrize("class_", ALL_FORMATTERS)
656+
def test_stack_info_as_array_no_stack_info(
657+
env: LoggingEnvironment, class_: type[BaseJsonFormatter]
658+
):
659+
env.set_formatter(class_(stack_info_as_array=True))
660+
661+
env.logger.info("hello", stack_info=False)
662+
log_json = env.load_json()
663+
664+
assert log_json.get("stack_info") is None
665+
return
666+
667+
619668
## JsonFormatter Specific
620669
## -----------------------------------------------------------------------------
621670
def test_json_ensure_ascii_true(env: LoggingEnvironment):

0 commit comments

Comments
 (0)