mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Use config entry title to name SamsungTV entities (#144254)
This commit is contained in:
parent
fbae79fab2
commit
bdf6f7f590
@ -12,7 +12,6 @@ from homeassistant.const import (
|
|||||||
CONF_HOST,
|
CONF_HOST,
|
||||||
CONF_MAC,
|
CONF_MAC,
|
||||||
CONF_MODEL,
|
CONF_MODEL,
|
||||||
CONF_NAME,
|
|
||||||
)
|
)
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers import device_registry as dr
|
from homeassistant.helpers import device_registry as dr
|
||||||
@ -41,7 +40,6 @@ class SamsungTVEntity(CoordinatorEntity[SamsungTVDataUpdateCoordinator], Entity)
|
|||||||
# Fallback for legacy models that doesn't have a API to retrieve MAC or SerialNumber
|
# Fallback for legacy models that doesn't have a API to retrieve MAC or SerialNumber
|
||||||
self._attr_unique_id = config_entry.unique_id or config_entry.entry_id
|
self._attr_unique_id = config_entry.unique_id or config_entry.entry_id
|
||||||
self._attr_device_info = DeviceInfo(
|
self._attr_device_info = DeviceInfo(
|
||||||
name=config_entry.data.get(CONF_NAME),
|
|
||||||
manufacturer=config_entry.data.get(CONF_MANUFACTURER),
|
manufacturer=config_entry.data.get(CONF_MANUFACTURER),
|
||||||
model=config_entry.data.get(CONF_MODEL),
|
model=config_entry.data.get(CONF_MODEL),
|
||||||
model_id=config_entry.data.get(CONF_MODEL),
|
model_id=config_entry.data.get(CONF_MODEL),
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
StateSnapshot({
|
StateSnapshot({
|
||||||
'attributes': ReadOnlyDict({
|
'attributes': ReadOnlyDict({
|
||||||
'device_class': 'tv',
|
'device_class': 'tv',
|
||||||
'friendly_name': 'any',
|
'friendly_name': 'Mock Title',
|
||||||
'is_volume_muted': False,
|
'is_volume_muted': False,
|
||||||
'source_list': list([
|
'source_list': list([
|
||||||
'TV',
|
'TV',
|
||||||
@ -98,7 +98,7 @@
|
|||||||
'supported_features': <MediaPlayerEntityFeature: 24509>,
|
'supported_features': <MediaPlayerEntityFeature: 24509>,
|
||||||
}),
|
}),
|
||||||
'context': <ANY>,
|
'context': <ANY>,
|
||||||
'entity_id': 'media_player.any',
|
'entity_id': 'media_player.mock_title',
|
||||||
'last_changed': <ANY>,
|
'last_changed': <ANY>,
|
||||||
'last_reported': <ANY>,
|
'last_reported': <ANY>,
|
||||||
'last_updated': <ANY>,
|
'last_updated': <ANY>,
|
||||||
@ -123,7 +123,7 @@
|
|||||||
'disabled_by': None,
|
'disabled_by': None,
|
||||||
'domain': 'media_player',
|
'domain': 'media_player',
|
||||||
'entity_category': None,
|
'entity_category': None,
|
||||||
'entity_id': 'media_player.any',
|
'entity_id': 'media_player.mock_title',
|
||||||
'has_entity_name': True,
|
'has_entity_name': True,
|
||||||
'hidden_by': None,
|
'hidden_by': None,
|
||||||
'icon': None,
|
'icon': None,
|
||||||
|
@ -54,7 +54,7 @@ async def test_if_fires_on_turn_on_request(
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""Test for turn_on and turn_off triggers firing."""
|
"""Test for turn_on and turn_off triggers firing."""
|
||||||
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
|
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
|
||||||
entity_id = "media_player.fake"
|
entity_id = "media_player.mock_title"
|
||||||
|
|
||||||
device = device_registry.async_get_device(
|
device = device_registry.async_get_device(
|
||||||
identifiers={(DOMAIN, "be9554b9-c9fb-41f4-8920-22da015376a4")}
|
identifiers={(DOMAIN, "be9554b9-c9fb-41f4-8920-22da015376a4")}
|
||||||
|
@ -49,7 +49,7 @@ from .const import (
|
|||||||
|
|
||||||
from tests.common import MockConfigEntry, load_json_object_fixture
|
from tests.common import MockConfigEntry, load_json_object_fixture
|
||||||
|
|
||||||
ENTITY_ID = f"{MP_DOMAIN}.fake_name"
|
ENTITY_ID = f"{MP_DOMAIN}.mock_title"
|
||||||
MOCK_CONFIG = {
|
MOCK_CONFIG = {
|
||||||
CONF_HOST: "fake_host",
|
CONF_HOST: "fake_host",
|
||||||
CONF_NAME: "fake_name",
|
CONF_NAME: "fake_name",
|
||||||
@ -65,7 +65,7 @@ async def test_setup(hass: HomeAssistant) -> None:
|
|||||||
|
|
||||||
# test name and turn_on
|
# test name and turn_on
|
||||||
assert state
|
assert state
|
||||||
assert state.name == "fake_name"
|
assert state.name == "Mock Title"
|
||||||
assert (
|
assert (
|
||||||
state.attributes[ATTR_SUPPORTED_FEATURES]
|
state.attributes[ATTR_SUPPORTED_FEATURES]
|
||||||
== SUPPORT_SAMSUNGTV | MediaPlayerEntityFeature.TURN_ON
|
== SUPPORT_SAMSUNGTV | MediaPlayerEntityFeature.TURN_ON
|
||||||
@ -151,8 +151,8 @@ async def test_setup_updates_from_ssdp(
|
|||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert hass.states.get("media_player.any") == snapshot
|
assert hass.states.get("media_player.mock_title") == snapshot
|
||||||
assert entity_registry.async_get("media_player.any") == snapshot
|
assert entity_registry.async_get("media_player.mock_title") == snapshot
|
||||||
assert (
|
assert (
|
||||||
entry.data[CONF_SSDP_MAIN_TV_AGENT_LOCATION]
|
entry.data[CONF_SSDP_MAIN_TV_AGENT_LOCATION]
|
||||||
== "https://fake_host:12345/tv_agent"
|
== "https://fake_host:12345/tv_agent"
|
||||||
|
@ -94,7 +94,7 @@ from tests.common import (
|
|||||||
load_json_object_fixture,
|
load_json_object_fixture,
|
||||||
)
|
)
|
||||||
|
|
||||||
ENTITY_ID = f"{MP_DOMAIN}.fake"
|
ENTITY_ID = f"{MP_DOMAIN}.mock_title"
|
||||||
MOCK_CONFIGWS = {
|
MOCK_CONFIGWS = {
|
||||||
CONF_HOST: "fake_host",
|
CONF_HOST: "fake_host",
|
||||||
CONF_NAME: "fake",
|
CONF_NAME: "fake",
|
||||||
@ -158,12 +158,9 @@ async def test_setup_websocket_2(
|
|||||||
hass: HomeAssistant, freezer: FrozenDateTimeFactory
|
hass: HomeAssistant, freezer: FrozenDateTimeFactory
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test setup of platform from config entry."""
|
"""Test setup of platform from config entry."""
|
||||||
entity_id = f"{MP_DOMAIN}.fake"
|
|
||||||
|
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
domain=DOMAIN,
|
||||||
data=MOCK_ENTRY_WS,
|
data=MOCK_ENTRY_WS,
|
||||||
unique_id=entity_id,
|
|
||||||
)
|
)
|
||||||
entry.add_to_hass(hass)
|
entry.add_to_hass(hass)
|
||||||
|
|
||||||
@ -188,7 +185,7 @@ async def test_setup_websocket_2(
|
|||||||
async_fire_time_changed(hass)
|
async_fire_time_changed(hass)
|
||||||
await hass.async_block_till_done(wait_background_tasks=True)
|
await hass.async_block_till_done(wait_background_tasks=True)
|
||||||
|
|
||||||
state = hass.states.get(entity_id)
|
state = hass.states.get(ENTITY_ID)
|
||||||
assert state
|
assert state
|
||||||
remote_class.assert_called_once_with(**MOCK_CALLS_WS)
|
remote_class.assert_called_once_with(**MOCK_CALLS_WS)
|
||||||
|
|
||||||
@ -640,7 +637,7 @@ async def test_name(hass: HomeAssistant) -> None:
|
|||||||
"""Test for name property."""
|
"""Test for name property."""
|
||||||
await setup_samsungtv_entry(hass, MOCK_CONFIG)
|
await setup_samsungtv_entry(hass, MOCK_CONFIG)
|
||||||
state = hass.states.get(ENTITY_ID)
|
state = hass.states.get(ENTITY_ID)
|
||||||
assert state.attributes[ATTR_FRIENDLY_NAME] == "fake"
|
assert state.attributes[ATTR_FRIENDLY_NAME] == "Mock Title"
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("remote")
|
@pytest.mark.usefixtures("remote")
|
||||||
|
@ -21,7 +21,7 @@ from .const import MOCK_CONFIG, MOCK_ENTRY_WS_WITH_MAC, MOCK_ENTRYDATA_ENCRYPTED
|
|||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
ENTITY_ID = f"{REMOTE_DOMAIN}.fake"
|
ENTITY_ID = f"{REMOTE_DOMAIN}.mock_title"
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("remoteencws", "rest_api")
|
@pytest.mark.usefixtures("remoteencws", "rest_api")
|
||||||
|
@ -28,7 +28,7 @@ async def test_turn_on_trigger_device_id(
|
|||||||
"""Test for turn_on triggers by device_id firing."""
|
"""Test for turn_on triggers by device_id firing."""
|
||||||
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
|
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
|
||||||
|
|
||||||
entity_id = f"{entity_domain}.fake"
|
entity_id = f"{entity_domain}.mock_title"
|
||||||
|
|
||||||
device = device_registry.async_get_device(
|
device = device_registry.async_get_device(
|
||||||
identifiers={(DOMAIN, "be9554b9-c9fb-41f4-8920-22da015376a4")}
|
identifiers={(DOMAIN, "be9554b9-c9fb-41f4-8920-22da015376a4")}
|
||||||
@ -92,7 +92,7 @@ async def test_turn_on_trigger_entity_id(
|
|||||||
"""Test for turn_on triggers by entity_id firing."""
|
"""Test for turn_on triggers by entity_id firing."""
|
||||||
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
|
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
|
||||||
|
|
||||||
entity_id = f"{entity_domain}.fake"
|
entity_id = f"{entity_domain}.mock_title"
|
||||||
|
|
||||||
assert await async_setup_component(
|
assert await async_setup_component(
|
||||||
hass,
|
hass,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user