Просмотр исходного кода

tests: fix indeterministic log msg checks

Fabian Peter Hammerle 3 лет назад
Родитель
Сommit
e7f4e94687
1 измененных файлов с 11 добавлено и 10 удалено
  1. 11 10
      tests/test_mqtt.py

+ 11 - 10
tests/test_mqtt.py

@@ -134,16 +134,17 @@ def test__run(
         + homeassistant_node_id
         + "/preparing-for-shutdown/config"
     )
-    assert caplog.records[4].levelno == logging.INFO
-    assert caplog.records[4].message == "subscribing to {}".format(
-        mqtt_topic_prefix + "/poweroff"
-    )
-    assert caplog.records[5].levelno == logging.DEBUG
-    assert caplog.records[5].message == "registered MQTT callback for topic {}".format(
-        mqtt_topic_prefix + "/poweroff"
-    ) + " triggering {}".format(
-        systemctl_mqtt._MQTT_TOPIC_SUFFIX_ACTION_MAPPING["poweroff"]
-    )
+    assert all(r.levelno == logging.INFO for r in caplog.records[4::2])
+    assert {r.message for r in caplog.records[4::2]} == {
+        "subscribing to {}/{}".format(mqtt_topic_prefix, s)
+        for s in ("poweroff", "lock-all-sessions")
+    }
+    assert all(r.levelno == logging.DEBUG for r in caplog.records[5::2])
+    assert {r.message for r in caplog.records[5::2]} == {
+        "registered MQTT callback for topic {}".format(mqtt_topic_prefix + "/" + s)
+        + " triggering {}".format(systemctl_mqtt._MQTT_TOPIC_SUFFIX_ACTION_MAPPING[s])
+        for s in ("poweroff", "lock-all-sessions")
+    }
     # dbus loop started?
     glib_loop_mock.assert_called_once_with()
     # waited for mqtt loop to stop?