๐Ÿ“ฆ ftnext / happy-python-logging

๐Ÿ“„ test_core.py ยท 36 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36import ast
from unittest.mock import ANY

from happy_python_logging.lint.core import ConfigureRootLoggerChecker


class TestConfigureRootLoggerChecker:
    class TestHPL101:
        def test_import(self):
            code = """\
import logging

def awesome():
    logging.basicConfig(level=logging.DEBUG)
"""
            checker = ConfigureRootLoggerChecker()
            checker.visit(ast.parse(code))

            assert len(checker.errors) == 1
            assert checker.errors[0] == (4, 4, ANY)
            assert checker.errors[0][2].startswith("HPL101")

        def test_import_as(self):
            code = """\
import logging as log

def awesome():
    log.basicConfig(level=logging.DEBUG)
"""
            checker = ConfigureRootLoggerChecker()
            checker.visit(ast.parse(code))

            assert len(checker.errors) == 1
            assert checker.errors[0] == (4, 4, ANY)
            assert checker.errors[0][2].startswith("HPL101")