start testing get_files

This commit is contained in:
Dima Gerasimov 2020-05-03 16:17:48 +01:00
parent 19e90eb647
commit 5c6eec62ee
2 changed files with 46 additions and 1 deletions

View file

@ -107,7 +107,7 @@ from .kython.klogging import setup_logger, LazyLogger
Paths = Union[Sequence[PathIsh], PathIsh]
def get_files(pp: Paths, glob: str, sort: bool=True) -> Tuple[Path, ...]:
def get_files(pp: Paths, glob: str='*', sort: bool=True) -> Tuple[Path, ...]:
"""
Helper function to avoid boilerplate.

45
tests/common.py Normal file
View file

@ -0,0 +1,45 @@
from pathlib import Path
from my.common import get_files
import pytest # type: ignore
def test_single_file():
'''
Regular file path is just returned as is.
'''
"Exception if it doesn't exist"
with pytest.raises(Exception):
get_files('/tmp/hpi_test/file.ext')
create('/tmp/hpi_test/file.ext')
'''
Couple of things:
1. Return type is a tuple, it's friendlier for hashing/caching
2. It always return pathlib.Path instead of plain strings
'''
assert get_files('/tmp/hpi_test/file.ext') == (
Path('/tmp/hpi_test/file.ext'),
)
test_path = Path('/tmp/hpi_test')
def setup():
teardown()
test_path.mkdir()
def teardown():
import shutil
if test_path.is_dir():
shutil.rmtree(test_path)
from my.common import PathIsh
def create(f: PathIsh) -> None:
Path(f).touch()