Skip to content

Commit

Permalink
test: use tmp factory
Browse files Browse the repository at this point in the history
  • Loading branch information
dfguerrerom committed Nov 19, 2023
1 parent d2fd914 commit dcdee33
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 22 deletions.
10 changes: 10 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
25 changes: 11 additions & 14 deletions tests/test_scripts/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand All @@ -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"
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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")

Expand Down
14 changes: 6 additions & 8 deletions tests/test_sepalwidgets/test_App.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit dcdee33

Please sign in to comment.