Tests for rich logging, apply ruff formatting
This commit is contained in:
+64
-1
@@ -2,7 +2,7 @@ import logging
|
||||
|
||||
import pytest
|
||||
|
||||
from kanta.logging import configure_logging, log_change, transaction_logger
|
||||
from kanta.logging import configure_logging, log_change
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
@@ -46,3 +46,66 @@ def test_log_change_no_diff(capsys):
|
||||
log_change("test", {})
|
||||
captured = capsys.readouterr()
|
||||
assert "test" in captured.err
|
||||
|
||||
|
||||
def test_log_change_appends_extra_string(capsys):
|
||||
kanta_logger = logging.getLogger("kanta")
|
||||
kanta_logger.handlers.clear()
|
||||
configure_logging()
|
||||
log_change("export", {}, extra="mydb.db")
|
||||
captured = capsys.readouterr()
|
||||
assert "export" in captured.err
|
||||
assert "mydb.db" in captured.err
|
||||
|
||||
|
||||
def test_log_change_headerfmt_replaces_header(capsys):
|
||||
kanta_logger = logging.getLogger("kanta")
|
||||
kanta_logger.handlers.clear()
|
||||
configure_logging()
|
||||
log_change(
|
||||
"update",
|
||||
{},
|
||||
headerfmt=lambda action, user, extra: f"CUSTOM {action} {extra['id']}",
|
||||
extra={"id": 7},
|
||||
)
|
||||
captured = capsys.readouterr()
|
||||
assert "CUSTOM update 7" in captured.err
|
||||
|
||||
|
||||
def test_log_change_headerfmt_none_falls_back(capsys):
|
||||
kanta_logger = logging.getLogger("kanta")
|
||||
kanta_logger.handlers.clear()
|
||||
configure_logging()
|
||||
log_change("update", {}, user="alice", headerfmt=lambda *args: None)
|
||||
captured = capsys.readouterr()
|
||||
assert "update" in captured.err
|
||||
assert "alice" in captured.err
|
||||
|
||||
|
||||
def test_log_change_log_diff_false(capsys):
|
||||
kanta_logger = logging.getLogger("kanta")
|
||||
kanta_logger.handlers.clear()
|
||||
configure_logging()
|
||||
log_change("update", {"counter": 5}, previous={}, log_diff=False)
|
||||
captured = capsys.readouterr()
|
||||
assert "update" in captured.err
|
||||
assert "counter" not in captured.err
|
||||
|
||||
|
||||
def test_log_change_log_header_false(capsys):
|
||||
kanta_logger = logging.getLogger("kanta")
|
||||
kanta_logger.handlers.clear()
|
||||
configure_logging()
|
||||
log_change("update", {"counter": 5}, previous={}, log_header=False)
|
||||
captured = capsys.readouterr()
|
||||
assert "update" not in captured.err
|
||||
assert "counter" in captured.err
|
||||
|
||||
|
||||
def test_log_change_both_disabled_logs_nothing(capsys):
|
||||
kanta_logger = logging.getLogger("kanta")
|
||||
kanta_logger.handlers.clear()
|
||||
configure_logging()
|
||||
log_change("update", {"counter": 5}, previous={}, log_header=False, log_diff=False)
|
||||
captured = capsys.readouterr()
|
||||
assert captured.err == ""
|
||||
|
||||
Reference in New Issue
Block a user