mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-11-01 04:47:03 +08:00
fix: log application update checks
This commit is contained in:
@@ -379,7 +379,8 @@ class SystemUpdateManager(metaclass=SingletonClass):
|
||||
if not release:
|
||||
raise RuntimeError("未找到可用的 v3 稳定版本")
|
||||
version = str(release["tag_name"])
|
||||
has_update = compare_version(version, "gt", get_app_version()) is True
|
||||
current_version = get_app_version()
|
||||
has_update = compare_version(version, "gt", current_version) is True
|
||||
self._write_item(
|
||||
_APPLICATION,
|
||||
state="available" if has_update else "idle",
|
||||
@@ -395,6 +396,10 @@ class SystemUpdateManager(metaclass=SingletonClass):
|
||||
can_update=has_update,
|
||||
can_install=False,
|
||||
)
|
||||
if has_update:
|
||||
logger.info(f"发现 MoviePilot 主程序更新:{current_version} -> {version}")
|
||||
else:
|
||||
logger.info(f"MoviePilot 主程序已是最新版本:{current_version}")
|
||||
|
||||
def _check_resources(self) -> None:
|
||||
"""查询当前平台认证资源和索引资源的最新版本。"""
|
||||
|
||||
@@ -30,6 +30,7 @@ def _response(payload, status_code=200):
|
||||
|
||||
def test_check_exposes_new_stable_release(monkeypatch, tmp_path):
|
||||
manager = _manager(monkeypatch, tmp_path)
|
||||
logs = []
|
||||
releases = [
|
||||
{"tag_name": "v3.2.0-beta", "prerelease": True, "draft": False},
|
||||
{
|
||||
@@ -43,6 +44,7 @@ def test_check_exposes_new_stable_release(monkeypatch, tmp_path):
|
||||
]
|
||||
monkeypatch.setattr(manager, "_request", lambda: SimpleNamespace(get_res=lambda _url: _response(releases)))
|
||||
monkeypatch.setattr(update_module, "get_app_version", lambda: "v3.0.0")
|
||||
monkeypatch.setattr(update_module.logger, "info", logs.append)
|
||||
|
||||
status = manager.check("application")
|
||||
|
||||
@@ -50,6 +52,29 @@ def test_check_exposes_new_stable_release(monkeypatch, tmp_path):
|
||||
assert status.version == "v3.1.0"
|
||||
assert status.release_notes == "changes"
|
||||
assert status.can_update is True
|
||||
assert logs == ["发现 MoviePilot 主程序更新:v3.0.0 -> v3.1.0"]
|
||||
|
||||
|
||||
def test_check_logs_when_application_is_current(monkeypatch, tmp_path):
|
||||
manager = _manager(monkeypatch, tmp_path)
|
||||
logs = []
|
||||
releases = [
|
||||
{
|
||||
"tag_name": "v3.0.0",
|
||||
"name": "MoviePilot v3.0.0",
|
||||
"prerelease": False,
|
||||
"draft": False,
|
||||
}
|
||||
]
|
||||
monkeypatch.setattr(manager, "_request", lambda: SimpleNamespace(get_res=lambda _url: _response(releases)))
|
||||
monkeypatch.setattr(update_module, "get_app_version", lambda: "v3.0.0")
|
||||
monkeypatch.setattr(update_module.logger, "info", logs.append)
|
||||
|
||||
status = manager.check("application")
|
||||
|
||||
assert status.state == "idle"
|
||||
assert status.can_update is False
|
||||
assert logs == ["MoviePilot 主程序已是最新版本:v3.0.0"]
|
||||
|
||||
|
||||
def test_scheduled_check_failure_stays_silent(monkeypatch, tmp_path):
|
||||
|
||||
Reference in New Issue
Block a user