5
5
import logging
6
6
import textwrap
7
7
from pathlib import Path
8
- from typing import Any , Callable , Iterable , List , Union
8
+ from typing import Any , Set
9
9
10
10
import pretend
11
11
import pytest
12
- from pip ._internal .req .req_file import ParsedRequirement
13
- from pytest import MonkeyPatch
14
12
15
13
from pip_check_reqs import common , find_extra_reqs
16
14
@@ -96,47 +94,28 @@ def test_main_no_spec(capsys: pytest.CaptureFixture[Any]) -> None:
96
94
97
95
98
96
@pytest .mark .parametrize (
99
- ["verbose_cfg" , "debug_cfg" , "result " ],
97
+ ["verbose_cfg" , "debug_cfg" , "expected_log_levels " ],
100
98
[
101
- (False , False , [ "warn" ] ),
102
- (True , False , [ "info" , "warn" ] ),
103
- (False , True , [ "debug" , "info" , "warn" ] ),
104
- (True , True , [ "debug" , "info" , "warn" ] ),
99
+ (False , False , { logging . WARNING } ),
100
+ (True , False , { logging . INFO , logging . WARNING } ),
101
+ (False , True , { logging . DEBUG , logging . INFO , logging . WARNING } ),
102
+ (True , True , { logging . DEBUG , logging . INFO , logging . WARNING } ),
105
103
],
106
104
)
107
105
def test_logging_config (
108
- monkeypatch : MonkeyPatch ,
109
106
caplog : pytest .LogCaptureFixture ,
110
107
verbose_cfg : bool ,
111
108
debug_cfg : bool ,
112
- result : List [ str ],
109
+ expected_log_levels : Set [ int ],
113
110
tmp_path : Path ,
114
111
) -> None :
115
112
source_dir = tmp_path / "source"
116
113
source_dir .mkdir ()
117
114
118
- def fake_find_extra_reqs (
119
- requirements_filename : str , # pylint: disable=unused-argument
120
- paths : Iterable [str ], # pylint: disable=unused-argument
121
- ignore_files_function : Callable [ # pylint: disable=unused-argument
122
- [str ], bool
123
- ],
124
- ignore_modules_function : Callable [ # pylint: disable=unused-argument
125
- [str ], bool
126
- ],
127
- ignore_requirements_function : Callable [ # noqa: E501 pylint: disable=unused-argument
128
- [Union [str , ParsedRequirement ]], bool
129
- ],
130
- skip_incompatible : bool , # pylint: disable=unused-argument
131
- ) -> List [str ]:
132
- return []
133
-
134
- monkeypatch .setattr (
135
- find_extra_reqs ,
136
- "find_extra_reqs" ,
137
- fake_find_extra_reqs ,
138
- )
139
- arguments = [str (source_dir )]
115
+ requirements_file = tmp_path / "requirements.txt"
116
+ requirements_file .touch ()
117
+
118
+ arguments = [str (source_dir ), "--requirements" , str (requirements_file )]
140
119
if verbose_cfg :
141
120
arguments .append ("--verbose" )
142
121
if debug_cfg :
@@ -151,12 +130,8 @@ def fake_find_extra_reqs(
151
130
]:
152
131
find_extra_reqs .log .log (* event )
153
132
154
- messages = [r .message for r in caplog .records ]
155
- # first message is always the usage message
156
- if verbose_cfg or debug_cfg :
157
- assert messages [1 :] == result
158
- else :
159
- assert messages == result
133
+ log_levels = {r .levelno for r in caplog .records }
134
+ assert log_levels == expected_log_levels
160
135
161
136
162
137
def test_main_version (capsys : pytest .CaptureFixture [Any ]) -> None :
0 commit comments