mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Set hass when adding template attribute (#49094)
This commit is contained in:
parent
eac1041277
commit
2d5edeb1ef
@ -211,6 +211,8 @@ class TemplateEntity(Entity):
|
|||||||
if the template or validator resulted in an error.
|
if the template or validator resulted in an error.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
assert self.hass is not None, "hass cannot be None"
|
||||||
|
template.hass = self.hass
|
||||||
attribute = _TemplateAttribute(
|
attribute = _TemplateAttribute(
|
||||||
self, attribute, template, validator, on_update, none_on_template_error
|
self, attribute, template, validator, on_update, none_on_template_error
|
||||||
)
|
)
|
||||||
|
22
tests/components/template/test_template_entity.py
Normal file
22
tests/components/template/test_template_entity.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"""Test template entity."""
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from homeassistant.components.template import template_entity
|
||||||
|
from homeassistant.helpers import template
|
||||||
|
|
||||||
|
|
||||||
|
async def test_template_entity_requires_hass_set():
|
||||||
|
"""Test template entity requires hass to be set before accepting templates."""
|
||||||
|
entity = template_entity.TemplateEntity()
|
||||||
|
|
||||||
|
with pytest.raises(AssertionError):
|
||||||
|
entity.add_template_attribute("_hello", template.Template("Hello"))
|
||||||
|
|
||||||
|
entity.hass = object()
|
||||||
|
entity.add_template_attribute("_hello", template.Template("Hello", None))
|
||||||
|
|
||||||
|
tpl_with_hass = template.Template("Hello", entity.hass)
|
||||||
|
entity.add_template_attribute("_hello", tpl_with_hass)
|
||||||
|
|
||||||
|
# Because hass is set in `add_template_attribute`, both templates match `tpl_with_hass`
|
||||||
|
assert len(entity._template_attrs.get(tpl_with_hass, [])) == 2
|
Loading…
x
Reference in New Issue
Block a user