mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-05-14 05:16:04 +02:00
Add test and simplify strip logic
This commit is contained in:
@@ -362,8 +362,7 @@ class CommunityMqttPublisher(BaseMqttPublisher):
|
||||
kwargs["username"] = s.community_mqtt_username or None
|
||||
kwargs["password"] = s.community_mqtt_password or None
|
||||
if transport == "websockets":
|
||||
ws_path = getattr(s, "community_mqtt_websocket_path", None)
|
||||
kwargs["websocket_path"] = ws_path.strip() if ws_path and ws_path.strip() else "/"
|
||||
kwargs["websocket_path"] = (s.community_mqtt_websocket_path or "").strip() or "/"
|
||||
return kwargs
|
||||
|
||||
def _on_connected(self, settings: object) -> tuple[str, str]:
|
||||
|
||||
@@ -757,6 +757,26 @@ class TestLwtAndStatusPublish:
|
||||
|
||||
assert kwargs["websocket_path"] == "/mqtt"
|
||||
|
||||
def test_build_client_kwargs_empty_websocket_path_defaults_to_root(self):
|
||||
pub = CommunityMqttPublisher()
|
||||
private_key, public_key = _make_test_keys()
|
||||
|
||||
for empty_value in ("", " ", None):
|
||||
settings = _make_community_settings(
|
||||
community_mqtt_iata="MTL",
|
||||
community_mqtt_websocket_path=empty_value,
|
||||
)
|
||||
|
||||
with (
|
||||
patch("app.keystore.get_private_key", return_value=private_key),
|
||||
patch("app.keystore.get_public_key", return_value=public_key),
|
||||
patch("app.radio.radio_manager") as mock_radio,
|
||||
):
|
||||
mock_radio.meshcore = None
|
||||
kwargs = pub._build_client_kwargs(settings)
|
||||
|
||||
assert kwargs["websocket_path"] == "/", f"Failed for {empty_value!r}"
|
||||
|
||||
def test_build_client_kwargs_supports_tcp_transport_and_custom_audience(self):
|
||||
pub = CommunityMqttPublisher()
|
||||
private_key, public_key = _make_test_keys()
|
||||
|
||||
Reference in New Issue
Block a user