Log error when integration is missing platform setup (#30690)

This commit is contained in:
Paulus Schoutsen 2020-01-11 18:21:57 -08:00
parent c00af14ee2
commit dc57d670d8
2 changed files with 24 additions and 0 deletions

View File

@ -83,6 +83,16 @@ class EntityPlatform:
platform = self.platform
hass = self.hass
if not hasattr(platform, "async_setup_platform") and not hasattr(
platform, "setup_platform"
):
self.logger.error(
"The %s platform for the %s integration does not support platform setup. Please remove it from your config.",
self.platform_name,
self.domain,
)
return
@callback
def async_create_setup_task():
"""Get task to set up platform."""

View File

@ -834,3 +834,17 @@ async def test_override_restored_entities(hass):
state = hass.states.get("test_domain.world")
assert state.state == "on"
async def test_platform_with_no_setup(hass, caplog):
"""Test setting up a platform that doesnt' support setup."""
entity_platform = MockEntityPlatform(
hass, domain="mock-integration", platform_name="mock-platform", platform=None
)
await entity_platform.async_setup(None)
assert (
"The mock-platform platform for the mock-integration integration does not support platform setup."
in caplog.text
)