mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-18 04:49:13 +00:00
fix(tools): don't force PIXLET_EDITOR_HOST, and stop hard-assuming the MQTT bridge is uninstalled in tests
CodeRabbit review on #544: - start_pixlet_editor() unconditionally set PIXLET_EDITOR_HOST=0.0.0.0, overriding any operator-configured loopback-only value and always exposing the unauthenticated `pixlet serve` dev process on the LAN (CWE-1188). Use env.setdefault() so it's only a default; also stop hardcoding 'host' in the recorded session state so status reporting matches what was actually used. - test_tools_sections.js asserted an Install button always renders, which assumes the bridge service is never installed on the test/dev host. Branch on the same service.installed flag the template itself renders from. Adds regression coverage in test_starlark_pixlet_routes.py for the setdefault-vs-override behavior (both the "nothing configured" and "operator pinned loopback" cases). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S3bPMESe2TfrGvbs1ef9c5
This commit is contained in:
@@ -63,7 +63,16 @@ const get = p => new Promise((res, rej) =>
|
||||
!/s3cret|mqtt_password"\s*:\s*"/.test(window.document.body.innerHTML));
|
||||
ok('state badge rendered', ($('mqtt-bridge-state').textContent || '').trim().length > 0,
|
||||
$('mqtt-bridge-state').textContent);
|
||||
ok('not-installed shows an Install button', !!$('btn-mqtt-install'));
|
||||
// The dev/test machine may or may not actually have the bridge service
|
||||
// installed -- branch on the same `service.installed` flag the template
|
||||
// itself renders from, rather than hard-assuming "not installed" (which
|
||||
// fails on any host where the service happens to be present).
|
||||
if (bridge.data.service.installed) {
|
||||
ok('installed shows Restart/Start-Stop buttons, not Install',
|
||||
!$('btn-mqtt-install') && !!$('btn-mqtt-restart') && !!$('btn-mqtt-startstop'));
|
||||
} else {
|
||||
ok('not-installed shows an Install button', !!$('btn-mqtt-install'));
|
||||
}
|
||||
ok('config path shown', $('mqtt-bridge-body').textContent.includes('bridge_config.json'));
|
||||
ok('env override hint shown', $('mqtt-bridge-body').textContent.includes('LEDMATRIX_MQTT_'));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user