import shutil from pathlib import Path import pytest from dashboard.libs.repository.fs_repository import FSRepository EXAMPLE_DIR = "./tests/repository/fs_examples/" @pytest.fixture def location(tmp_path): loc = tmp_path username_loc = loc / "username" username_loc.mkdir() salary_loc = loc / "salary" salary_loc.mkdir() example_src = Path(EXAMPLE_DIR) for f in example_src.glob("*"): if "username" in str(f): shutil.copy(f, username_loc) else: shutil.copy(f, salary_loc) return loc def test_init(location): repo = FSRepository("example", location) assert repo.ls() == [ "username", "salary", ] assert repo.schemas() == [ ".", "username", "salary", ] assert repo.tables() == [] assert repo.tables("username") == [ "username.csv", "username-password-recovery-code.xlsx", ] assert repo.tables("salary") == ["salary.pdf"]