From 916c453d2ba939fb7eb15f4d87557c37bfc57a21 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 11 Oct 2015 21:30:17 -0700 Subject: [PATCH] Add test for shell command --- tests/components/test_shell_command.py | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/components/test_shell_command.py diff --git a/tests/components/test_shell_command.py b/tests/components/test_shell_command.py new file mode 100644 index 00000000000..7cd7217449b --- /dev/null +++ b/tests/components/test_shell_command.py @@ -0,0 +1,38 @@ +""" +tests.test_shell_command +~~~~~~~~~~~~~~~~~~~~~~~~ + +Tests demo component. +""" +import os +import tempfile +import unittest + +from homeassistant import core +from homeassistant.components import shell_command + + +class TestShellCommand(unittest.TestCase): + """ Test the demo module. """ + + def setUp(self): # pylint: disable=invalid-name + self.hass = core.HomeAssistant() + + def tearDown(self): # pylint: disable=invalid-name + """ Stop down stuff we started. """ + self.hass.stop() + + def test_executing_service(self): + """ Test if able to call a configured service. """ + with tempfile.TemporaryDirectory() as tempdirname: + path = os.path.join(tempdirname, 'called.txt') + shell_command.setup(self.hass, { + 'shell_command': { + 'test_service': "touch {}".format(path) + } + }) + + self.hass.services.call('shell_command', 'test_service', + blocking=True) + + self.assertTrue(os.path.isfile(path))