Skip to content

Commit

Permalink
fix: move version cheker out of server class
Browse files Browse the repository at this point in the history
  • Loading branch information
builder555 committed Jan 25, 2024
1 parent b13591d commit 005c383
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
31 changes: 30 additions & 1 deletion backend/test_version_checker.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pytest
from version_checker import VersionChecker
from version_checker import VersionChecker, is_semver_greater
from unittest.mock import MagicMock, mock_open


Expand Down Expand Up @@ -53,3 +53,32 @@ def test_get_latest_version_with_bad_api_response_returns_file_version(
def test_get_latest_version_with_api_url(mock_api_response):
vc = VersionChecker(api_url="http://api.url")
assert vc.get_latest_version() == "2.0.0"


def test_versions_higher():
assert is_semver_greater("1.0.0", "0.0.0") == True
assert is_semver_greater("0.1.0", "0.0.0") == True
assert is_semver_greater("0.0.1", "0.0.0") == True
assert is_semver_greater("0.2.0", "0.0.9") == True
assert is_semver_greater("0.0.10", "0.0.9") == True
assert is_semver_greater("1.0.0", "0.99.99") == True
assert is_semver_greater("1.12.0", "1.11.9") == True


def test_versions_lower():
assert is_semver_greater("0.2.0", "1.0.0") == False
assert is_semver_greater("0.0.9", "0.1.0") == False
assert is_semver_greater("0.0.9", "0.0.10") == False
assert is_semver_greater("1.11.9", "1.12.0") == False
assert is_semver_greater("1.11.9", "1.11.10") == False
assert is_semver_greater("0.99.99", "1.0.0") == False


def test_versions_equal():
assert is_semver_greater("0.0.0", "0.0.0") == False
assert is_semver_greater("1.0.0", "1.0.0") == False
assert is_semver_greater("0.1.0", "0.1.0") == False
assert is_semver_greater("0.0.1", "0.0.1") == False
assert is_semver_greater("0.2.0", "0.2.0") == False
assert is_semver_greater("0.0.10", "0.0.10") == False
assert is_semver_greater("1.12.3", "1.12.3") == False
5 changes: 5 additions & 0 deletions backend/version_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,8 @@ def read_version(self):
def get_latest_version(self):
response = requests.get(self.api_url).json()
return response.get("tag_name", self.read_version()).strip("v")

def is_semver_greater(v1, v2):
v1 = list(map(int, v1.split(".")))
v2 = list(map(int, v2.split(".")))
return v1 > v2

0 comments on commit 005c383

Please sign in to comment.