47 lines
993 B
Python
47 lines
993 B
Python
|
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"]
|