diff --git a/.gitignore b/.gitignore index ff042a9d3..f5550113a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ pyinstaller/release-linux pyinstaller/release-win pyinstaller/version.txt pyinstaller/electron/version-data.json +pyinstaller/electron/downloadloc.js pyinstaller/electron/node_modules pyinstaller/electron/dist .DS_Store diff --git a/pyinstaller/electron/downloadloc.js b/pyinstaller/electron/downloadloc.js index d587819ca..b4e55875b 100644 --- a/pyinstaller/electron/downloadloc.js +++ b/pyinstaller/electron/downloadloc.js @@ -1,6 +1,6 @@ function getDownloadLocation(version, platformname) { - return `http://specterext.bitcoinops.de/user/k9ert/dice/releases/download/${version}/diced-${version}-${platformname}.zip` + return `https://github.com/cryptoadvance/specter-desktop/releases/download/${version}/specterd-${version}-${platformname}.zip` } function appName() { diff --git a/src/cryptoadvance/specter/util/version.py b/src/cryptoadvance/specter/util/version.py index cf0570a42..a4890b35a 100644 --- a/src/cryptoadvance/specter/util/version.py +++ b/src/cryptoadvance/specter/util/version.py @@ -78,7 +78,7 @@ class VersionChecker: logger.warning( "We're checking here for a different binary than specter-desktop. We're hopefully in a pytest" ) - latest = VersionChecker._get_latest_version_from_github(self.specter) + latest = VersionChecker._get_latest_version_from_github() return current, latest def _get_pip_version(self): @@ -136,19 +136,19 @@ class VersionChecker: self.stop() return current, latest, False - @classmethod - def _get_latest_version_from_github(cls, specter): + def _get_latest_version_from_github(self): try: - if specter: - requests_session = specter.requests_session(force_tor=False) + if self.specter: + requests_session = self.specter.requests_session(force_tor=False) else: requests_session = requests.Session() - + print(requests_session.get().json()) releases = ( requests_session.get(f"https://pypi.org/pypi/{self.name}/json") .json()["releases"] .keys() ) + latest = list(releases)[-1] except Exception as e: logger.exception(e) diff --git a/tests/test_util_version.py b/tests/test_util_version.py index d52f7f09f..efdb62acd 100644 --- a/tests/test_util_version.py +++ b/tests/test_util_version.py @@ -1,3 +1,4 @@ +from unittest.mock import MagicMock import pytest from cryptoadvance.specter.specter_error import SpecterError from cryptoadvance.specter.util.version import _parse_version, compare @@ -19,6 +20,7 @@ def test_VersionChecker( imp_lib_mock, mock_installation_type, mock_latest, + caplog, ): mock_latest.return_value = "v9.10.21" imp_lib_mock.return_value = "1.2.3" @@ -51,6 +53,27 @@ def test_VersionChecker( ) +@patch("cryptoadvance.specter.util.version.requests") +@patch( + "cryptoadvance.specter.util.version.VersionChecker.installation_type", + new_callable=PropertyMock, +) +@patch("cryptoadvance.specter.util.version.importlib_metadata.version") +@patch("cryptoadvance.specter.util.version.VersionChecker._version_txt_content") +def test_VersionChecker_get_binary_version( + VersionChecker_version_txt_content, + imp_lib_mock, + mock_installation_type, + mock_requests_session: MagicMock, + caplog, +): + mock_requests_session.Session().get().json.return_value = { + "releases": {"0.10.0": None, "1.9.0rc5": None} + } + vc = VersionChecker(name="joke") + assert vc._get_latest_version_from_github() == "1.9.0rc5" + + def test_parse_version(): assert _parse_version("v1.5.9") == { "major": 1,