Add stop for demo players (#50485)

This commit is contained in:
definitio 2021-05-12 11:26:12 +03:00 committed by GitHub
parent c79e864394
commit e090581e3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 0 deletions

View File

@ -17,6 +17,7 @@ from homeassistant.components.media_player.const import (
SUPPORT_SELECT_SOUND_MODE,
SUPPORT_SELECT_SOURCE,
SUPPORT_SHUFFLE_SET,
SUPPORT_STOP,
SUPPORT_TURN_OFF,
SUPPORT_TURN_ON,
SUPPORT_VOLUME_MUTE,
@ -66,6 +67,7 @@ YOUTUBE_PLAYER_SUPPORT = (
| SUPPORT_SHUFFLE_SET
| SUPPORT_SELECT_SOUND_MODE
| SUPPORT_SEEK
| SUPPORT_STOP
)
MUSIC_PLAYER_SUPPORT = (
@ -83,6 +85,7 @@ MUSIC_PLAYER_SUPPORT = (
| SUPPORT_PREVIOUS_TRACK
| SUPPORT_NEXT_TRACK
| SUPPORT_SELECT_SOUND_MODE
| SUPPORT_STOP
)
NETFLIX_PLAYER_SUPPORT = (
@ -95,6 +98,7 @@ NETFLIX_PLAYER_SUPPORT = (
| SUPPORT_PREVIOUS_TRACK
| SUPPORT_NEXT_TRACK
| SUPPORT_SELECT_SOUND_MODE
| SUPPORT_STOP
)
@ -199,6 +203,11 @@ class AbstractDemoPlayer(MediaPlayerEntity):
self._player_state = STATE_PAUSED
self.schedule_update_ha_state()
def media_stop(self):
"""Send stop command."""
self._player_state = STATE_OFF
self.schedule_update_ha_state()
def set_shuffle(self, shuffle):
"""Enable/disable shuffle mode."""
self._shuffle = shuffle

View File

@ -400,6 +400,26 @@ async def test_seek(hass, mock_media_seek):
assert mock_media_seek.called
async def test_stop(hass):
"""Test stop."""
assert await async_setup_component(
hass, mp.DOMAIN, {"media_player": {"platform": "demo"}}
)
await hass.async_block_till_done()
state = hass.states.get(TEST_ENTITY_ID)
assert state.state == STATE_PLAYING
await hass.services.async_call(
mp.DOMAIN,
mp.SERVICE_MEDIA_STOP,
{ATTR_ENTITY_ID: TEST_ENTITY_ID},
blocking=True,
)
state = hass.states.get(TEST_ENTITY_ID)
assert state.state == STATE_OFF
async def test_media_image_proxy(hass, hass_client):
"""Test the media server image proxy server ."""
assert await async_setup_component(