File: TestFirmwareUpdateChecker.py

package info (click to toggle)
cura 5.0.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 122,888 kB
  • sloc: python: 44,572; sh: 81; xml: 32; makefile: 16
file content (62 lines) | stat: -rw-r--r-- 2,068 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Copyright (c) 2018 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.

import pytest

from unittest.mock import MagicMock

from UM.Version import Version

import FirmwareUpdateChecker

json_data = \
    {
        "ned":
            {
                "id": 1,
                "name": "ned",
                "check_urls": [""],
                "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware",
                "version_parser": "default"
            },
        "olivia":
            {
                "id": 3,
                "name": "olivia",
                "check_urls": [""],
                "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware",
                "version_parser": "default"
            },
        "emmerson":
            {
                "id": 5,
                "name": "emmerson",
                "check_urls": [""],
                "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware",
                "version_parser": "default"
            }
    }

@pytest.mark.parametrize("name, id", [
    ("ned"     , 1),
    ("olivia"  , 3),
    ("emmerson", 5),
])
def test_FirmwareUpdateCheckerLookup(id, name):
    lookup = FirmwareUpdateChecker.FirmwareUpdateCheckerLookup.FirmwareUpdateCheckerLookup(name, json_data.get(name))

    assert lookup.getMachineName() == name
    assert lookup.getMachineId() == id
    assert len(lookup.getCheckUrls()) >= 1
    assert lookup.getRedirectUserUrl() is not None

@pytest.mark.parametrize("name, version", [
    ("ned"     , Version("5.1.2.3")),
    ("olivia"  , Version("4.3.2.1")),
    ("emmerson", Version("6.7.8.1")),
])
def test_FirmwareUpdateCheckerJob_getCurrentVersion(name, version):
    machine_data = json_data.get(name)
    job = FirmwareUpdateChecker.FirmwareUpdateCheckerJob.FirmwareUpdateCheckerJob(False, name, machine_data, MagicMock)
    job.getUrlResponse = MagicMock(return_value = str(version))  # Pretend like we got a good response from the server
    assert job.getCurrentVersion() == version