summaryrefslogtreecommitdiff
path: root/tests/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py169
1 files changed, 0 insertions, 169 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
deleted file mode 100644
index 75b79c2..0000000
--- a/tests/test_utils.py
+++ /dev/null
@@ -1,169 +0,0 @@
-import pytest
-from pytest import LogCaptureFixture
-from pathlib import Path
-from logging import INFO
-from pyssg.utils import (get_expanded_path, get_checksum, copy_file, create_dir,
- get_dir_structure, get_file_list)
-
-
-# $PYSSG_HOME is the only env var set
-# in the project settings that resemble a path
-@pytest.mark.parametrize('path, expected_expanded', [
- ('$PYSSG_HOME', '/tmp/pyssg'),
- ('$PYSSG_HOME/', '/tmp/pyssg'),
- ('/test$PYSSG_HOME/', '/test/tmp/pyssg'),
- ('/test/$PYSSG_HOME/', '/test/tmp/pyssg'),
- ('/test/$PYSSG_HOME/test', '/test/tmp/pyssg/test')
-])
-def test_path_expansion(path: str, expected_expanded: str) -> None:
- expanded: str = get_expanded_path(path)
- assert expanded == expected_expanded
-
-
-@pytest.mark.parametrize('path', [
- ('$'),
- ('$NON_EXISTENT_VARIABLE'),
- ('/path/to/something/$'),
- ('/path/to/something/$NON_EXISTENT_VARIABLE')
-])
-def test_path_expansion_failure(path: str) -> None:
- with pytest.raises(SystemExit) as system_exit:
- get_expanded_path(path)
- assert system_exit.type == SystemExit
- assert system_exit.value.code == 1
-
-
-def test_checksum(sample_files_path: str) -> None:
- path: str = f'{sample_files_path}/checksum.txt'
- simple_yaml_checksum: str = '437b5a0e20d32fc14944c1c00d066303'
- checksum: str = get_checksum(path)
- assert checksum == simple_yaml_checksum
-
-
-# TODO: actually check the existence of the files and not just the log
-def test_copy_file(tmp_path: Path, caplog: LogCaptureFixture) -> None:
- src: Path = tmp_path/'src'
- dst: Path = tmp_path/'dst'
- src.mkdir()
- dst.mkdir()
- src_file: Path = src/'tmp_file.txt'
- dst_file: Path = dst/'tmp_file.txt'
- src_file.write_text('something')
- inf: tuple[str, int, str] = ('pyssg.utils',
- INFO,
- f'copied file "{src_file}" to "{dst_file}"')
- copy_file(str(src_file), str(dst_file))
- assert caplog.record_tuples[-1] == inf
-
-
-# TODO: actually check the existence of the files and not just the log
-def test_copy_file_already_exists(tmp_path: Path,
- caplog: LogCaptureFixture) -> None:
- src: Path = tmp_path/'src'
- dst: Path = tmp_path/'dst'
- src.mkdir()
- dst.mkdir()
- src_file: Path = src/'tmp_file.txt'
- dst_file: Path = dst/'tmp_file.txt'
- src_file.write_text('something')
- dst_file.write_text('something')
- inf: tuple[str, int, str] = ('pyssg.utils',
- INFO,
- f'file "{dst_file}" already exists, ignoring')
- copy_file(str(src_file), str(dst_file))
- assert caplog.record_tuples[-1] == inf
-
-
-def test_create_dir(tmp_path: Path, caplog: LogCaptureFixture) -> None:
- path: Path = tmp_path/'new_dir'
- inf: tuple[str, int, str] = ('pyssg.utils',
- INFO,
- f'created directory "{path}"')
- assert path.exists() is False
- create_dir(str(path), False, False)
- assert path.exists() is True
- assert caplog.record_tuples[-1] == inf
-
-
-# TODO: actually check the existence of the files and not just the log
-def test_create_dir_already_exists(tmp_path: Path,
- caplog: LogCaptureFixture) -> None:
- path: Path = tmp_path/'new_dir'
- inf: tuple[str, int, str] = ('pyssg.utils',
- INFO,
- f'directory "{path}" exists, ignoring')
- path.mkdir()
- create_dir(str(path), False, False)
- assert caplog.record_tuples[-1] == inf
-
-
-def test_create_dirs(tmp_path: Path, caplog: LogCaptureFixture) -> None:
- path: Path = tmp_path/'new_dir'
- sub_path: Path = path/'sub_dir'
- inf: tuple[str, int, str] = ('pyssg.utils',
- INFO,
- f'created directory "{sub_path}"')
- assert path.exists() is False
- assert sub_path.exists() is False
- create_dir(str(sub_path), True, False)
- assert path.exists() is True
- assert sub_path.exists() is True
- assert caplog.record_tuples[-1] == inf
-
-
-# TODO: actually check the existence of the files and not just the log
-def test_create_dirs_already_exists(tmp_path: Path,
- caplog: LogCaptureFixture) -> None:
- path: Path = tmp_path/'new_dir'
- sub_path: Path = path/'sub_dir'
- inf: tuple[str, int, str] = ('pyssg.utils',
- INFO,
- f'directory "{sub_path}" exists, ignoring')
- path.mkdir()
- sub_path.mkdir()
- create_dir(str(sub_path), True, False)
- assert caplog.record_tuples[-1] == inf
-
-
-@pytest.mark.parametrize('exclude, exp_dir_str', [
- ([], ['second/s1', 'first/f1/f2']),
- (['f2'], ['second/s1', 'first/f1']),
- (['f1'], ['second/s1', 'first']),
- (['second'], ['first/f1/f2']),
- (['s1', 'f2'], ['second', 'first/f1']),
- (['s1', 'f1'], ['second', 'first']),
- (['s1', 'first'], ['second'])
-])
-def test_dir_structure(tmp_dir_structure: Path,
- exclude: list[str],
- exp_dir_str: list[str]) -> None:
- dir_str: list[str] = get_dir_structure(str(tmp_dir_structure), exclude)
- # order doesn't matter, only for checking that both lists contain the same
- assert sorted(dir_str) == sorted(exp_dir_str)
-
-
-@pytest.mark.parametrize('exts, exclude_dirs, exp_flist', [
- (('txt',), [], ['f0.txt', 'second/f4.txt',
- 'second/s1/f5.txt', 'first/f1.txt',
- 'first/f1/f2.txt', 'first/f1/f2/f3.txt']),
- (('txt', 'html'), [], ['f0.html', 'f0.txt',
- 'second/f4.txt', 'second/f4.html',
- 'second/s1/f5.html', 'second/s1/f5.txt',
- 'first/f1.html', 'first/f1.txt',
- 'first/f1/f2.txt', 'first/f1/f2.html',
- 'first/f1/f2/f3.txt', 'first/f1/f2/f3.html']),
- (('md',), [], ['f0.md', 'second/f4.md',
- 'second/s1/f5.md', 'first/f1.md',
- 'first/f1/f2.md', 'first/f1/f2/f3.md']),
- (('md',), ['first'], ['f0.md', 'second/f4.md', 'second/s1/f5.md']),
- (('md',), ['first', 's1'], ['f0.md', 'second/f4.md']),
- (('md',), ['f2', 's1'], ['f0.md', 'second/f4.md',
- 'first/f1.md', 'first/f1/f2.md',])
-])
-def test_file_list(tmp_dir_structure: Path,
- exts: tuple[str],
- exclude_dirs: list[str],
- exp_flist: list[str]) -> None:
- flist: list[str] = get_file_list(str(tmp_dir_structure), exts, exclude_dirs)
- # order doesn't matter, only for checking that both lists contain the same
- assert sorted(flist) == sorted(exp_flist)