27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
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", "Wartet auf Dateifreigabe")
|
|
|
|
|
|
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")
|