Files
SyncVito/tests/test_runtime_status.py
2026-09-24 16:46:22 +02:00

34 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from syncvito.coordinator import derive_overall_status
from syncvito.models import TaskRuntimeState
def test_no_active_task_is_red() -> None:
assert derive_overall_status([], globally_paused=False) == ("paused", "Inaktiv")
assert derive_overall_status([TaskRuntimeState.PAUSED], globally_paused=False) == ("paused", "Inaktiv")
def test_healthy_active_tasks_are_green() -> None:
states = [TaskRuntimeState.ACTIVE, TaskRuntimeState.PAUSED]
assert derive_overall_status(states, globally_paused=False) == ("active", "Bereit")
def test_waiting_lock_has_priority_over_active_task() -> None:
states = [TaskRuntimeState.ACTIVE, TaskRuntimeState.WAITING_FOR_RELEASE]
assert derive_overall_status(states, globally_paused=False) == ("error", "Unvollständig – Dateien gesperrt")
def test_waiting_task_does_not_hide_running_sync() -> None:
assert derive_overall_status([TaskRuntimeState.WAITING_FOR_RELEASE], False, running=True) == (
"error",
"Synchronisierung läuft",
)
def test_error_has_highest_priority() -> None:
states = [TaskRuntimeState.WAITING_FOR_RELEASE, TaskRuntimeState.ERROR]
assert derive_overall_status(states, globally_paused=False) == ("error", "Fehler")
def test_global_pause_is_red_without_errors() -> None:
assert derive_overall_status([TaskRuntimeState.ACTIVE], globally_paused=True) == ("paused", "Pausiert")