11"""Tests of querying tools."""
22
3- import contextlib
43import importlib
5- import io
64import logging
75import os
86import pathlib
97import sys
108import tempfile
119import unittest
12- import unittest .mock
1310
1411from boilerplates .packaging_tests import run_module
1512
16- from version_query .version import VersionComponent , Version
13+ from version_query .version import Version
1714from version_query .git_query import query_git_repo , predict_git_repo
1815from 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
2117from .examples import \
2218 PY_LIB_DIR , GIT_REPO_EXAMPLES , METADATA_JSON_EXAMPLE_PATHS , PKG_INFO_EXAMPLE_PATHS , \
2319 PACKAGE_FOLDER_EXAMPLES
20+ from .test_cli import preserve_logger_level
2421
2522_LOG = logging .getLogger (__name__ )
2623
27- IGNORED_FOLDER_NAMES = ['opencv' ]
28-
29-
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-
4524
4625class Tests (unittest .TestCase ):
4726
@@ -63,8 +42,6 @@ def test_example_count_checking(self):
6342
6443 def _query_test_case (self , paths , query_function ):
6544 for path in paths :
66- if any (_ in path .parts for _ in IGNORED_FOLDER_NAMES ) or not path .exists ():
67- continue
6845 with self .subTest (path = path , query_function = query_function ):
6946 _LOG .debug ('testing %s() on %s' , query_function .__name__ , path )
7047 try :
@@ -164,46 +141,3 @@ def test_query_caller(self):
164141 version = query_caller ()
165142 _LOG .debug ('caller: %s' , version )
166143 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 .INFO ):
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- sio = io .StringIO ()
197- with contextlib .redirect_stdout (sio ):
198- with preserve_logger_level ('version_query' ):
199- run_module ('version_query' , '-i' , '.' )
200- self .assertEqual (sio .getvalue ().rstrip (),
201- query_caller ().increment (VersionComponent .Patch ).to_str ())
202-
203- def test_predict_here (self ):
204- with temporarily_set_logger_level ('version_query' , logging .INFO ):
205- sio = io .StringIO ()
206- with contextlib .redirect_stdout (sio ):
207- run_module ('version_query' , '-p' , '.' )
208- self .assertEqual (sio .getvalue ().rstrip (), predict_caller ().to_str ())
209- self .assertEqual (sio .getvalue ().rstrip (), predict_version_str ())
0 commit comments