import logging import pytest from owslib.logger.utils import ( format_timestamp, 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, ) setattr(record, "extra_field1", "value1") setattr(record, "extra_field2", "value2") extra_fields = get_extra_fields(record) assert extra_fields == { "extra_field1": "value1", "extra_field2": "value2", } def test_format_timestamp() -> None: timestamp = format_timestamp(1654498151.512488) assert timestamp == "2022-06-06T06:49:11.512Z" @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