|
1 | 1 | """Tests of querying tools."""
|
2 | 2 |
|
3 |
| -import contextlib |
4 | 3 | import importlib
|
5 |
| -import io |
6 | 4 | import logging
|
7 | 5 | import os
|
8 | 6 | import pathlib
|
9 | 7 | import sys
|
10 | 8 | import tempfile
|
11 | 9 | import unittest
|
12 |
| -import unittest.mock |
13 | 10 |
|
14 | 11 | from boilerplates.packaging_tests import run_module
|
15 | 12 |
|
16 |
| -from version_query.version import VersionComponent, Version |
| 13 | +from version_query.version import Version |
17 | 14 | from version_query.git_query import query_git_repo, predict_git_repo
|
18 | 15 | from version_query.py_query import query_metadata_json, query_pkg_info, query_package_folder
|
19 |
| -from version_query.query import \ |
20 |
| - query_folder, query_caller, query_version_str, predict_caller, predict_version_str |
| 16 | +from version_query.query import query_folder, query_caller |
21 | 17 | from .examples import \
|
22 | 18 | PY_LIB_DIR, GIT_REPO_EXAMPLES, METADATA_JSON_EXAMPLE_PATHS, PKG_INFO_EXAMPLE_PATHS, \
|
23 | 19 | PACKAGE_FOLDER_EXAMPLES
|
| 20 | +from .test_cli import preserve_logger_level |
24 | 21 |
|
25 | 22 | _LOG = logging.getLogger(__name__)
|
26 | 23 |
|
27 | 24 | IGNORED_FOLDER_NAMES = ['opencv']
|
28 | 25 |
|
29 | 26 |
|
30 |
| -@contextlib.contextmanager |
31 |
| -def temporarily_set_logger_level(logger_name: str, level: int): |
32 |
| - """Change logger level on enter and restore on exit of this context.""" |
33 |
| - logger = logging.getLogger(logger_name) |
34 |
| - level_ = logger.level |
35 |
| - logger.setLevel(level) |
36 |
| - try: |
37 |
| - yield |
38 |
| - finally: |
39 |
| - logger.setLevel(level_) |
40 |
| - |
41 |
| - |
42 |
| -def preserve_logger_level(logger_name: str): |
43 |
| - return temporarily_set_logger_level(logger_name, logging.getLogger(logger_name).level) |
44 |
| - |
45 |
| - |
46 | 27 | class Tests(unittest.TestCase):
|
47 | 28 |
|
48 | 29 | def _check_examples_count(self, description, examples):
|
@@ -164,47 +145,3 @@ def test_query_caller(self):
|
164 | 145 | version = query_caller()
|
165 | 146 | _LOG.debug('caller: %s', version)
|
166 | 147 | self.assertIsInstance(version, Version)
|
167 |
| - |
168 |
| - def test_not_as_main(self): # pylint: disable = no-self-use |
169 |
| - run_module('version_query', run_name=None) |
170 |
| - |
171 |
| - def test_help(self): |
172 |
| - sio = io.StringIO() |
173 |
| - with contextlib.redirect_stderr(sio): |
174 |
| - with preserve_logger_level('version_query'): |
175 |
| - with self.assertRaises(SystemExit): |
176 |
| - run_module('version_query') |
177 |
| - _LOG.info('%s', sio.getvalue()) |
178 |
| - |
179 |
| - def test_bad_usage(self): |
180 |
| - sio = io.StringIO() |
181 |
| - with contextlib.redirect_stderr(sio): |
182 |
| - with preserve_logger_level('version_query'): |
183 |
| - with self.assertRaises(ValueError): |
184 |
| - run_module('version_query', '-p', '-i', '.') |
185 |
| - _LOG.info('%s', sio.getvalue()) |
186 |
| - |
187 |
| - def test_here(self): |
188 |
| - with temporarily_set_logger_level('version_query', logging.ERROR): |
189 |
| - sio = io.StringIO() |
190 |
| - with contextlib.redirect_stdout(sio): |
191 |
| - run_module('version_query', '.') |
192 |
| - self.assertEqual(sio.getvalue().rstrip(), query_caller().to_str()) |
193 |
| - self.assertEqual(sio.getvalue().rstrip(), query_version_str()) |
194 |
| - |
195 |
| - def test_increment_here(self): |
196 |
| - with temporarily_set_logger_level('version_query', logging.ERROR): |
197 |
| - sio = io.StringIO() |
198 |
| - with contextlib.redirect_stdout(sio): |
199 |
| - with preserve_logger_level('version_query'): |
200 |
| - run_module('version_query', '-i', '.') |
201 |
| - self.assertEqual(sio.getvalue().rstrip(), |
202 |
| - query_caller().increment(VersionComponent.Patch).to_str()) |
203 |
| - |
204 |
| - def test_predict_here(self): |
205 |
| - with temporarily_set_logger_level('version_query', logging.ERROR): |
206 |
| - sio = io.StringIO() |
207 |
| - with contextlib.redirect_stdout(sio): |
208 |
| - run_module('version_query', '-p', '.') |
209 |
| - self.assertEqual(sio.getvalue().rstrip(), predict_caller().to_str()) |
210 |
| - self.assertEqual(sio.getvalue().rstrip(), predict_version_str()) |
0 commit comments