mirror of
https://github.com/natelandau/obsidian-metadata.git
synced 2025-11-16 17:03:48 -05:00
feat: initial application release
This commit is contained in:
74
tests/conftest.py
Normal file
74
tests/conftest.py
Normal file
@@ -0,0 +1,74 @@
|
||||
# type: ignore
|
||||
"""Fixtures for tests."""
|
||||
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def remove_all(root: Path):
|
||||
"""Remove all files and directories in a directory."""
|
||||
for path in root.iterdir():
|
||||
if path.is_file():
|
||||
print(f"Deleting the file: {path}")
|
||||
path.unlink()
|
||||
else:
|
||||
remove_all(path)
|
||||
print(f"Deleting the empty dir: {root}")
|
||||
root.rmdir()
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def sample_note(tmp_path) -> Path:
|
||||
"""Fixture which creates a temporary note file."""
|
||||
source_file: Path = Path("tests/fixtures/test_vault/test1.md")
|
||||
if not source_file.exists():
|
||||
raise FileNotFoundError(f"Original file not found: {source_file}")
|
||||
|
||||
dest_file: Path = Path(tmp_path / source_file.name)
|
||||
shutil.copy(source_file, dest_file)
|
||||
yield dest_file
|
||||
|
||||
# after test - remove fixtures
|
||||
dest_file.unlink()
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def sample_vault(tmp_path) -> Path:
|
||||
"""Fixture which creates a sample vault."""
|
||||
source_dir = Path(__file__).parent / "fixtures" / "sample_vault"
|
||||
dest_dir = Path(tmp_path / "vault")
|
||||
backup_dir = Path(f"{dest_dir}.bak")
|
||||
|
||||
if not source_dir.exists():
|
||||
raise FileNotFoundError(f"Sample vault not found: {source_dir}")
|
||||
|
||||
shutil.copytree(source_dir, dest_dir)
|
||||
yield dest_dir
|
||||
|
||||
# after test - remove fixtures
|
||||
shutil.rmtree(dest_dir)
|
||||
|
||||
if backup_dir.exists():
|
||||
shutil.rmtree(backup_dir)
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def test_vault(tmp_path) -> Path:
|
||||
"""Fixture which creates a sample vault."""
|
||||
source_dir = Path(__file__).parent / "fixtures" / "test_vault"
|
||||
dest_dir = Path(tmp_path / "vault")
|
||||
backup_dir = Path(f"{dest_dir}.bak")
|
||||
|
||||
if not source_dir.exists():
|
||||
raise FileNotFoundError(f"Sample vault not found: {source_dir}")
|
||||
|
||||
shutil.copytree(source_dir, dest_dir)
|
||||
yield dest_dir
|
||||
|
||||
# after test - remove fixtures
|
||||
shutil.rmtree(dest_dir)
|
||||
|
||||
if backup_dir.exists():
|
||||
shutil.rmtree(backup_dir)
|
||||
Reference in New Issue
Block a user