Adjust imports in samsungtv tests (#120409)

This commit is contained in:
epenet 2024-06-25 17:08:10 +02:00 committed by GitHub
parent 6e5bc0da94
commit 6a370bde34
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 68 additions and 65 deletions

View file

@ -6,13 +6,16 @@ import pytest
from samsungtvws.async_remote import SamsungTVWSAsyncRemote from samsungtvws.async_remote import SamsungTVWSAsyncRemote
from syrupy.assertion import SnapshotAssertion from syrupy.assertion import SnapshotAssertion
from homeassistant.components.media_player import DOMAIN, MediaPlayerEntityFeature from homeassistant.components.media_player import (
DOMAIN as MP_DOMAIN,
MediaPlayerEntityFeature,
)
from homeassistant.components.samsungtv.const import ( from homeassistant.components.samsungtv.const import (
CONF_MANUFACTURER, CONF_MANUFACTURER,
CONF_SESSION_ID, CONF_SESSION_ID,
CONF_SSDP_MAIN_TV_AGENT_LOCATION, CONF_SSDP_MAIN_TV_AGENT_LOCATION,
CONF_SSDP_RENDERING_CONTROL_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION,
DOMAIN as SAMSUNGTV_DOMAIN, DOMAIN,
LEGACY_PORT, LEGACY_PORT,
METHOD_LEGACY, METHOD_LEGACY,
METHOD_WEBSOCKET, METHOD_WEBSOCKET,
@ -47,7 +50,7 @@ from .const import (
from tests.common import MockConfigEntry from tests.common import MockConfigEntry
ENTITY_ID = f"{DOMAIN}.fake_name" ENTITY_ID = f"{MP_DOMAIN}.fake_name"
MOCK_CONFIG = { MOCK_CONFIG = {
CONF_HOST: "fake_host", CONF_HOST: "fake_host",
CONF_NAME: "fake_name", CONF_NAME: "fake_name",
@ -71,7 +74,7 @@ async def test_setup(hass: HomeAssistant) -> None:
# test host and port # test host and port
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
@ -94,7 +97,7 @@ async def test_setup_without_port_device_offline(hass: HomeAssistant) -> None:
): ):
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
config_entries_domain = hass.config_entries.async_entries(SAMSUNGTV_DOMAIN) config_entries_domain = hass.config_entries.async_entries(DOMAIN)
assert len(config_entries_domain) == 1 assert len(config_entries_domain) == 1
assert config_entries_domain[0].state is ConfigEntryState.SETUP_RETRY assert config_entries_domain[0].state is ConfigEntryState.SETUP_RETRY
@ -104,7 +107,7 @@ async def test_setup_without_port_device_online(hass: HomeAssistant) -> None:
"""Test import from yaml when the device is online.""" """Test import from yaml when the device is online."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
config_entries_domain = hass.config_entries.async_entries(SAMSUNGTV_DOMAIN) config_entries_domain = hass.config_entries.async_entries(DOMAIN)
assert len(config_entries_domain) == 1 assert len(config_entries_domain) == 1
assert config_entries_domain[0].data[CONF_MAC] == "aa:bb:aa:aa:aa:aa" assert config_entries_domain[0].data[CONF_MAC] == "aa:bb:aa:aa:aa:aa"
@ -183,7 +186,7 @@ async def test_update_imported_legacy_without_method(hass: HomeAssistant) -> Non
hass, {CONF_HOST: "fake_host", CONF_MANUFACTURER: "Samsung"} hass, {CONF_HOST: "fake_host", CONF_MANUFACTURER: "Samsung"}
) )
entries = hass.config_entries.async_entries(SAMSUNGTV_DOMAIN) entries = hass.config_entries.async_entries(DOMAIN)
assert len(entries) == 1 assert len(entries) == 1
assert entries[0].data[CONF_METHOD] == METHOD_LEGACY assert entries[0].data[CONF_METHOD] == METHOD_LEGACY
assert entries[0].data[CONF_PORT] == LEGACY_PORT assert entries[0].data[CONF_PORT] == LEGACY_PORT
@ -214,7 +217,7 @@ async def test_incorrectly_formatted_mac_fixed(hass: HomeAssistant) -> None:
) )
await hass.async_block_till_done() await hass.async_block_till_done()
config_entries = hass.config_entries.async_entries(SAMSUNGTV_DOMAIN) config_entries = hass.config_entries.async_entries(DOMAIN)
assert len(config_entries) == 1 assert len(config_entries) == 1
assert config_entries[0].data[CONF_MAC] == "aa:bb:aa:aa:aa:aa" assert config_entries[0].data[CONF_MAC] == "aa:bb:aa:aa:aa:aa"
@ -229,7 +232,7 @@ async def test_cleanup_mac(
Reverted due to device registry collisions in #119249 / #119082 Reverted due to device registry collisions in #119249 / #119082
""" """
entry = MockConfigEntry( entry = MockConfigEntry(
domain=SAMSUNGTV_DOMAIN, domain=DOMAIN,
data=MOCK_ENTRY_WS_WITH_MAC, data=MOCK_ENTRY_WS_WITH_MAC,
entry_id="123456", entry_id="123456",
unique_id="any", unique_id="any",

View file

@ -31,7 +31,7 @@ from homeassistant.components.media_player import (
ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_CONTENT_TYPE,
ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_LEVEL,
ATTR_MEDIA_VOLUME_MUTED, ATTR_MEDIA_VOLUME_MUTED,
DOMAIN, DOMAIN as MP_DOMAIN,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
SERVICE_SELECT_SOURCE, SERVICE_SELECT_SOURCE,
MediaPlayerDeviceClass, MediaPlayerDeviceClass,
@ -39,7 +39,7 @@ from homeassistant.components.media_player import (
) )
from homeassistant.components.samsungtv.const import ( from homeassistant.components.samsungtv.const import (
CONF_SSDP_RENDERING_CONTROL_LOCATION, CONF_SSDP_RENDERING_CONTROL_LOCATION,
DOMAIN as SAMSUNGTV_DOMAIN, DOMAIN,
ENCRYPTED_WEBSOCKET_PORT, ENCRYPTED_WEBSOCKET_PORT,
METHOD_ENCRYPTED_WEBSOCKET, METHOD_ENCRYPTED_WEBSOCKET,
METHOD_WEBSOCKET, METHOD_WEBSOCKET,
@ -91,7 +91,7 @@ from .const import (
from tests.common import MockConfigEntry, async_fire_time_changed from tests.common import MockConfigEntry, async_fire_time_changed
ENTITY_ID = f"{DOMAIN}.fake" ENTITY_ID = f"{MP_DOMAIN}.fake"
MOCK_CONFIGWS = { MOCK_CONFIGWS = {
CONF_HOST: "fake_host", CONF_HOST: "fake_host",
CONF_NAME: "fake", CONF_NAME: "fake",
@ -145,7 +145,7 @@ async def test_setup_websocket(hass: HomeAssistant) -> None:
await hass.async_block_till_done() await hass.async_block_till_done()
config_entries = hass.config_entries.async_entries(SAMSUNGTV_DOMAIN) config_entries = hass.config_entries.async_entries(DOMAIN)
assert len(config_entries) == 1 assert len(config_entries) == 1
assert config_entries[0].data[CONF_MAC] == "aa:bb:aa:aa:aa:aa" assert config_entries[0].data[CONF_MAC] == "aa:bb:aa:aa:aa:aa"
@ -155,16 +155,16 @@ async def test_setup_websocket_2(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, mock_now: datetime hass: HomeAssistant, freezer: FrozenDateTimeFactory, mock_now: datetime
) -> None: ) -> None:
"""Test setup of platform from config entry.""" """Test setup of platform from config entry."""
entity_id = f"{DOMAIN}.fake" entity_id = f"{MP_DOMAIN}.fake"
entry = MockConfigEntry( entry = MockConfigEntry(
domain=SAMSUNGTV_DOMAIN, domain=DOMAIN,
data=MOCK_ENTRY_WS, data=MOCK_ENTRY_WS,
unique_id=entity_id, unique_id=entity_id,
) )
entry.add_to_hass(hass) entry.add_to_hass(hass)
config_entries = hass.config_entries.async_entries(SAMSUNGTV_DOMAIN) config_entries = hass.config_entries.async_entries(DOMAIN)
assert len(config_entries) == 1 assert len(config_entries) == 1
assert entry is config_entries[0] assert entry is config_entries[0]
@ -549,7 +549,7 @@ async def test_send_key(hass: HomeAssistant, remote: Mock) -> None:
"""Test for send key.""" """Test for send key."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
# key called # key called
@ -563,7 +563,7 @@ async def test_send_key_broken_pipe(hass: HomeAssistant, remote: Mock) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.control = Mock(side_effect=BrokenPipeError("Boom")) remote.control = Mock(side_effect=BrokenPipeError("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -578,7 +578,7 @@ async def test_send_key_connection_closed_retry_succeed(
side_effect=[exceptions.ConnectionClosed("Boom"), DEFAULT_MOCK, DEFAULT_MOCK] side_effect=[exceptions.ConnectionClosed("Boom"), DEFAULT_MOCK, DEFAULT_MOCK]
) )
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
# key because of retry two times # key because of retry two times
@ -595,7 +595,7 @@ async def test_send_key_unhandled_response(hass: HomeAssistant, remote: Mock) ->
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.control = Mock(side_effect=exceptions.UnhandledResponse("Boom")) remote.control = Mock(side_effect=exceptions.UnhandledResponse("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -607,7 +607,7 @@ async def test_send_key_websocketexception(hass: HomeAssistant, remotews: Mock)
await setup_samsungtv_entry(hass, MOCK_CONFIGWS) await setup_samsungtv_entry(hass, MOCK_CONFIGWS)
remotews.send_commands = Mock(side_effect=WebSocketException("Boom")) remotews.send_commands = Mock(side_effect=WebSocketException("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -621,7 +621,7 @@ async def test_send_key_websocketexception_encrypted(
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS) await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
remoteencws.send_commands = Mock(side_effect=WebSocketException("Boom")) remoteencws.send_commands = Mock(side_effect=WebSocketException("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -633,7 +633,7 @@ async def test_send_key_os_error_ws(hass: HomeAssistant, remotews: Mock) -> None
await setup_samsungtv_entry(hass, MOCK_CONFIGWS) await setup_samsungtv_entry(hass, MOCK_CONFIGWS)
remotews.send_commands = Mock(side_effect=OSError("Boom")) remotews.send_commands = Mock(side_effect=OSError("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -647,7 +647,7 @@ async def test_send_key_os_error_ws_encrypted(
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS) await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
remoteencws.send_commands = Mock(side_effect=OSError("Boom")) remoteencws.send_commands = Mock(side_effect=OSError("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -658,7 +658,7 @@ async def test_send_key_os_error(hass: HomeAssistant, remote: Mock) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.control = Mock(side_effect=OSError("Boom")) remote.control = Mock(side_effect=OSError("Boom"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
@ -677,12 +677,12 @@ async def test_state(hass: HomeAssistant, freezer: FrozenDateTimeFactory) -> Non
"""Test for state property.""" """Test for state property."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
assert state.state == STATE_ON assert state.state == STATE_ON
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
state = hass.states.get(ENTITY_ID) state = hass.states.get(ENTITY_ID)
# Should be STATE_UNAVAILABLE after the timer expires # Should be STATE_UNAVAILABLE after the timer expires
@ -733,7 +733,7 @@ async def test_turn_off_websocket(
remotews.send_commands.reset_mock() remotews.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remotews.send_commands.call_count == 1 assert remotews.send_commands.call_count == 1
@ -745,11 +745,11 @@ async def test_turn_off_websocket(
# commands not sent : power off in progress # commands not sent : power off in progress
remotews.send_commands.reset_mock() remotews.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
assert "TV is powering off, not sending keys: ['KEY_VOLUP']" in caplog.text assert "TV is powering off, not sending keys: ['KEY_VOLUP']" in caplog.text
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_SELECT_SOURCE, SERVICE_SELECT_SOURCE,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "Deezer"}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "Deezer"},
True, True,
@ -772,7 +772,7 @@ async def test_turn_off_websocket_frame(
remotews.send_commands.reset_mock() remotews.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remotews.send_commands.call_count == 1 assert remotews.send_commands.call_count == 1
@ -800,7 +800,7 @@ async def test_turn_off_encrypted_websocket(
caplog.clear() caplog.clear()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remoteencws.send_commands.call_count == 1 assert remoteencws.send_commands.call_count == 1
@ -815,7 +815,7 @@ async def test_turn_off_encrypted_websocket(
# commands not sent : power off in progress # commands not sent : power off in progress
remoteencws.send_commands.reset_mock() remoteencws.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
assert "TV is powering off, not sending keys: ['KEY_VOLUP']" in caplog.text assert "TV is powering off, not sending keys: ['KEY_VOLUP']" in caplog.text
remoteencws.send_commands.assert_not_called() remoteencws.send_commands.assert_not_called()
@ -841,7 +841,7 @@ async def test_turn_off_encrypted_websocket_key_type(
caplog.clear() caplog.clear()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remoteencws.send_commands.call_count == 1 assert remoteencws.send_commands.call_count == 1
@ -856,7 +856,7 @@ async def test_turn_off_legacy(hass: HomeAssistant, remote: Mock) -> None:
"""Test for turn_off.""" """Test for turn_off."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
@ -871,7 +871,7 @@ async def test_turn_off_os_error(
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.close = Mock(side_effect=OSError("BOOM")) remote.close = Mock(side_effect=OSError("BOOM"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
assert "Could not establish connection" in caplog.text assert "Could not establish connection" in caplog.text
@ -885,7 +885,7 @@ async def test_turn_off_ws_os_error(
await setup_samsungtv_entry(hass, MOCK_CONFIGWS) await setup_samsungtv_entry(hass, MOCK_CONFIGWS)
remotews.close = Mock(side_effect=OSError("BOOM")) remotews.close = Mock(side_effect=OSError("BOOM"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
assert "Error closing connection" in caplog.text assert "Error closing connection" in caplog.text
@ -899,7 +899,7 @@ async def test_turn_off_encryptedws_os_error(
await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS) await setup_samsungtv_entry(hass, MOCK_ENTRYDATA_ENCRYPTED_WS)
remoteencws.close = Mock(side_effect=OSError("BOOM")) remoteencws.close = Mock(side_effect=OSError("BOOM"))
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
assert "Error closing connection" in caplog.text assert "Error closing connection" in caplog.text
@ -908,7 +908,7 @@ async def test_volume_up(hass: HomeAssistant, remote: Mock) -> None:
"""Test for volume_up.""" """Test for volume_up."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_UP, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
@ -919,7 +919,7 @@ async def test_volume_down(hass: HomeAssistant, remote: Mock) -> None:
"""Test for volume_down.""" """Test for volume_down."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_VOLUME_DOWN, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_VOLUME_DOWN, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
@ -930,7 +930,7 @@ async def test_mute_volume(hass: HomeAssistant, remote: Mock) -> None:
"""Test for mute_volume.""" """Test for mute_volume."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_VOLUME_MUTE, SERVICE_VOLUME_MUTE,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_MUTED: True}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_MUTED: True},
True, True,
@ -944,14 +944,14 @@ async def test_media_play(hass: HomeAssistant, remote: Mock) -> None:
"""Test for media_play.""" """Test for media_play."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_MEDIA_PLAY, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_MEDIA_PLAY, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
assert remote.control.call_args_list == [call("KEY_PLAY")] assert remote.control.call_args_list == [call("KEY_PLAY")]
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_MEDIA_PLAY_PAUSE, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_MEDIA_PLAY_PAUSE, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 2 assert remote.control.call_count == 2
@ -962,14 +962,14 @@ async def test_media_pause(hass: HomeAssistant, remote: Mock) -> None:
"""Test for media_pause.""" """Test for media_pause."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_MEDIA_PAUSE, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_MEDIA_PAUSE, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
assert remote.control.call_args_list == [call("KEY_PAUSE")] assert remote.control.call_args_list == [call("KEY_PAUSE")]
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_MEDIA_PLAY_PAUSE, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_MEDIA_PLAY_PAUSE, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 2 assert remote.control.call_count == 2
@ -980,7 +980,7 @@ async def test_media_next_track(hass: HomeAssistant, remote: Mock) -> None:
"""Test for media_next_track.""" """Test for media_next_track."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_MEDIA_NEXT_TRACK, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_MEDIA_NEXT_TRACK, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
@ -991,7 +991,7 @@ async def test_media_previous_track(hass: HomeAssistant, remote: Mock) -> None:
"""Test for media_previous_track.""" """Test for media_previous_track."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_MEDIA_PREVIOUS_TRACK, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_MEDIA_PREVIOUS_TRACK, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# key called # key called
assert remote.control.call_count == 1 assert remote.control.call_count == 1
@ -1002,7 +1002,7 @@ async def test_media_previous_track(hass: HomeAssistant, remote: Mock) -> None:
async def test_turn_on_wol(hass: HomeAssistant) -> None: async def test_turn_on_wol(hass: HomeAssistant) -> None:
"""Test turn on.""" """Test turn on."""
entry = MockConfigEntry( entry = MockConfigEntry(
domain=SAMSUNGTV_DOMAIN, domain=DOMAIN,
data=MOCK_ENTRY_WS_WITH_MAC, data=MOCK_ENTRY_WS_WITH_MAC,
unique_id="any", unique_id="any",
) )
@ -1013,7 +1013,7 @@ async def test_turn_on_wol(hass: HomeAssistant) -> None:
"homeassistant.components.samsungtv.entity.send_magic_packet" "homeassistant.components.samsungtv.entity.send_magic_packet"
) as mock_send_magic_packet: ) as mock_send_magic_packet:
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_ON, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_ON, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
await hass.async_block_till_done() await hass.async_block_till_done()
assert mock_send_magic_packet.called assert mock_send_magic_packet.called
@ -1024,7 +1024,7 @@ async def test_turn_on_without_turnon(hass: HomeAssistant, remote: Mock) -> None
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
with pytest.raises(HomeAssistantError, match="does not support this service"): with pytest.raises(HomeAssistantError, match="does not support this service"):
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_ON, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_ON, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
# nothing called as not supported feature # nothing called as not supported feature
assert remote.control.call_count == 0 assert remote.control.call_count == 0
@ -1035,7 +1035,7 @@ async def test_play_media(hass: HomeAssistant, remote: Mock) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
with patch("homeassistant.components.samsungtv.bridge.asyncio.sleep") as sleep: with patch("homeassistant.components.samsungtv.bridge.asyncio.sleep") as sleep:
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
{ {
ATTR_ENTITY_ID: ENTITY_ID, ATTR_ENTITY_ID: ENTITY_ID,
@ -1062,7 +1062,7 @@ async def test_play_media_invalid_type(hass: HomeAssistant) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.reset_mock() remote.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
{ {
ATTR_ENTITY_ID: ENTITY_ID, ATTR_ENTITY_ID: ENTITY_ID,
@ -1082,7 +1082,7 @@ async def test_play_media_channel_as_string(hass: HomeAssistant) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.reset_mock() remote.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
{ {
ATTR_ENTITY_ID: ENTITY_ID, ATTR_ENTITY_ID: ENTITY_ID,
@ -1101,7 +1101,7 @@ async def test_play_media_channel_as_non_positive(hass: HomeAssistant) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.reset_mock() remote.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
{ {
ATTR_ENTITY_ID: ENTITY_ID, ATTR_ENTITY_ID: ENTITY_ID,
@ -1118,7 +1118,7 @@ async def test_select_source(hass: HomeAssistant, remote: Mock) -> None:
"""Test for select_source.""" """Test for select_source."""
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_SELECT_SOURCE, SERVICE_SELECT_SOURCE,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "HDMI"}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "HDMI"},
True, True,
@ -1134,7 +1134,7 @@ async def test_select_source_invalid_source(hass: HomeAssistant) -> None:
await setup_samsungtv_entry(hass, MOCK_CONFIG) await setup_samsungtv_entry(hass, MOCK_CONFIG)
remote.reset_mock() remote.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_SELECT_SOURCE, SERVICE_SELECT_SOURCE,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "INVALID"}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "INVALID"},
True, True,
@ -1150,7 +1150,7 @@ async def test_play_media_app(hass: HomeAssistant, remotews: Mock) -> None:
remotews.send_commands.reset_mock() remotews.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_PLAY_MEDIA, SERVICE_PLAY_MEDIA,
{ {
ATTR_ENTITY_ID: ENTITY_ID, ATTR_ENTITY_ID: ENTITY_ID,
@ -1174,7 +1174,7 @@ async def test_select_source_app(hass: HomeAssistant, remotews: Mock) -> None:
remotews.send_commands.reset_mock() remotews.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_SELECT_SOURCE, SERVICE_SELECT_SOURCE,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "Deezer"}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_INPUT_SOURCE: "Deezer"},
True, True,
@ -1199,7 +1199,7 @@ async def test_websocket_unsupported_remote_control(
remotews.send_commands.reset_mock() remotews.send_commands.reset_mock()
await hass.services.async_call( await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True MP_DOMAIN, SERVICE_TURN_OFF, {ATTR_ENTITY_ID: ENTITY_ID}, True
) )
remotews.raise_mock_ws_event_callback( remotews.raise_mock_ws_event_callback(
"ms.error", "ms.error",
@ -1248,7 +1248,7 @@ async def test_volume_control_upnp(
# Upnp action succeeds # Upnp action succeeds
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_VOLUME_SET, SERVICE_VOLUME_SET,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.5}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.5},
True, True,
@ -1262,7 +1262,7 @@ async def test_volume_control_upnp(
status=500, error_code=501, error_desc="Action Failed" status=500, error_code=501, error_desc="Action Failed"
) )
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_VOLUME_SET, SERVICE_VOLUME_SET,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.6}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.6},
True, True,
@ -1281,7 +1281,7 @@ async def test_upnp_not_available(
# Upnp action fails # Upnp action fails
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_VOLUME_SET, SERVICE_VOLUME_SET,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.6}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.6},
True, True,
@ -1299,7 +1299,7 @@ async def test_upnp_missing_service(
# Upnp action fails # Upnp action fails
await hass.services.async_call( await hass.services.async_call(
DOMAIN, MP_DOMAIN,
SERVICE_VOLUME_SET, SERVICE_VOLUME_SET,
{ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.6}, {ATTR_ENTITY_ID: ENTITY_ID, ATTR_MEDIA_VOLUME_LEVEL: 0.6},
True, True,

View file

@ -10,7 +10,7 @@ from homeassistant.components.remote import (
DOMAIN as REMOTE_DOMAIN, DOMAIN as REMOTE_DOMAIN,
SERVICE_SEND_COMMAND, SERVICE_SEND_COMMAND,
) )
from homeassistant.components.samsungtv.const import DOMAIN as SAMSUNGTV_DOMAIN from homeassistant.components.samsungtv.const import DOMAIN
from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, SERVICE_TURN_ON from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, SERVICE_TURN_ON
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
@ -102,7 +102,7 @@ async def test_send_command_service(hass: HomeAssistant, remoteencws: Mock) -> N
async def test_turn_on_wol(hass: HomeAssistant) -> None: async def test_turn_on_wol(hass: HomeAssistant) -> None:
"""Test turn on.""" """Test turn on."""
entry = MockConfigEntry( entry = MockConfigEntry(
domain=SAMSUNGTV_DOMAIN, domain=DOMAIN,
data=MOCK_ENTRY_WS_WITH_MAC, data=MOCK_ENTRY_WS_WITH_MAC,
unique_id="any", unique_id="any",
) )