Respect entity namespace for entity registry (#12313)
* Respect entity namespace for entity registry * Lintpull/12542/head
parent
3b3050434a
commit
eb7adc74ef
|
@ -209,6 +209,10 @@ class EntityPlatform(object):
|
||||||
else:
|
else:
|
||||||
suggested_object_id = entity.name
|
suggested_object_id = entity.name
|
||||||
|
|
||||||
|
if self.entity_namespace is not None:
|
||||||
|
suggested_object_id = '{} {}'.format(
|
||||||
|
self.entity_namespace, suggested_object_id)
|
||||||
|
|
||||||
entry = registry.async_get_or_create(
|
entry = registry.async_get_or_create(
|
||||||
self.domain, self.platform_name, entity.unique_id,
|
self.domain, self.platform_name, entity.unique_id,
|
||||||
suggested_object_id=suggested_object_id)
|
suggested_object_id=suggested_object_id)
|
||||||
|
|
|
@ -21,6 +21,32 @@ _LOGGER = logging.getLogger(__name__)
|
||||||
DOMAIN = "test_domain"
|
DOMAIN = "test_domain"
|
||||||
|
|
||||||
|
|
||||||
|
class MockEntityPlatform(entity_platform.EntityPlatform):
|
||||||
|
"""Mock class with some mock defaults."""
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, *, hass,
|
||||||
|
logger=None,
|
||||||
|
domain='test',
|
||||||
|
platform_name='test_platform',
|
||||||
|
scan_interval=timedelta(seconds=15),
|
||||||
|
parallel_updates=0,
|
||||||
|
entity_namespace=None,
|
||||||
|
async_entities_added_callback=lambda: None
|
||||||
|
):
|
||||||
|
"""Initialize a mock entity platform."""
|
||||||
|
super().__init__(
|
||||||
|
hass=hass,
|
||||||
|
logger=logger,
|
||||||
|
domain=domain,
|
||||||
|
platform_name=platform_name,
|
||||||
|
scan_interval=scan_interval,
|
||||||
|
parallel_updates=parallel_updates,
|
||||||
|
entity_namespace=entity_namespace,
|
||||||
|
async_entities_added_callback=async_entities_added_callback,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestHelpersEntityPlatform(unittest.TestCase):
|
class TestHelpersEntityPlatform(unittest.TestCase):
|
||||||
"""Test homeassistant.helpers.entity_component module."""
|
"""Test homeassistant.helpers.entity_component module."""
|
||||||
|
|
||||||
|
@ -454,3 +480,13 @@ def test_overriding_name_from_registry(hass):
|
||||||
state = hass.states.get('test_domain.world')
|
state = hass.states.get('test_domain.world')
|
||||||
assert state is not None
|
assert state is not None
|
||||||
assert state.name == 'Overridden'
|
assert state.name == 'Overridden'
|
||||||
|
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def test_registry_respect_entity_namespace(hass):
|
||||||
|
"""Test that the registry respects entity namespace."""
|
||||||
|
mock_registry(hass)
|
||||||
|
platform = MockEntityPlatform(hass=hass, entity_namespace='ns')
|
||||||
|
entity = MockEntity(unique_id='1234', name='Device Name')
|
||||||
|
yield from platform.async_add_entities([entity])
|
||||||
|
assert entity.entity_id == 'test.ns_device_name'
|
||||||
|
|
Loading…
Reference in New Issue