test_settings.py 682 B

12345678910111213141516171819
  1. import functools
  2. import pytest
  3. import systemctl_mqtt
  4. # pylint: disable=protected-access
  5. @pytest.mark.parametrize("mqtt_topic_prefix", ["systemctl/host", "system/command"])
  6. def test_mqtt_topic_action_mapping(mqtt_topic_prefix):
  7. settings = systemctl_mqtt._Settings(mqtt_topic_prefix=mqtt_topic_prefix)
  8. assert len(settings.mqtt_topic_action_mapping) == 1
  9. action = settings.mqtt_topic_action_mapping[mqtt_topic_prefix + "/poweroff"]
  10. assert isinstance(action, functools.partial)
  11. # pylint: disable=comparison-with-callable
  12. assert action.func == systemctl_mqtt._schedule_shutdown
  13. assert not action.args
  14. assert action.keywords == {"action": "poweroff"}