Finish cleaning up SamsungTV init tests (#144865)

FInish cleaning up SamsungTV init tests
This commit is contained in:
epenet 2025-05-14 11:58:01 +02:00 committed by GitHub
parent 4287df5f3d
commit 30ecba9944
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 90 deletions

View File

@ -112,62 +112,3 @@
}),
])
# ---
# name: test_setup_updates_from_ssdp
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'tv',
'friendly_name': 'Mock Title',
'is_volume_muted': False,
'source_list': list([
'TV',
'HDMI',
]),
'supported_features': <MediaPlayerEntityFeature: 24509>,
}),
'context': <ANY>,
'entity_id': 'media_player.mock_title',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_setup_updates_from_ssdp.1
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'source_list': list([
'TV',
'HDMI',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'media_player',
'entity_category': None,
'entity_id': 'media_player.mock_title',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <MediaPlayerDeviceClass.TV: 'tv'>,
'original_icon': None,
'original_name': None,
'platform': 'samsungtv',
'previous_unique_id': None,
'supported_features': <MediaPlayerEntityFeature: 24509>,
'translation_key': None,
'unique_id': 'sample-entry-id',
'unit_of_measurement': None,
})
# ---

View File

@ -6,7 +6,6 @@ from unittest.mock import Mock, patch
import pytest
from syrupy.assertion import SnapshotAssertion
from homeassistant.components.media_player import DOMAIN as MP_DOMAIN
from homeassistant.components.samsungtv.const import (
CONF_SESSION_ID,
CONF_SSDP_MAIN_TV_AGENT_LOCATION,
@ -19,16 +18,9 @@ from homeassistant.components.samsungtv.const import (
UPNP_SVC_RENDERING_CONTROL,
)
from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import (
CONF_HOST,
CONF_MAC,
CONF_METHOD,
CONF_NAME,
CONF_PORT,
CONF_TOKEN,
)
from homeassistant.const import CONF_MAC, CONF_MODEL, CONF_TOKEN
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
from homeassistant.helpers import device_registry as dr
from . import setup_samsungtv_entry
from .const import (
@ -41,14 +33,6 @@ from .const import (
from tests.common import MockConfigEntry, load_json_object_fixture
ENTITY_ID = f"{MP_DOMAIN}.mock_title"
MOCK_CONFIG = {
CONF_HOST: "fake_host",
CONF_NAME: "fake_name",
CONF_METHOD: METHOD_WEBSOCKET,
CONF_PORT: 8001,
}
@pytest.mark.parametrize(
"entry_data",
@ -76,7 +60,7 @@ async def test_setup(
assert device_entries == snapshot
@pytest.mark.usefixtures("remote_websocket", "remote_encrypted_websocket_failing")
@pytest.mark.usefixtures("remote_websocket")
async def test_setup_h_j_model(
hass: HomeAssistant, rest_api: Mock, caplog: pytest.LogCaptureFixture
) -> None:
@ -84,23 +68,26 @@ async def test_setup_h_j_model(
rest_api.rest_device_info.return_value = load_json_object_fixture(
"device_info_UE48JU6400.json", DOMAIN
)
await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.async_block_till_done()
state = hass.states.get(ENTITY_ID)
assert state
entry = await setup_samsungtv_entry(
hass, {**ENTRYDATA_WEBSOCKET, CONF_MODEL: "UE48JU6400"}
)
assert entry.state is ConfigEntryState.LOADED
assert "H and J series use an encrypted protocol" in caplog.text
@pytest.mark.usefixtures("remote_websocket", "rest_api")
async def test_setup_updates_from_ssdp(
hass: HomeAssistant, entity_registry: er.EntityRegistry, snapshot: SnapshotAssertion
) -> None:
@pytest.mark.usefixtures("remote_websocket")
async def test_setup_updates_from_ssdp(hass: HomeAssistant) -> None:
"""Test setting up the entry fetches data from ssdp cache."""
entry = MockConfigEntry(
domain="samsungtv", data=ENTRYDATA_WEBSOCKET, entry_id="sample-entry-id"
)
entry.add_to_hass(hass)
assert not entry.data.get(CONF_SSDP_MAIN_TV_AGENT_LOCATION)
assert not entry.data.get(CONF_SSDP_RENDERING_CONTROL_LOCATION)
async def _mock_async_get_discovery_info_by_st(hass: HomeAssistant, mock_st: str):
if mock_st == UPNP_SVC_RENDERING_CONTROL:
return [MOCK_SSDP_DATA_RENDERING_CONTROL_ST]
@ -113,11 +100,7 @@ async def test_setup_updates_from_ssdp(
_mock_async_get_discovery_info_by_st,
):
await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()
await hass.async_block_till_done()
assert hass.states.get("media_player.mock_title") == snapshot
assert entity_registry.async_get("media_player.mock_title") == snapshot
assert (
entry.data[CONF_SSDP_MAIN_TV_AGENT_LOCATION] == "http://10.10.12.34:7676/smp_2_"
)