Skip to content

Commit fbbce53

Browse files
committed
added tests for issues #512 and #516
1 parent a56bdf1 commit fbbce53

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

tests/test_function.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,27 @@ def service_cleanup():
424424
log.info(f"service_cleanup seq_num = {seq_num}")
425425
pyscript.done = [seq_num]
426426
427+
# tests for issues #512 and #516
428+
@state_trigger("pyscript.f10var1 == '1'", kwargs=dict(var1=123, var2='a'))
429+
def func10a(var_name=None, value=None, trigger_type=None, context=None, old_value=None, **kwargs):
430+
log.info(f"func10a var = {var_name}, value = {value}, kwargs = {kwargs}")
431+
pyscript.done = [seq_num, var_name, kwargs]
432+
433+
@state_trigger("pyscript.f10var1 == '1'", kwargs=dict(var3=124, var2='b'))
434+
def func10b(var_name=None, value=None, trigger_type=None, context=None, old_value=None, **kwargs):
435+
log.info(f"func10b var = {var_name}, value = {value}, kwargs = {kwargs}")
436+
pyscript.done = [seq_num, var_name, kwargs]
437+
438+
@state_trigger("pyscript.f10var1 == '1'", state_hold=1e-6, kwargs=dict(var4=125, var2='c'))
439+
def func10c(var_name=None, value=None, trigger_type=None, context=None, old_value=None, **kwargs):
440+
log.info(f"func10c var = {var_name}, value = {value}, kwargs = {kwargs}")
441+
pyscript.done = [seq_num, var_name, kwargs]
442+
443+
@state_trigger("pyscript.f10var1 == '1'", state_hold=1e-6, kwargs=dict(var5=126, var2='d'))
444+
def func10d(var_name=None, value=None, trigger_type=None, context=None, old_value=None, **kwargs):
445+
log.info(f"func10d var = {var_name}, value = {value}, kwargs = {kwargs}")
446+
pyscript.done = [seq_num, var_name, kwargs]
447+
427448
""",
428449
)
429450
# initialize the trigger and active variables
@@ -721,6 +742,18 @@ def service_cleanup():
721742
await hass.services.async_call("pyscript", "service_cleanup", {})
722743
assert literal_eval(await wait_until_done(notify_q)) == [seq_num]
723744

745+
hass.states.async_set("pyscript.f10var1", 1)
746+
for _ in range(0, 4):
747+
res = literal_eval(await wait_until_done(notify_q))
748+
assert res[0] == seq_num
749+
assert res[1] == "pyscript.f10var1"
750+
assert (
751+
res[2] == {"var1": 123, "var2": "a"}
752+
or res[2] == {"var3": 124, "var2": "b"}
753+
or res[2] == {"var4": 125, "var2": "c"}
754+
or res[2] == {"var5": 126, "var2": "d"}
755+
)
756+
724757

725758
@pytest.mark.asyncio
726759
async def test_state_trigger_time(hass, caplog):

0 commit comments

Comments
 (0)