Fix release asset deployment
Package built frontend assets in wheels and force clean upgrades. Run API-triggered updates in a transient unit with a safe delay.
This commit is contained in:
@@ -194,6 +194,32 @@ def test_update_schedules_exact_latest_release_tag(tmp_path, monkeypatch):
|
||||
assert response["status"] == "update_scheduled"
|
||||
|
||||
|
||||
def test_update_is_scheduled_outside_service_cgroup(tmp_path, monkeypatch):
|
||||
monkeypatch.setenv("IMPORTARR_STATE_PATH", str(tmp_path / "state.db"))
|
||||
import importarr.main as main
|
||||
|
||||
calls = []
|
||||
|
||||
def fake_run(command, **kwargs):
|
||||
calls.append((command, kwargs))
|
||||
return main.subprocess.CompletedProcess(command, 0, stdout="Running as unit", stderr="")
|
||||
|
||||
monkeypatch.setattr(main.subprocess, "run", fake_run)
|
||||
main._schedule_update(["/bin/sh", "/opt/importarr/repo-upgrade.sh", "v1.2.3"])
|
||||
|
||||
assert calls[0][0] == [
|
||||
"systemd-run",
|
||||
"--unit=importarr-update",
|
||||
"--collect",
|
||||
"--no-block",
|
||||
"--on-active=2s",
|
||||
"--",
|
||||
"/bin/sh",
|
||||
"/opt/importarr/repo-upgrade.sh",
|
||||
"v1.2.3",
|
||||
]
|
||||
|
||||
|
||||
def test_update_endpoint_requires_expected_tag(tmp_path, monkeypatch):
|
||||
monkeypatch.setenv("IMPORTARR_STATE_PATH", str(tmp_path / "state.db"))
|
||||
import importarr.main as main
|
||||
|
||||
Reference in New Issue
Block a user