32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from edge.config import load_config
|
|
|
|
def test_defaults_when_env_empty():
|
|
cfg = load_config({})
|
|
assert cfg.device_id == "pi-unknown"
|
|
assert cfg.fall.prone_confirm_s == 3.0
|
|
assert cfg.fall.no_motion_s == 10.0
|
|
assert cfg.camera_id == "cam-01"
|
|
assert cfg.cafe24_url == ""
|
|
assert cfg.secret == ""
|
|
assert cfg.ghost.reappear_s == 10.0
|
|
assert cfg.zone.debounce_s == 0.75
|
|
assert cfg.engine.cooldown_s == 30.0
|
|
|
|
def test_env_overrides():
|
|
env = {
|
|
"DEVICE_ID": "pi-w1", "CAMERA_ID": "cam-9",
|
|
"CAFE24_URL": "https://x/api/events", "DEVICE_SECRET": "s",
|
|
"FALL_PRONE_S": "2.0", "FALL_NO_MOTION_S": "8",
|
|
"IMMOBILE_S": "90", "COOLDOWN_S": "45",
|
|
"GHOST_REAPPEAR_S": "7", "ZONE_DEBOUNCE_S": "1.5",
|
|
}
|
|
cfg = load_config(env)
|
|
assert cfg.device_id == "pi-w1"
|
|
assert cfg.camera_id == "cam-9"
|
|
assert cfg.fall.prone_confirm_s == 2.0
|
|
assert cfg.fall.no_motion_s == 8.0
|
|
assert cfg.immobility.immobile_s == 90.0
|
|
assert cfg.engine.cooldown_s == 45.0
|
|
assert cfg.engine.camera_id == "cam-9"
|
|
assert cfg.ghost.reappear_s == 7.0
|
|
assert cfg.zone.debounce_s == 1.5
|