Improve config entry has already been setup error message (#117091)

This commit is contained in:
J. Nick Koston 2024-05-08 14:16:08 -05:00 committed by GitHub
parent 92b246fda9
commit 84a91a86a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 2 deletions

View File

@ -182,7 +182,10 @@ class EntityComponent(Generic[_EntityT]):
key = config_entry.entry_id key = config_entry.entry_id
if key in self._platforms: if key in self._platforms:
raise ValueError("Config entry has already been setup!") raise ValueError(
f"Config entry {config_entry.title} ({key}) for "
f"{platform_type}.{self.domain} has already been setup!"
)
self._platforms[key] = self._async_init_entity_platform( self._platforms[key] = self._async_init_entity_platform(
platform_type, platform_type,

View File

@ -3,6 +3,7 @@
from collections import OrderedDict from collections import OrderedDict
from datetime import timedelta from datetime import timedelta
import logging import logging
import re
from unittest.mock import AsyncMock, Mock, patch from unittest.mock import AsyncMock, Mock, patch
from freezegun import freeze_time from freezegun import freeze_time
@ -363,7 +364,13 @@ async def test_setup_entry_fails_duplicate(hass: HomeAssistant) -> None:
assert await component.async_setup_entry(entry) assert await component.async_setup_entry(entry)
with pytest.raises(ValueError): with pytest.raises(
ValueError,
match=re.escape(
f"Config entry Mock Title ({entry.entry_id}) for "
"entry_domain.test_domain has already been setup!"
),
):
await component.async_setup_entry(entry) await component.async_setup_entry(entry)