fix: rewrite tests

This commit is contained in:
aclist 2026-05-15 23:34:43 +09:00
parent 156c1f8ec4
commit 8fc7aa5165
3 changed files with 33 additions and 11 deletions

View File

@ -438,6 +438,10 @@ def get_app_path(folders_path: Path, appid: int) -> Path:
raise AppNotInstalledError(
f"Failed to find a libraryfolder for the appid {appid}"
)
if Path(app_path).exists() is False:
raise AppMovedError(
f"The location '{app_path}' pointed to by '{appid}' no longer exists and may have been changed on the disk."
)
return Path(app_path)

View File

@ -1,5 +1,17 @@
def test_headings():
with open("CHANGELOG.md", "r") as f:
import pytest
from importlib import resources
from dzgui.const.constants import APP_NAME_LOWER, CHANGELOG_PATH
@pytest.fixture
def changelog():
path = resources.files(APP_NAME_LOWER).joinpath(CHANGELOG_PATH)
return path
def test_headings(changelog):
with open(changelog, "r") as f:
lines = f.readlines()
for line in lines:
if line.startswith("#"):

View File

@ -2,13 +2,14 @@ import pytest
from pathlib import Path
import dzgui.api.pefile as PeFile
from dzgui.api.pefile import (VDFLoadError, AppNotInstalledError, AppMovedError)
from dzgui.api.pefile import VDFLoadError, AppNotInstalledError, AppMovedError
from dzgui.config.query import get_config
from dzgui.config.xdg import get_xdg_paths, parse_filepaths
from dzgui.const.constants import APPID_DAYZ
from tests.fixtures import fixture_path
pytestmark = pytest.mark.pefile
@ -16,6 +17,7 @@ pytestmark = pytest.mark.pefile
def second_drive():
return fixture_path("in_library_on_second_drive.vdf")
@pytest.fixture
def default_steam_path():
paths = get_xdg_paths()
@ -23,17 +25,17 @@ def default_steam_path():
conf = get_config(xdg.config)
return conf["default_steam_path"]
def test_pefile_length(default_steam_path):
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)
vers = PeFile.get_dayz_version(pe_file_path)
st = PeFile.dayz_version_to_str(vers).split(".")
except Exception as e:
raise e
assert len(st) == 3
def test_invalid_pefile_path():
with pytest.raises(VDFLoadError):
try:
@ -42,11 +44,14 @@ def test_invalid_pefile_path():
raise e
@pytest.mark.parametrize("fixture, exception", [
("not_in_library.vdf", AppNotInstalledError),
("in_library_but_bad_path.vdf", AppMovedError),
("malformed.vdf", VDFLoadError),
])
@pytest.mark.parametrize(
"fixture, exception",
[
("not_in_library.vdf", AppNotInstalledError),
("in_library_but_bad_path.vdf", AppMovedError),
("malformed.vdf", VDFLoadError),
],
)
def test_not_in_library(fixture, exception):
fixture = fixture_path(fixture)
with pytest.raises(exception):
@ -55,6 +60,7 @@ def test_not_in_library(fixture, exception):
except Exception as e:
raise e
def test_on_second_drive(second_drive):
path = PeFile.get_app_path(second_drive, APPID_DAYZ)
assert path == Path("/tmp")