mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-06-08 07:13:53 +02:00
6ffd54931c
Ship the 0.9.75 source update with improved startup/runtime hardening, operator API key onboarding, Meshtastic MQTT controls, Infonet/MeshChat separation, desktop package versioning, and aircraft telemetry refinements. Also updates focused backend/frontend tests for node settings, Meshtastic MQTT settings, and desktop runtime behavior.
55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
import importlib
|
|
|
|
|
|
def test_meshtastic_mqtt_settings_redacts_secrets(tmp_path, monkeypatch):
|
|
monkeypatch.setenv("SB_DATA_DIR", str(tmp_path))
|
|
|
|
from services import meshtastic_mqtt_settings
|
|
|
|
settings = importlib.reload(meshtastic_mqtt_settings)
|
|
saved = settings.write_meshtastic_mqtt_settings(
|
|
enabled=True,
|
|
broker="mqtt.example.test",
|
|
port=1884,
|
|
username="mesh-user",
|
|
password="mesh-pass",
|
|
psk="001122",
|
|
include_default_roots=False,
|
|
extra_roots="EU,US",
|
|
)
|
|
redacted = settings.redacted_meshtastic_mqtt_settings(saved)
|
|
|
|
assert saved["password"] == "mesh-pass"
|
|
assert saved["psk"] == "001122"
|
|
assert redacted["enabled"] is True
|
|
assert redacted["broker"] == "mqtt.example.test"
|
|
assert redacted["port"] == 1884
|
|
assert redacted["username"] == "mesh-user"
|
|
assert redacted["has_password"] is True
|
|
assert redacted["has_psk"] is True
|
|
assert "password" not in redacted
|
|
assert "psk" not in redacted
|
|
assert settings.mqtt_connection_config() == ("mqtt.example.test", 1884, "mesh-user", "mesh-pass")
|
|
assert settings.mqtt_bridge_enabled() is True
|
|
assert settings.mqtt_psk_hex() == "001122"
|
|
assert settings.mqtt_subscription_settings() == ("EU,US", "", False)
|
|
|
|
|
|
def test_meshtastic_mqtt_settings_hide_public_defaults(tmp_path, monkeypatch):
|
|
monkeypatch.setenv("SB_DATA_DIR", str(tmp_path))
|
|
|
|
from services import meshtastic_mqtt_settings
|
|
|
|
settings = importlib.reload(meshtastic_mqtt_settings)
|
|
saved = settings.write_meshtastic_mqtt_settings(
|
|
enabled=True,
|
|
broker="mqtt.meshtastic.org",
|
|
username="",
|
|
password="",
|
|
)
|
|
redacted = settings.redacted_meshtastic_mqtt_settings(saved)
|
|
|
|
assert redacted["username"] == ""
|
|
assert redacted["uses_default_credentials"] is True
|
|
assert settings.mqtt_connection_config() == ("mqtt.meshtastic.org", 1883, "meshdev", "large4cats")
|