import logging import pytest from audience_common.logger.utils import get_extra_fields, get_status_code_log_level def test_get_extra_fields() -> None: record = logging.LogRecord( name="test", level=logging.INFO, pathname="test", lineno=100, msg="test", args=("a", "b"), exc_info=None, ) record.extra_field1 = "value1" record.extra_field2 = "value2" extra_fields = get_extra_fields(record) assert extra_fields == { "extra_field1": "value1", "extra_field2": "value2", } @pytest.mark.parametrize( "status_code, expected", [ (200, logging.INFO), (401, logging.WARNING), (500, logging.ERROR), ], ) def test_get_status_code_log_level(status_code: int, expected: int) -> None: log_level = get_status_code_log_level(status_code) assert log_level == expected