prole/tests/installer/test_registry_rescan_after_init.py
chrisfu ce5ff83eb4 checkpoint: improve init scripts, installer flows, and kube context handling
- Fix kube context switching for k3s single-context kubeconfigs and k3d shorthand prefixes

- Update common init/status scripts (registry, kerberos, cnpg backup, service layer, common services)

- Add Gitea init script and installer ArgoCD screen

- Add Supabase realtime probe patching plus regression tests

- Extend installer core/UI test coverage
2026-03-14 20:07:54 -07:00

31 lines
956 B
Python

from __future__ import annotations
from unittest.mock import MagicMock
def test_db_rescan_registry_status_after_init_schedules_multiple_checks():
from installer.ui.screens.database import DatabaseScreenMixin
class _Dummy(DatabaseScreenMixin):
def __init__(self):
self._scheduled: list[int] = []
self._ensure_called = 0
self._db_registry_status_label = 1
self.bg_canvas = MagicMock()
def safe_after(self, fn, delay: int = 0):
self._scheduled.append(delay)
if delay == 0:
return fn()
return None
def _ensure_db_build_registry_async(self):
self._ensure_called += 1
d = _Dummy()
d._db_rescan_registry_status_after_init()
# One immediate label update (delay 0), then a sequence of scheduled checks.
assert d._scheduled == [0, 0, 1000, 2000, 4000, 8000, 15000]
assert d._ensure_called == 1