Fix the tests so they don't rely on external URL

This commit is contained in:
Jaime van Kessel 2019-01-17 09:56:46 +01:00
parent f5c4b6919d
commit 909c74c9b6
3 changed files with 7 additions and 14 deletions

View file

@ -44,7 +44,6 @@ class FirmwareUpdateCheckerJob(Job):
result = response.read().decode("utf-8") result = response.read().decode("utf-8")
except URLError: except URLError:
Logger.log("w", "Could not reach '{0}', if this URL is old, consider removal.".format(url)) Logger.log("w", "Could not reach '{0}', if this URL is old, consider removal.".format(url))
return result return result
def parseVersionResponse(self, response: str) -> Version: def parseVersionResponse(self, response: str) -> Version:

View file

@ -18,7 +18,7 @@ class FirmwareUpdateCheckerLookup:
self._machine_id = machine_json.get("id") self._machine_id = machine_json.get("id")
self._machine_name = machine_name.lower() # Lower in-case upper-case chars are added to the original json. self._machine_name = machine_name.lower() # Lower in-case upper-case chars are added to the original json.
self._check_urls = [] # type:List[str] self._check_urls = [] # type:List[str]
for check_url in machine_json.get("check_urls"): for check_url in machine_json.get("check_urls", []):
self._check_urls.append(check_url) self._check_urls.append(check_url)
self._redirect_user = machine_json.get("update_url") self._redirect_user = machine_json.get("update_url")

View file

@ -2,10 +2,8 @@
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
import pytest import pytest
import json
import unittest.mock from unittest.mock import MagicMock
from cura.CuraApplication import CuraApplication
from UM.Version import Version from UM.Version import Version
@ -18,7 +16,7 @@ json_data = \
{ {
"id": 1, "id": 1,
"name": "ned", "name": "ned",
"check_urls": ["http://urlecho.appspot.com/echo?status=200&body=5.1.2.3"], "check_urls": [""],
"update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware",
"version_parser": "default" "version_parser": "default"
}, },
@ -26,7 +24,7 @@ json_data = \
{ {
"id": 3, "id": 3,
"name": "olivia", "name": "olivia",
"check_urls": ["http://urlecho.appspot.com/echo?status=200&body=4.3.2.1", "https://this-url-clearly-doesnt-exist.net"], "check_urls": [""],
"update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware",
"version_parser": "default" "version_parser": "default"
}, },
@ -34,15 +32,12 @@ json_data = \
{ {
"id": 5, "id": 5,
"name": "emmerson", "name": "emmerson",
"check_urls": ["http://urlecho.appspot.com/echo?status=200&body=0.2.2.2", "http://urlecho.appspot.com/echo?status=200&body=6.7.8.1"], "check_urls": [""],
"update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware",
"version_parser": "default" "version_parser": "default"
} }
} }
def dummyCallback():
pass
@pytest.mark.parametrize("name, id", [ @pytest.mark.parametrize("name, id", [
("ned" , 1), ("ned" , 1),
("olivia" , 3), ("olivia" , 3),
@ -63,7 +58,6 @@ def test_FirmwareUpdateCheckerLookup(id, name):
]) ])
def test_FirmwareUpdateCheckerJob_getCurrentVersion(name, version): def test_FirmwareUpdateCheckerJob_getCurrentVersion(name, version):
machine_data = json_data.get(name) machine_data = json_data.get(name)
job = FirmwareUpdateCheckerJob(False, name, machine_data, dummyCallback) job = FirmwareUpdateCheckerJob(False, name, machine_data, MagicMock)
job._headers = {"User-Agent": "Cura-UnitTests 0"} job.getUrlResponse = MagicMock(return_value = str(version)) # Pretend like we got a good response from the server
assert job.getCurrentVersion() == version assert job.getCurrentVersion() == version