fix: unify PIN hashing across CLI, FSM, and web (closes #2) #7
@@ -562,3 +562,25 @@ class TestArmRequestDispatch:
|
||||
)
|
||||
|
||||
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(
|
||||
self,
|
||||
payload: dict[str, Any],
|
||||
fsm: "ArmStateFSM",
|
||||
fsm: ArmStateFSM,
|
||||
) -> None:
|
||||
"""Handle an arm/disarm request received over MQTT.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user