Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions tests/unit/test_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
def test_version_length_equal_three() -> None:
"""Verifies standard version fetching returns a properly formatted string."""
version = get_version()
if version:
assert len(version.split(".")) >= 3
assert version is not None
assert version != ""
assert len(version.split(".")) >= 3


def test_get_version_is_none() -> None:
Expand All @@ -20,8 +21,8 @@ def test_get_version_is_none() -> None:
sys.modules,
{"pkg_resources": None, "importlib.metadata": None, "mailjet_rest": None},
):
with suppress(Exception):
get_version()
version = get_version()
assert version is None


def test_get_version() -> None:
Expand All @@ -30,16 +31,15 @@ def test_get_version() -> None:

def test_get_version_raises_exception() -> None:
"""Forces the version parser to hit its fallback exception blocks (ValueError, ImportError, etc.)."""
# By forcing a ValueError exception on the system path or modules, we hit lines 31-65.
# By forcing parser-related exceptions, verify get_version gracefully falls back.
with patch(
"mailjet_rest.utils.version.open",
side_effect=ValueError("Forced ValueError for coverage"),
):
with patch.dict(
sys.modules, {"pkg_resources": None, "importlib.metadata": None}
):
with suppress(Exception):
get_version()
assert get_version() is None

with patch(
"mailjet_rest.utils.version.open",
Expand All @@ -48,5 +48,4 @@ def test_get_version_raises_exception() -> None:
with patch.dict(
sys.modules, {"pkg_resources": None, "importlib.metadata": None}
):
with suppress(Exception):
get_version()
assert get_version() is None
Loading