4
4
from datetime import datetime as dt
5
5
import time
6
6
7
- from custom_components .pyscript .const import DOMAIN
7
+ from custom_components .pyscript .const import CONF_ALLOW_ALL_IMPORTS , DOMAIN
8
8
from custom_components .pyscript .function import Function
9
9
import custom_components .pyscript .trigger as trigger
10
10
import pytest
@@ -108,9 +108,9 @@ async def setup_script(hass, notify_q, now, source):
108
108
), patch ("custom_components.pyscript.global_ctx.open" , mock_open (read_data = source ), create = True ,), patch (
109
109
"custom_components.pyscript.trigger.dt_now" , return_value = now
110
110
), 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 } }
112
112
):
113
- assert await async_setup_component (hass , "pyscript" , {DOMAIN : {}})
113
+ assert await async_setup_component (hass , "pyscript" , {DOMAIN : {CONF_ALLOW_ALL_IMPORTS : True }})
114
114
115
115
#
116
116
# 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):
153
153
"""
154
154
155
155
from math import sqrt
156
+ from homeassistant.core import Context
156
157
157
158
seq_num = 0
158
159
@@ -191,7 +192,8 @@ def func2(var_name=None, value=None):
191
192
192
193
@event_trigger("fire_event")
193
194
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)
195
197
196
198
@event_trigger("test_event3", "arg1 == 20 and arg2 == 30")
197
199
def func3(trigger_type=None, event_type=None, **kwargs):
@@ -200,7 +202,10 @@ def func3(trigger_type=None, event_type=None, **kwargs):
200
202
seq_num += 1
201
203
log.info(f"func3 trigger_type = {trigger_type}, event_type = {event_type}, event_data = {kwargs}")
202
204
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"}
204
209
pyscript.done = [seq_num, trigger_type, event_type, kwargs, exec_test]
205
210
206
211
@event_trigger("test_event4", "arg1 == 20 and arg2 == 30")
@@ -444,7 +449,7 @@ def func9(var_name=None, value=None, old_value=None):
444
449
]
445
450
assert "func2 var = pyscript.f2var2, value = 2" in caplog .text
446
451
447
- context = {"user_id" : None , "parent_id" : None , "id" : "1234 " }
452
+ context = {"user_id" : "1234" , "parent_id" : "5678" , "id" : "8901 " }
448
453
449
454
seq_num += 1
450
455
hass .bus .async_fire ("test_event3" , {"arg1" : 12 , "arg2" : 34 })
@@ -459,6 +464,8 @@ def func9(var_name=None, value=None, old_value=None):
459
464
10 ,
460
465
]
461
466
467
+ context = {"user_id" : None , "parent_id" : None , "id" : "1234" }
468
+
462
469
seq_num += 1
463
470
hass .states .async_set ("pyscript.f4var2" , 2 )
464
471
hass .bus .async_fire ("test_event4" , {"arg1" : 20 , "arg2" : 30 })
0 commit comments