Browse Source

enable tls

Fabian Peter Hammerle 3 years ago
parent
commit
9c115aef90
3 changed files with 9 additions and 7 deletions
  1. 3 2
      systemctl_mqtt/__init__.py
  2. 5 5
      tests/test_cli.py
  3. 1 0
      tests/test_mqtt.py

+ 3 - 2
systemctl_mqtt/__init__.py

@@ -117,6 +117,7 @@ def _run(
     )
     mqtt_client.on_connect = _mqtt_on_connect
     mqtt_client.on_message = _mqtt_on_message
+    mqtt_client.tls_set(ca_certs=None)  # enable tls trusting default system certs
     _LOGGER.info(
         "connecting to MQTT broker %s:%d", mqtt_host, mqtt_port,
     )
@@ -143,7 +144,7 @@ def _main() -> None:
         formatter_class=argparse.ArgumentDefaultsHelpFormatter,
     )
     argparser.add_argument("--mqtt-host", type=str, required=True)
-    argparser.add_argument("--mqtt-port", type=int, default=1883)
+    argparser.add_argument("--mqtt-port", type=int, default=8883)
     argparser.add_argument("--mqtt-username", type=str)
     password_argument_group = argparser.add_mutually_exclusive_group()
     password_argument_group.add_argument("--mqtt-password", type=str)
@@ -159,7 +160,7 @@ def _main() -> None:
         "--mqtt-topic-prefix",
         type=str,
         default="systemctl/" + _get_hostname(),
-        help="test",
+        help=" ",  # show default
     )
     args = argparser.parse_args()
     if args.mqtt_password_path:

+ 5 - 5
tests/test_cli.py

@@ -36,7 +36,7 @@ import systemctl_mqtt
         (
             ["", "--mqtt-host", "mqtt-broker.local"],
             "mqtt-broker.local",
-            1883,
+            8883,
             None,
             None,
             None,
@@ -52,7 +52,7 @@ import systemctl_mqtt
         (
             ["", "--mqtt-host", "mqtt-broker.local", "--mqtt-username", "me"],
             "mqtt-broker.local",
-            1883,
+            8883,
             "me",
             None,
             None,
@@ -68,7 +68,7 @@ import systemctl_mqtt
                 "secret",
             ],
             "mqtt-broker.local",
-            1883,
+            8883,
             "me",
             "secret",
             None,
@@ -82,7 +82,7 @@ import systemctl_mqtt
                 "system/command",
             ],
             "mqtt-broker.local",
-            1883,
+            8883,
             None,
             None,
             "system/command",
@@ -146,7 +146,7 @@ def test__main_password_file(tmpdir, password_file_content, expected_password):
         systemctl_mqtt._main()
     run_mock.assert_called_once_with(
         mqtt_host="localhost",
-        mqtt_port=1883,
+        mqtt_port=8883,
         mqtt_username="me",
         mqtt_password=expected_password,
         mqtt_topic_prefix="systemctl/hostname",

+ 1 - 0
tests/test_mqtt.py

@@ -50,6 +50,7 @@ def test__run(mqtt_host, mqtt_port, mqtt_topic_prefix):
     assert isinstance(settings, systemctl_mqtt._Settings)
     assert mqtt_topic_prefix + "/poweroff" in settings.mqtt_topic_action_mapping
     assert not mqtt_client_mock().username_pw_set.called
+    mqtt_client_mock().tls_set.assert_called_once_with(ca_certs=None)
     mqtt_client_mock().connect.assert_called_once_with(host=mqtt_host, port=mqtt_port)
     mqtt_client_mock().socket().getpeername.return_value = (mqtt_host, mqtt_port)
     mqtt_client_mock().on_connect(mqtt_client_mock(), settings, {}, 0)