42 lines
873 B
Python
42 lines
873 B
Python
import uuid
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from forge.file_storage.base import FileStorage, FileStorageConfiguration
|
|
from forge.file_storage.local import LocalFileStorage
|
|
|
|
pytest_plugins = [
|
|
"tests.vcr",
|
|
]
|
|
|
|
|
|
@pytest.fixture(scope="session", autouse=True)
|
|
def load_env_vars():
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
|
|
@pytest.fixture()
|
|
def tmp_project_root(tmp_path: Path) -> Path:
|
|
return tmp_path
|
|
|
|
|
|
@pytest.fixture()
|
|
def app_data_dir(tmp_project_root: Path) -> Path:
|
|
dir = tmp_project_root / "data"
|
|
dir.mkdir(parents=True, exist_ok=True)
|
|
return dir
|
|
|
|
|
|
@pytest.fixture()
|
|
def storage(app_data_dir: Path) -> FileStorage:
|
|
storage = LocalFileStorage(
|
|
FileStorageConfiguration(
|
|
root=Path(f"{app_data_dir}/{str(uuid.uuid4())}"), restrict_to_root=False
|
|
)
|
|
)
|
|
storage.initialize()
|
|
return storage
|