feat(api): add version comparison logic (#8902)
parent
369e1e6f58
commit
3af65b2f45
@ -0,0 +1,38 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
from controllers.console.version import _has_new_version
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
("latest_version", "current_version", "expected"),
|
||||||
|
[
|
||||||
|
("1.0.1", "1.0.0", True),
|
||||||
|
("1.1.0", "1.0.0", True),
|
||||||
|
("2.0.0", "1.9.9", True),
|
||||||
|
("1.0.0", "1.0.0", False),
|
||||||
|
("1.0.0", "1.0.1", False),
|
||||||
|
("1.0.0", "2.0.0", False),
|
||||||
|
("1.0.1", "1.0.0-beta", True),
|
||||||
|
("1.0.0", "1.0.0-alpha", True),
|
||||||
|
("1.0.0-beta", "1.0.0-alpha", True),
|
||||||
|
("1.0.0", "1.0.0-rc1", True),
|
||||||
|
("1.0.0", "0.9.9", True),
|
||||||
|
("1.0.0", "1.0.0-dev", True),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_has_new_version(latest_version, current_version, expected):
|
||||||
|
assert _has_new_version(latest_version=latest_version, current_version=current_version) == expected
|
||||||
|
|
||||||
|
|
||||||
|
def test_has_new_version_invalid_input():
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
_has_new_version(latest_version="1.0", current_version="1.0.0")
|
||||||
|
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
_has_new_version(latest_version="1.0.0", current_version="1.0")
|
||||||
|
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
_has_new_version(latest_version="invalid", current_version="1.0.0")
|
||||||
|
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
_has_new_version(latest_version="1.0.0", current_version="invalid")
|
||||||
Loading…
Reference in New Issue