Skip to content

Commit

Permalink
Fix get_dialog and improve tests
Browse files Browse the repository at this point in the history
  • Loading branch information
titilambert committed Aug 30, 2017
1 parent 40e85dd commit d848df3
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 5 deletions.
33 changes: 31 additions & 2 deletions tests/daemon_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import pytest


from tuxeatpi_common.message import Message
from tuxeatpi_common.message import Message, is_mqtt_topic
from tuxeatpi_common.daemon import TepBaseDaemon
from tuxeatpi_common.error import TuxEatPiError

Expand All @@ -23,6 +23,7 @@ def __init__(self, name, workdir, intent_folder, dialog_folder, logging_level=lo
TepBaseDaemon.__init__(self, name, workdir, intent_folder, dialog_folder, logging_level)
self.args1 = None
self.started = False
self.help_arg = None

def set_config(self, config):
self.args1 = config.get("param1")
Expand All @@ -32,6 +33,14 @@ def main_loop(self):
self.started = "OK"
time.sleep(1)

@is_mqtt_topic("help")
def help_(self, help_arg):
try:
super(FakeDaemon, self).help_()
except NotImplementedError:
pass
self.help_arg = help_arg


class TestDaemon(object):

Expand All @@ -51,7 +60,7 @@ def teardown_class(self):
self.fake_daemon.shutdown()

@pytest.mark.run_loop
def test_daemon(self):
def test_daemon(self, capsys):
# Start
self.fake_daemon._run_main_loop = False
t = threading.Thread(target=self.fake_daemon.start)
Expand All @@ -68,6 +77,23 @@ def test_daemon(self):
# check first config
assert self.fake_daemon.settings.language == "en_US"
assert self.fake_daemon.settings.nlu_engine == "nlu_test"

# Get dialog test
dialog_rendered = self.fake_daemon.get_dialog("render_test", test="mytest")
assert dialog_rendered == "This is a rendering test mytest"

# Publish Messages
message = Message("fake_daemon/help", {"arguments": {"help_arg": "test1"}})
self.fake_daemon.publish(message)
time.sleep(2)
assert self.fake_daemon.help_arg == "test1"
# Publish Messages override
message = Message("fake_daemon/help", {"arguments": {"help_arg": "test2"}})
self.fake_daemon.publish(message, override_topic="fake_daemon/help")
time.sleep(1)
assert self.fake_daemon.help_arg == "test2"


# Set component config
# checkcomponent config
assert self.fake_daemon.args1 == "value1"
Expand All @@ -82,3 +108,6 @@ def test_daemon(self):
assert self.fake_daemon.settings.nlu_engine == "nlu_test2"
assert self.fake_daemon.args1 == "value2"
assert self.fake_daemon.settings.params == {"param1": "value2"}

# TODO capture logging output
self.fake_daemon.reload()
1 change: 0 additions & 1 deletion tests/intents_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,3 @@ def test_dialog(self):
intents_test = IntentsHandler("tests/badintents", "test_intents")
ret = intents_test.save("nlu_test")
assert ret is None

2 changes: 1 addition & 1 deletion tuxeatpi_common/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def main_cli(workdir, intent_folder, dialog_folder, **kwargs):
if workdir is None:
workdir = os.getcwd()
prog_name = DAEMON_CLASS.__name__.lower()
if not prog_name.startswith("tep"):
if not prog_name.startswith("tep-"):
proc_title = "tep-" + prog_name
else:
proc_title = prog_name
Expand Down
2 changes: 1 addition & 1 deletion tuxeatpi_common/daemon.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def reload(self):

def get_dialog(self, key, **kwargs):
"""Get dialog and render it"""
return self.dialogs.get_dialog(self.config.language, key, **kwargs)
return self.dialogs.get_dialog(self.settings.language, key, **kwargs)

def set_config(self, config):
"""Save the configuration and reload the daemon
Expand Down

0 comments on commit d848df3

Please sign in to comment.