Compare commits

...

4 Commits

Author SHA1 Message Date
aclist
d8239f1c34
Merge pull request #405 from aclist/chore/update-licenses
Some checks failed
Mirror to Codeberg / mirror-to-codeberg (push) Has been cancelled
chore: list missing library
2026-07-12 12:34:32 +09:00
aclist
8c3ec4512a chore: list missing library 2026-07-12 12:34:00 +09:00
aclist
1a18c8ff02
Merge pull request #404 from aclist/fix/app-path-tests
chore: update tests to reflect get_app_path() changes
2026-07-12 12:23:05 +09:00
aclist
92c23ec609 chore: update tests to reflect get_app_path() changes 2026-07-12 12:22:12 +09:00
7 changed files with 29 additions and 14 deletions

View File

@ -76,7 +76,7 @@ build-backend = "setuptools.build_meta"
line-length = 88 line-length = 88
indent-width = 4 indent-width = 4
extend-exclude = ["*lib/a2s"] extend-exclude = ["*lib/a2s"]
lint.unfixable = ["F401"] lint.unfixable = ["F401", "I001"]
[tool.ruff.format] [tool.ruff.format]
quote-style = "double" quote-style = "double"

View File

@ -12,6 +12,7 @@ This file includes the combined licenses to the following components:
- psutil - psutil
- PyGObject - PyGObject
- python-a2s - python-a2s
- vdf
When shipped as a binary installer, these components are collectively bundled When shipped as a binary installer, these components are collectively bundled
as a turnkey application and used to run the DZGUI utility.\n\n as a turnkey application and used to run the DZGUI utility.\n\n

View File

@ -1,21 +1,22 @@
import pytest import pytest
from pathlib import Path from pathlib import Path
import dzgui.api.pefile as PeFile import dzgui.api.pefile as PeFile
from dzgui.api.steam import VDFLoadError, AppNotInstalledError, AppMovedError, get_app_path from dzgui.api.steam import (
VDFLoadError,
AppNotInstalledError,
AppMovedError,
get_app_path
)
from dzgui.config.query import get_config from dzgui.config.query import get_config
from dzgui.config.xdg import get_xdg_paths, parse_filepaths from dzgui.config.xdg import get_xdg_paths, parse_filepaths
from dzgui.const.constants import APPID_DAYZ from dzgui.const.constants import APPID_DAYZ, LIBRARYFOLDERS_PATH
from tests.fixtures import fixture_path from tests.fixtures import fixture_path
pytestmark = pytest.mark.pefile pytestmark = pytest.mark.apitest
@pytest.fixture
def second_drive():
return fixture_path("in_library_on_second_drive.vdf")
@pytest.fixture @pytest.fixture
@ -26,6 +27,8 @@ def default_steam_path():
return conf["default_steam_path"] return conf["default_steam_path"]
# TODO: split into separate test file
# FIXME: use fixtures
def test_pefile_length(default_steam_path): def test_pefile_length(default_steam_path):
try: try:
pe_file_path = PeFile.get_pefile_path(Path(default_steam_path), APPID_DAYZ) pe_file_path = PeFile.get_pefile_path(Path(default_steam_path), APPID_DAYZ)
@ -52,15 +55,26 @@ def test_invalid_pefile_path():
("malformed.vdf", VDFLoadError), ("malformed.vdf", VDFLoadError),
], ],
) )
def test_not_in_library(fixture, exception): def test_not_in_library(monkeypatch, fixture, exception):
fixture = fixture_path(fixture) import dzgui.api.steam as steam
monkeypatch.setattr(steam, "LIBRARYFOLDERS_PATH", fixture)
folder_path = Path(fixture_path("api"))
with pytest.raises(exception): with pytest.raises(exception):
try: try:
get_app_path(fixture, APPID_DAYZ) get_app_path(folder_path, APPID_DAYZ)
except Exception as e: except Exception as e:
raise e raise e
def test_on_second_drive(second_drive): @pytest.fixture
path = get_app_path(second_drive, APPID_DAYZ) def second_drive():
return "in_library_on_second_drive.vdf"
def test_on_second_drive(monkeypatch, second_drive):
import dzgui.api.steam as steam
monkeypatch.setattr(steam, "LIBRARYFOLDERS_PATH", second_drive)
folder_path = Path(fixture_path("api"))
path = get_app_path(folder_path, APPID_DAYZ)
assert path == Path("/tmp") assert path == Path("/tmp")