import os import shutil from pathlib import Path import pytest from pytest_abra.coordinator import Coordinator from pytest_abra.dir_manager import DirManager def test_load_test_credentials(tmp_path: Path): assert "TEST_USER" not in os.environ DIR = DirManager(output_dir=tmp_path, session_id="abc") DIR.create_all_dirs() Coordinator.load_test_credentials(DIR) assert (DIR.STATES / "credentials_test.json").is_file() assert "TEST_USER" in os.environ test_user_before = os.environ["TEST_USER"] # os.environ.clear() # this breaks pytest! del os.environ["TEST_USER"] assert "TEST_USER" not in os.environ Coordinator.load_test_credentials(DIR) assert test_user_before == os.environ["TEST_USER"] @pytest.fixture(scope="session") def tmp_recipes(tmp_path_factory: pytest.TempPathFactory) -> Path: tmp_recipes_target = tmp_path_factory.mktemp("recipes") recipes_dir_source = Path("recipes") shutil.copytree(recipes_dir_source, tmp_recipes_target, dirs_exist_ok=True) return tmp_recipes_target def test_runner_runner_dict_import(tmp_recipes: Path): """import from recipes dict should work, because create_runner_dict has sys.path.append""" RUNNER_DICT = Coordinator.create_runner_dict(tmp_recipes) assert len(RUNNER_DICT.keys()) > 0