feat: persist led config on debian startup
This commit is contained in:
+15
-1
@@ -29,7 +29,9 @@ def main():
|
||||
(d / 'trigger').write_text('[none] timer')
|
||||
(d / 'delay_on').write_text('500')
|
||||
(d / 'delay_off').write_text('500')
|
||||
config_path = root / 'config.json'
|
||||
led_panel.LED_ROOT = root
|
||||
led_panel.CONFIG_PATH = config_path
|
||||
httpd = ThreadingHTTPServer(('127.0.0.1', 0), Handler)
|
||||
port = httpd.server_address[1]
|
||||
t = threading.Thread(target=httpd.serve_forever, daemon=True)
|
||||
@@ -44,7 +46,19 @@ def main():
|
||||
assert (d / 'trigger').read_text() == 'timer'
|
||||
delay = req(port, '/api/delay', {'name':'blue:wan','field':'delay_on','value':123})
|
||||
assert delay['ok'] and (d / 'delay_on').read_text() == '123'
|
||||
print('OK: API write regression passed')
|
||||
saved = req(port, '/api/save', {'name':'blue:wan'})
|
||||
assert saved['ok'] and config_path.exists()
|
||||
cfg = json.loads(config_path.read_text())
|
||||
assert cfg['leds']['blue:wan']['delay_on'] == 123
|
||||
# Simulate reboot/default reset, then apply persisted config.
|
||||
(d / 'brightness').write_text('0')
|
||||
(d / 'trigger').write_text('[none] timer')
|
||||
(d / 'delay_on').write_text('500')
|
||||
applied = req(port, '/api/apply-saved', {})
|
||||
assert applied['ok'] and applied['applied'] == 1
|
||||
assert (d / 'brightness').read_text() == '1'
|
||||
assert (d / 'delay_on').read_text() == '123'
|
||||
print('OK: API write + persistence regression passed')
|
||||
finally:
|
||||
httpd.shutdown()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user