Bugfix: versionChecker and downloadloc (#1633)

This commit is contained in:
Kim Neunert 2022-03-22 16:05:42 +01:00 committed by GitHub
parent 8dd294ba26
commit 9caf5f2958
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 7 deletions

1
.gitignore vendored
View file

@ -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

View file

@ -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() {

View file

@ -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)

View file

@ -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,