| import logging | |
| import os | |
| import shutil | |
| import tempfile | |
| from pathlib import Path | |
| from .common import get_cache_dir, set_cache_dir | |
| class BaseTestClass: | |
| """ | |
| A custom testing class that disables some of the more verbose | |
| logging and that creates and destroys a temp directory as a test fixture. | |
| """ | |
| PROJECT_ROOT = (Path(__file__).parent / "..").resolve() | |
| MODULE_ROOT = PROJECT_ROOT / "cached_path" | |
| TOOLS_ROOT = MODULE_ROOT / "tools" | |
| TESTS_ROOT = PROJECT_ROOT / "tests" | |
| FIXTURES_ROOT = PROJECT_ROOT / "test_fixtures" | |
| def setup_method(self): | |
| logging.basicConfig( | |
| format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", level=logging.DEBUG | |
| ) | |
| # Disabling some of the more verbose logging statements that typically aren't very helpful | |
| # in tests. | |
| logging.getLogger("urllib3.connectionpool").disabled = True | |
| self.TEST_DIR = Path(tempfile.mkdtemp(prefix="cached_path_tests")) | |
| os.makedirs(self.TEST_DIR, exist_ok=True) | |
| self._initial_cache_dir = get_cache_dir() | |
| set_cache_dir(self.TEST_DIR) | |
| def teardown_method(self): | |
| set_cache_dir(self._initial_cache_dir) | |
| shutil.rmtree(self.TEST_DIR) | |