feat(kpi): expand KPI runtime monitoring, prompt advisory envelopes, and missing field resiliency

This commit is contained in:
operator
2026-10-06 20:02:48 +00:00
parent b824f6d405
commit ae4df2f29c
13 changed files with 1702 additions and 85 deletions
+34
View File
@@ -83,6 +83,40 @@ class TestOnboardPipeline(unittest.TestCase):
self.assertEqual(res["beneficiary_node"], "646")
mock_redeem.assert_called_once_with("testnode", "REDCJ7", timeout=20.0)
@patch("invite.redeem_invite")
@patch("subprocess.run")
@patch("invite_handler.send_loopback_notice")
def test_finish_onboarding_redemption_failure_with_loopback(self, mock_notice, mock_subproc, mock_redeem):
mock_redeem.return_value = {"ok": False, "reason": "already_redeemed", "detail": "Already redeemed"}
mock_notice.return_value = True
state = OnboardState(
node="testnode",
email="client@test.com",
beneficiary_node="646",
invite_code="REDCJ7",
stage="auth_active",
)
res = finish_onboarding_redemption(state)
self.assertTrue(res["ok"])
self.assertEqual(res["status"], "auth_active_redemption_warning")
self.assertIn("Redemption failed: already_redeemed", state.detail)
mock_notice.assert_called_once()
kwargs = mock_notice.call_args.kwargs
self.assertEqual(kwargs.get("recipient"), "646")
self.assertEqual(kwargs.get("target"), "646 tasks")
self.assertIn("already_redeemed", kwargs.get("message", ""))
def test_get_all_connects_fast(self):
from onboard_pipeline import get_all_connects
connects = get_all_connects(fast=True)
self.assertIsInstance(connects, list)
self.assertGreaterEqual(len(connects), 6)
nodes = {c["node"] for c in connects}
for expected in ("muse", "pip", "646", "opm", "dev", "def"):
self.assertIn(expected, nodes)
if __name__ == "__main__":
unittest.main()