From 30ecba9944c8921c43f1ae11c4bf573d8a47dc04 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 14 May 2025 11:58:01 +0200 Subject: [PATCH] Finish cleaning up SamsungTV init tests (#144865) FInish cleaning up SamsungTV init tests --- .../samsungtv/snapshots/test_init.ambr | 59 ------------------- tests/components/samsungtv/test_init.py | 45 +++++--------- 2 files changed, 14 insertions(+), 90 deletions(-) diff --git a/tests/components/samsungtv/snapshots/test_init.ambr b/tests/components/samsungtv/snapshots/test_init.ambr index 96dfed3b1ce..b29b824a7dd 100644 --- a/tests/components/samsungtv/snapshots/test_init.ambr +++ b/tests/components/samsungtv/snapshots/test_init.ambr @@ -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': , - }), - 'context': , - 'entity_id': 'media_player.mock_title', - 'last_changed': , - 'last_reported': , - 'last_updated': , - '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': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - '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': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': None, - 'platform': 'samsungtv', - 'previous_unique_id': None, - 'supported_features': , - 'translation_key': None, - 'unique_id': 'sample-entry-id', - 'unit_of_measurement': None, - }) -# --- diff --git a/tests/components/samsungtv/test_init.py b/tests/components/samsungtv/test_init.py index 26bfbf328fa..74af1b72c1c 100644 --- a/tests/components/samsungtv/test_init.py +++ b/tests/components/samsungtv/test_init.py @@ -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_" )