mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 22:57:17 +00:00
Finish cleaning up SamsungTV init tests (#144865)
FInish cleaning up SamsungTV init tests
This commit is contained in:
parent
4287df5f3d
commit
30ecba9944
@ -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,
|
|
||||||
})
|
|
||||||
# ---
|
|
||||||
|
@ -6,7 +6,6 @@ from unittest.mock import Mock, patch
|
|||||||
import pytest
|
import pytest
|
||||||
from syrupy.assertion import SnapshotAssertion
|
from syrupy.assertion import SnapshotAssertion
|
||||||
|
|
||||||
from homeassistant.components.media_player import DOMAIN as MP_DOMAIN
|
|
||||||
from homeassistant.components.samsungtv.const import (
|
from homeassistant.components.samsungtv.const import (
|
||||||
CONF_SESSION_ID,
|
CONF_SESSION_ID,
|
||||||
CONF_SSDP_MAIN_TV_AGENT_LOCATION,
|
CONF_SSDP_MAIN_TV_AGENT_LOCATION,
|
||||||
@ -19,16 +18,9 @@ from homeassistant.components.samsungtv.const import (
|
|||||||
UPNP_SVC_RENDERING_CONTROL,
|
UPNP_SVC_RENDERING_CONTROL,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntryState
|
from homeassistant.config_entries import ConfigEntryState
|
||||||
from homeassistant.const import (
|
from homeassistant.const import CONF_MAC, CONF_MODEL, CONF_TOKEN
|
||||||
CONF_HOST,
|
|
||||||
CONF_MAC,
|
|
||||||
CONF_METHOD,
|
|
||||||
CONF_NAME,
|
|
||||||
CONF_PORT,
|
|
||||||
CONF_TOKEN,
|
|
||||||
)
|
|
||||||
from homeassistant.core import HomeAssistant
|
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 . import setup_samsungtv_entry
|
||||||
from .const import (
|
from .const import (
|
||||||
@ -41,14 +33,6 @@ 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}.mock_title"
|
|
||||||
MOCK_CONFIG = {
|
|
||||||
CONF_HOST: "fake_host",
|
|
||||||
CONF_NAME: "fake_name",
|
|
||||||
CONF_METHOD: METHOD_WEBSOCKET,
|
|
||||||
CONF_PORT: 8001,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"entry_data",
|
"entry_data",
|
||||||
@ -76,7 +60,7 @@ async def test_setup(
|
|||||||
assert device_entries == snapshot
|
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(
|
async def test_setup_h_j_model(
|
||||||
hass: HomeAssistant, rest_api: Mock, caplog: pytest.LogCaptureFixture
|
hass: HomeAssistant, rest_api: Mock, caplog: pytest.LogCaptureFixture
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -84,23 +68,26 @@ async def test_setup_h_j_model(
|
|||||||
rest_api.rest_device_info.return_value = load_json_object_fixture(
|
rest_api.rest_device_info.return_value = load_json_object_fixture(
|
||||||
"device_info_UE48JU6400.json", DOMAIN
|
"device_info_UE48JU6400.json", DOMAIN
|
||||||
)
|
)
|
||||||
await setup_samsungtv_entry(hass, MOCK_CONFIG)
|
entry = await setup_samsungtv_entry(
|
||||||
await hass.async_block_till_done()
|
hass, {**ENTRYDATA_WEBSOCKET, CONF_MODEL: "UE48JU6400"}
|
||||||
state = hass.states.get(ENTITY_ID)
|
)
|
||||||
assert state
|
|
||||||
|
assert entry.state is ConfigEntryState.LOADED
|
||||||
|
|
||||||
assert "H and J series use an encrypted protocol" in caplog.text
|
assert "H and J series use an encrypted protocol" in caplog.text
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("remote_websocket", "rest_api")
|
@pytest.mark.usefixtures("remote_websocket")
|
||||||
async def test_setup_updates_from_ssdp(
|
async def test_setup_updates_from_ssdp(hass: HomeAssistant) -> None:
|
||||||
hass: HomeAssistant, entity_registry: er.EntityRegistry, snapshot: SnapshotAssertion
|
|
||||||
) -> None:
|
|
||||||
"""Test setting up the entry fetches data from ssdp cache."""
|
"""Test setting up the entry fetches data from ssdp cache."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain="samsungtv", data=ENTRYDATA_WEBSOCKET, entry_id="sample-entry-id"
|
domain="samsungtv", data=ENTRYDATA_WEBSOCKET, entry_id="sample-entry-id"
|
||||||
)
|
)
|
||||||
entry.add_to_hass(hass)
|
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):
|
async def _mock_async_get_discovery_info_by_st(hass: HomeAssistant, mock_st: str):
|
||||||
if mock_st == UPNP_SVC_RENDERING_CONTROL:
|
if mock_st == UPNP_SVC_RENDERING_CONTROL:
|
||||||
return [MOCK_SSDP_DATA_RENDERING_CONTROL_ST]
|
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,
|
_mock_async_get_discovery_info_by_st,
|
||||||
):
|
):
|
||||||
await hass.config_entries.async_setup(entry.entry_id)
|
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 (
|
assert (
|
||||||
entry.data[CONF_SSDP_MAIN_TV_AGENT_LOCATION] == "http://10.10.12.34:7676/smp_2_"
|
entry.data[CONF_SSDP_MAIN_TV_AGENT_LOCATION] == "http://10.10.12.34:7676/smp_2_"
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user