diff --git a/tests/conftest.py b/tests/conftest.py index fb099ea0..3cb27c85 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -374,3 +374,13 @@ def cred() -> list: credentials = json.loads(os.getenv("PLANET_API_CREDENTIALS")) return list(credentials.values()) + + +@pytest.fixture(scope="session") +def repo_dir(tmp_path_factory: pytest.TempPathFactory) -> Path: + """Create a dummy repo directory. + + Returns: + Path to the repo dir + """ + return tmp_path_factory.mktemp("repo_dir") diff --git a/tests/test_scripts/test_utils.py b/tests/test_scripts/test_utils.py index 43630ce4..090899ab 100644 --- a/tests/test_scripts/test_utils.py +++ b/tests/test_scripts/test_utils.py @@ -275,9 +275,9 @@ def test_check_input() -> None: return -def test_get_app_version(tmp_dir): +def test_get_app_version(repo_dir): """Test if the function gets the pyproject version.""" - dummy_repo = tmp_dir / "dummy_repo" + dummy_repo = repo_dir / "dummy_repo" dummy_repo.mkdir(exist_ok=True, parents=True) pyproject_file = dummy_repo / "pyproject.toml" @@ -297,13 +297,13 @@ def test_get_app_version(tmp_dir): assert version is None -def test_get_repo_info(tmp_dir): +def test_get_repo_info(repo_dir): """Test if the function returns repo_owner and repo_name correctly.""" # test the function with a known repository URL # Create a temporary .git folder inside the temporary directory - # tmp_dir = Path("delete_mi") - git_folder = tmp_dir / ".git" + # repo_dir = Path("delete_mi") + git_folder = repo_dir / ".git" git_folder.mkdir(exist_ok=True, parents=True) expected_owner = "12rambau" @@ -317,7 +317,7 @@ def test_get_repo_info(tmp_dir): with open(git_folder / "config", "w") as f: config.write(f) - repo_owner, repo_name = su.get_repo_info(repo_folder=tmp_dir) + repo_owner, repo_name = su.get_repo_info(repo_folder=repo_dir) assert repo_owner == expected_owner assert repo_name == expected_repo @@ -330,7 +330,7 @@ def test_get_repo_info(tmp_dir): with open(git_folder / "config", "w") as f: config.write(f) - repo_owner, repo_name = su.get_repo_info(repo_folder=tmp_dir) + repo_owner, repo_name = su.get_repo_info(repo_folder=repo_dir) assert repo_owner == expected_owner assert repo_name == expected_repo @@ -340,25 +340,22 @@ def test_get_repo_info(tmp_dir): with open(git_folder / "config", "w") as f: config.write(f) - repo_info = su.get_repo_info(repo_folder=tmp_dir) + repo_info = su.get_repo_info(repo_folder=repo_dir) assert repo_info == ("", "") -def test_get_changelog(tmp_dir): +def test_get_changelog(repo_dir): """Test if the function returns the changelog correctly.""" # Create a dummy directory with a changelog file - dummy_repo = tmp_dir / "dummy_repo" - dummy_repo.mkdir(exist_ok=True, parents=True) - # Create a dummy changelog file and write some text in it - changelog_file = dummy_repo / "CHANGELOG.md" + changelog_file = repo_dir / "CHANGELOG.md" changelog_file.touch() changelog_file.write_text("# Changelog") # Test the function - changelog = su.get_changelog(repo_folder=dummy_repo) + changelog = su.get_changelog(repo_folder=repo_dir) assert changelog == ("", "# Changelog") diff --git a/tests/test_sepalwidgets/test_App.py b/tests/test_sepalwidgets/test_App.py index 28581c9e..6a517e67 100644 --- a/tests/test_sepalwidgets/test_App.py +++ b/tests/test_sepalwidgets/test_App.py @@ -134,35 +134,33 @@ def test_close_banner(app: sw.App) -> None: return -def test_version_card(tmp_dir) -> None: +def test_version_card(repo_dir) -> None: """Test the drawer of the app.""" # arrange app_version = "999.999.1" changelog_text = "# Changelog" - dummy_repo = tmp_dir / "dummy_repo" - dummy_repo.mkdir(exist_ok=True, parents=True) # Change current working directory to dummy repo - os.chdir(dummy_repo) + os.chdir(repo_dir) # Check that if there is no pyproject.toml file, the version card is not present - navigation_drawer = sw.NavDrawer([], repo_folder=dummy_repo) + navigation_drawer = sw.NavDrawer([], repo_folder=repo_dir) assert navigation_drawer.v_slots == [] # Create a pyproject.toml file and a changelog - pyproject_file = dummy_repo / "pyproject.toml" + pyproject_file = repo_dir / "pyproject.toml" # create a temporary pyproject.toml file with open(pyproject_file, "w") as f: f.write(f"[project]\nversion = '{app_version}'") # Create a dummy changelog file and write some text in it - changelog_file = dummy_repo / "CHANGELOG.md" + changelog_file = repo_dir / "CHANGELOG.md" changelog_file.touch() changelog_file.write_text(f"{changelog_text}") - navigation_drawer = sw.NavDrawer([], repo_folder=dummy_repo) + navigation_drawer = sw.NavDrawer([], repo_folder=repo_dir) # Check if the version card is present