Skip to content

Commit 47ee774

Browse files
craigbarrattraman325
authored andcommitted
added context tests for event.fire()
1 parent a1b04ef commit 47ee774

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

tests/test_function.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from datetime import datetime as dt
55
import time
66

7-
from custom_components.pyscript.const import DOMAIN
7+
from custom_components.pyscript.const import CONF_ALLOW_ALL_IMPORTS, DOMAIN
88
from custom_components.pyscript.function import Function
99
import custom_components.pyscript.trigger as trigger
1010
import pytest
@@ -108,9 +108,9 @@ async def setup_script(hass, notify_q, now, source):
108108
), patch("custom_components.pyscript.global_ctx.open", mock_open(read_data=source), create=True,), patch(
109109
"custom_components.pyscript.trigger.dt_now", return_value=now
110110
), patch(
111-
"homeassistant.config.load_yaml_config_file", return_value={}
111+
"homeassistant.config.load_yaml_config_file", return_value={DOMAIN: {CONF_ALLOW_ALL_IMPORTS: True}}
112112
):
113-
assert await async_setup_component(hass, "pyscript", {DOMAIN: {}})
113+
assert await async_setup_component(hass, "pyscript", {DOMAIN: {CONF_ALLOW_ALL_IMPORTS: True}})
114114

115115
#
116116
# I'm not sure how to run the mock all the time, so just force the dt_now()
@@ -153,6 +153,7 @@ async def test_state_trigger(hass, caplog):
153153
"""
154154
155155
from math import sqrt
156+
from homeassistant.core import Context
156157
157158
seq_num = 0
158159
@@ -191,7 +192,8 @@ def func2(var_name=None, value=None):
191192
192193
@event_trigger("fire_event")
193194
def fire_event(**kwargs):
194-
event.fire(kwargs["new_event"], arg1=kwargs["arg1"], arg2=kwargs["arg2"])
195+
context = Context(user_id="1234", parent_id="5678", id="8901")
196+
event.fire(kwargs["new_event"], arg1=kwargs["arg1"], arg2=kwargs["arg2"], context=context)
195197
196198
@event_trigger("test_event3", "arg1 == 20 and arg2 == 30")
197199
def func3(trigger_type=None, event_type=None, **kwargs):
@@ -200,7 +202,10 @@ def func3(trigger_type=None, event_type=None, **kwargs):
200202
seq_num += 1
201203
log.info(f"func3 trigger_type = {trigger_type}, event_type = {event_type}, event_data = {kwargs}")
202204
exec_test = task.executor(sum, range(5))
203-
kwargs["context"] = {"user_id": kwargs["context"].user_id, "parent_id": kwargs["context"].parent_id, "id": "1234"}
205+
if len(kwargs["context"].id) <= 8:
206+
kwargs["context"] = {"user_id": kwargs["context"].user_id, "parent_id": kwargs["context"].parent_id, "id": kwargs["context"].id}
207+
else:
208+
kwargs["context"] = {"user_id": kwargs["context"].user_id, "parent_id": kwargs["context"].parent_id, "id": "1234"}
204209
pyscript.done = [seq_num, trigger_type, event_type, kwargs, exec_test]
205210
206211
@event_trigger("test_event4", "arg1 == 20 and arg2 == 30")
@@ -444,7 +449,7 @@ def func9(var_name=None, value=None, old_value=None):
444449
]
445450
assert "func2 var = pyscript.f2var2, value = 2" in caplog.text
446451

447-
context = {"user_id": None, "parent_id": None, "id": "1234"}
452+
context = {"user_id": "1234", "parent_id": "5678", "id": "8901"}
448453

449454
seq_num += 1
450455
hass.bus.async_fire("test_event3", {"arg1": 12, "arg2": 34})
@@ -459,6 +464,8 @@ def func9(var_name=None, value=None, old_value=None):
459464
10,
460465
]
461466

467+
context = {"user_id": None, "parent_id": None, "id": "1234"}
468+
462469
seq_num += 1
463470
hass.states.async_set("pyscript.f4var2", 2)
464471
hass.bus.async_fire("test_event4", {"arg1": 20, "arg2": 30})

0 commit comments

Comments
 (0)