File: test_api.py

package info (click to toggle)
lutris 0.5.19-3
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 7,636 kB
  • sloc: python: 42,264; xml: 151; makefile: 77; sh: 30
file content (70 lines) | stat: -rw-r--r-- 2,633 bytes parent folder | download | duplicates (2)
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
63
64
65
66
67
68
69
70
import unittest
from unittest.mock import patch

from lutris import api

RUNTIME_VERSIONS = {
    "client_version": "0.5.17",
    "runners": {
        "wine": [
            {
                "name": "wine",
                "version": "wine-ge-8-26",
                "url": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/GE-Proton8-26/wine-lutris-GE-Proton8-26-x86_64.tar.xz",
                "architecture": "x86_64",
            }
        ],
    },
}

WINE_RUNNER_VERSIONS = [
    {
        "version": "wine-ge-8-26",
        "architecture": "x86_64",
        "url": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/GE-Proton8-26/wine-lutris-GE-Proton8-26-x86_64.tar.xz",
        "default": True,
    },
    {
        "version": "wine-ge-lol-8-27",
        "architecture": "x86_64",
        "url": "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/GE-Proton8-27-LoL/wine-lutris-GE-Proton8-27-LoL-x86_64.tar.xz",
        "default": False,
    },
    {
        "version": "lutris-7.2",
        "architecture": "x86_64",
        "url": "https://github.com/lutris/wine/releases/download/lutris-wine-7.2/wine-lutris-7.2-x86_64.tar.xz",
        "default": False,
    },
    {
        "version": "lutris-7.2-1",
        "architecture": "x86_64",
        "url": "https://github.com/lutris/wine/releases/download/lutris-wine-7.2-2/wine-lutris-7.2-2-x86_64.tar.xz",
        "default": False,
    },
    {
        "version": "lutris-fshack-7.2",
        "architecture": "x86_64",
        "url": "https://github.com/lutris/wine/releases/download/lutris-wine-7.2/wine-lutris-fshack-7.2-x86_64.tar.xz",
        "default": False,
    },
]


class TestApi(unittest.TestCase):
    @patch("lutris.api.get_runtime_versions")
    @patch("lutris.api.download_runner_versions")
    def test_get_default_runner_version_info(self, mock_download_runner_versions, mock_get_runtime_versions):
        mock_get_runtime_versions.return_value = RUNTIME_VERSIONS
        mock_download_runner_versions.return_value = WINE_RUNNER_VERSIONS
        version_info = api.get_default_runner_version_info("wine")
        self.assertEqual(version_info["version"], "wine-ge-8-26")

        version_info = api.get_default_runner_version_info("wine", "lutris-7.2-1")
        self.assertEqual(version_info["version"], "lutris-7.2-1")

        version_info = api.get_default_runner_version_info("wine", "lutris-7.2-1-x86_64")
        self.assertEqual(version_info["version"], "lutris-7.2-1")

        version_info = api.get_default_runner_version_info("wine", "bogus-version")
        self.assertIsNone(version_info)