Skip to content

Commit 08d14ef

Browse files
test: add unit tests for log.configure options
Add comprehensive unit tests for `enapter.log.configure` to verify that correct logging handlers, formatting, and levels are properly configured for different arguments (`level=None`, integer and string level names, and custom streams). Co-authored-by: rnovatorov <20299819+rnovatorov@users.noreply.github.com>
1 parent 4e14276 commit 08d14ef

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

tests/unit/test_log/test_init.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import io
2+
import logging
3+
4+
import enapter
5+
6+
7+
def test_configure_level_none():
8+
enapter.log.configure(level=None)
9+
assert len(enapter.log.LOGGER.handlers) == 1
10+
assert isinstance(enapter.log.LOGGER.handlers[0], logging.NullHandler)
11+
12+
13+
def test_configure_level_str():
14+
enapter.log.configure(level="DEBUG")
15+
assert enapter.log.LOGGER.level == logging.DEBUG
16+
assert len(enapter.log.LOGGER.handlers) == 1
17+
handler = enapter.log.LOGGER.handlers[0]
18+
assert isinstance(handler, logging.StreamHandler)
19+
assert isinstance(handler.formatter, enapter.log.JSONFormatter)
20+
21+
22+
def test_configure_level_int():
23+
enapter.log.configure(level=logging.INFO)
24+
assert enapter.log.LOGGER.level == logging.INFO
25+
assert len(enapter.log.LOGGER.handlers) == 1
26+
handler = enapter.log.LOGGER.handlers[0]
27+
assert isinstance(handler, logging.StreamHandler)
28+
assert isinstance(handler.formatter, enapter.log.JSONFormatter)
29+
30+
31+
def test_configure_custom_stream():
32+
stream = io.StringIO()
33+
enapter.log.configure(level=logging.INFO, stream=stream)
34+
assert len(enapter.log.LOGGER.handlers) == 1
35+
handler = enapter.log.LOGGER.handlers[0]
36+
assert isinstance(handler, logging.StreamHandler)
37+
assert handler.stream is stream

0 commit comments

Comments
 (0)