refactor(events): drop forward-ref quote and test triggered_by default
Code review follow-up on f4d66dd:
- _handle_arm_request signature used "ArmStateFSM" as a string forward
reference even though the type is imported at module top.
_handle_event uses the bare form; match it for consistency.
- Add a test asserting that omitting triggered_by in an arm-request
payload defaults to "unknown". That value feeds the audit log, so
it deserves explicit regression coverage.
No behavior change.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -562,3 +562,25 @@ class TestArmRequestDispatch:
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert calls == []
|
assert calls == []
|
||||||
|
|
||||||
|
def test_arm_request_default_triggered_by(self, test_db):
|
||||||
|
"""Omitting triggered_by must default to 'unknown' (audit-log value)."""
|
||||||
|
from vigilar.events.processor import EventProcessor
|
||||||
|
|
||||||
|
processor = EventProcessor.__new__(EventProcessor)
|
||||||
|
calls = []
|
||||||
|
|
||||||
|
class FakeFSM:
|
||||||
|
state = ArmState.DISARMED
|
||||||
|
|
||||||
|
def transition(self, new_state, pin="", triggered_by="system"):
|
||||||
|
calls.append((new_state, pin, triggered_by))
|
||||||
|
return True
|
||||||
|
|
||||||
|
processor._handle_arm_request(
|
||||||
|
payload={"mode": "DISARMED", "pin": ""},
|
||||||
|
fsm=FakeFSM(),
|
||||||
|
)
|
||||||
|
|
||||||
|
assert len(calls) == 1
|
||||||
|
assert calls[0][2] == "unknown"
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ class EventProcessor:
|
|||||||
def _handle_arm_request(
|
def _handle_arm_request(
|
||||||
self,
|
self,
|
||||||
payload: dict[str, Any],
|
payload: dict[str, Any],
|
||||||
fsm: "ArmStateFSM",
|
fsm: ArmStateFSM,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle an arm/disarm request received over MQTT.
|
"""Handle an arm/disarm request received over MQTT.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user