diff --git a/tests/components/arcam_fmj/test_media_player.py b/tests/components/arcam_fmj/test_media_player.py index d3b221a05fd..19a0f456d7f 100644 --- a/tests/components/arcam_fmj/test_media_player.py +++ b/tests/components/arcam_fmj/test_media_player.py @@ -5,12 +5,12 @@ from unittest.mock import ANY, PropertyMock, patch from arcam.fmj import DecodeMode2CH, DecodeModeMCH, SourceCodes import pytest -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_INPUT_SOURCE, ATTR_SOUND_MODE, ATTR_SOUND_MODE_LIST, - MEDIA_TYPE_MUSIC, SERVICE_SELECT_SOURCE, + MediaType, ) from homeassistant.const import ( ATTR_ENTITY_ID, @@ -226,8 +226,8 @@ async def test_set_volume_level(player, state, volume, call): @pytest.mark.parametrize( "source, media_content_type", [ - (SourceCodes.DAB, MEDIA_TYPE_MUSIC), - (SourceCodes.FM, MEDIA_TYPE_MUSIC), + (SourceCodes.DAB, MediaType.MUSIC), + (SourceCodes.FM, MediaType.MUSIC), (SourceCodes.PVR, None), (None, None), ], diff --git a/tests/components/cast/test_media_player.py b/tests/components/cast/test_media_player.py index 9d3e1a6d534..a983a51e99d 100644 --- a/tests/components/cast/test_media_player.py +++ b/tests/components/cast/test_media_player.py @@ -16,10 +16,7 @@ import yarl from homeassistant.components import media_player, tts from homeassistant.components.cast import media_player as cast from homeassistant.components.cast.media_player import ChromecastInfo -from homeassistant.components.media_player import BrowseMedia -from homeassistant.components.media_player.const import ( - MEDIA_CLASS_APP, - MEDIA_CLASS_PLAYLIST, +from homeassistant.components.media_player import ( SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PLAY, @@ -31,6 +28,8 @@ from homeassistant.components.media_player.const import ( SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, + BrowseMedia, + MediaClass, ) from homeassistant.config import async_process_ha_core_config from homeassistant.const import ( @@ -2110,7 +2109,7 @@ async def test_cast_platform_browse_media(hass: HomeAssistant, hass_ws_client): return_value=[ BrowseMedia( title="Spotify", - media_class=MEDIA_CLASS_APP, + media_class=MediaClass.APP, media_content_id="", media_content_type="spotify", thumbnail="https://brands.home-assistant.io/_/spotify/logo.png", @@ -2122,7 +2121,7 @@ async def test_cast_platform_browse_media(hass: HomeAssistant, hass_ws_client): async_browse_media=AsyncMock( return_value=BrowseMedia( title="Spotify Favourites", - media_class=MEDIA_CLASS_PLAYLIST, + media_class=MediaClass.PLAYLIST, media_content_id="", media_content_type="spotify", can_play=True, diff --git a/tests/components/directv/test_media_player.py b/tests/components/directv/test_media_player.py index 1c03758af72..84f72a5409e 100644 --- a/tests/components/directv/test_media_player.py +++ b/tests/components/directv/test_media_player.py @@ -12,8 +12,7 @@ from homeassistant.components.directv.media_player import ( ATTR_MEDIA_RECORDED, ATTR_MEDIA_START_TIME, ) -from homeassistant.components.media_player import MediaPlayerDeviceClass -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_INPUT_SOURCE, ATTR_MEDIA_ALBUM_NAME, ATTR_MEDIA_ARTIST, @@ -27,9 +26,6 @@ from homeassistant.components.media_player.const import ( ATTR_MEDIA_SERIES_TITLE, ATTR_MEDIA_TITLE, DOMAIN as MP_DOMAIN, - MEDIA_TYPE_MOVIE, - MEDIA_TYPE_MUSIC, - MEDIA_TYPE_TVSHOW, SERVICE_PLAY_MEDIA, SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, @@ -39,6 +35,8 @@ from homeassistant.components.media_player.const import ( SUPPORT_STOP, SUPPORT_TURN_OFF, SUPPORT_TURN_ON, + MediaPlayerDeviceClass, + MediaType, ) from homeassistant.const import ( ATTR_ENTITY_ID, @@ -218,7 +216,7 @@ async def test_check_attributes( assert state.state == STATE_PLAYING assert state.attributes.get(ATTR_MEDIA_CONTENT_ID) == "17016356" - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_MOVIE + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.MOVIE assert state.attributes.get(ATTR_MEDIA_DURATION) == 7200 assert state.attributes.get(ATTR_MEDIA_POSITION) == 4437 assert state.attributes.get(ATTR_MEDIA_POSITION_UPDATED_AT) @@ -237,7 +235,7 @@ async def test_check_attributes( assert state.state == STATE_PLAYING assert state.attributes.get(ATTR_MEDIA_CONTENT_ID) == "4405732" - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_TVSHOW + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.TVSHOW assert state.attributes.get(ATTR_MEDIA_DURATION) == 1791 assert state.attributes.get(ATTR_MEDIA_POSITION) == 263 assert state.attributes.get(ATTR_MEDIA_POSITION_UPDATED_AT) @@ -256,7 +254,7 @@ async def test_check_attributes( assert state.state == STATE_PLAYING assert state.attributes.get(ATTR_MEDIA_CONTENT_ID) == "76917562" - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_MUSIC + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.MUSIC assert state.attributes.get(ATTR_MEDIA_DURATION) == 86400 assert state.attributes.get(ATTR_MEDIA_POSITION) == 15050 assert state.attributes.get(ATTR_MEDIA_POSITION_UPDATED_AT) diff --git a/tests/components/forked_daapd/test_media_player.py b/tests/components/forked_daapd/test_media_player.py index c18b8df3f1c..8035ec99777 100644 --- a/tests/components/forked_daapd/test_media_player.py +++ b/tests/components/forked_daapd/test_media_player.py @@ -19,23 +19,6 @@ from homeassistant.components.forked_daapd.const import ( SUPPORTED_FEATURES_ZONE, ) from homeassistant.components.media_player import ( - SERVICE_CLEAR_PLAYLIST, - SERVICE_MEDIA_NEXT_TRACK, - SERVICE_MEDIA_PAUSE, - SERVICE_MEDIA_PLAY, - SERVICE_MEDIA_PREVIOUS_TRACK, - SERVICE_MEDIA_SEEK, - SERVICE_MEDIA_STOP, - SERVICE_PLAY_MEDIA, - SERVICE_SELECT_SOURCE, - SERVICE_SHUFFLE_SET, - SERVICE_TOGGLE, - SERVICE_TURN_OFF, - SERVICE_TURN_ON, - SERVICE_VOLUME_MUTE, - SERVICE_VOLUME_SET, -) -from homeassistant.components.media_player.const import ( ATTR_INPUT_SOURCE, ATTR_MEDIA_ALBUM_ARTIST, ATTR_MEDIA_ALBUM_NAME, @@ -51,8 +34,22 @@ from homeassistant.components.media_player.const import ( ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED, DOMAIN as MP_DOMAIN, - MEDIA_TYPE_MUSIC, - MEDIA_TYPE_TVSHOW, + SERVICE_CLEAR_PLAYLIST, + SERVICE_MEDIA_NEXT_TRACK, + SERVICE_MEDIA_PAUSE, + SERVICE_MEDIA_PLAY, + SERVICE_MEDIA_PREVIOUS_TRACK, + SERVICE_MEDIA_SEEK, + SERVICE_MEDIA_STOP, + SERVICE_PLAY_MEDIA, + SERVICE_SELECT_SOURCE, + SERVICE_SHUFFLE_SET, + SERVICE_TOGGLE, + SERVICE_TURN_OFF, + SERVICE_TURN_ON, + SERVICE_VOLUME_MUTE, + SERVICE_VOLUME_SET, + MediaType, ) from homeassistant.config_entries import SOURCE_USER from homeassistant.const import ( @@ -360,7 +357,7 @@ def test_master_state(hass, mock_api_object): assert not state.attributes[ATTR_MEDIA_VOLUME_MUTED] assert state.attributes[ATTR_MEDIA_VOLUME_LEVEL] == 0.2 assert state.attributes[ATTR_MEDIA_CONTENT_ID] == 12322 - assert state.attributes[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert state.attributes[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert state.attributes[ATTR_MEDIA_DURATION] == 0.05 assert state.attributes[ATTR_MEDIA_POSITION] == 0.005 assert state.attributes[ATTR_MEDIA_TITLE] == "No album" # reversed for url @@ -556,7 +553,7 @@ async def test_async_play_media_from_paused(hass, mock_api_object): TEST_MASTER_ENTITY_NAME, SERVICE_PLAY_MEDIA, { - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: "http://example.com/somefile.mp3", }, ) @@ -580,7 +577,7 @@ async def test_async_play_media_from_stopped( TEST_MASTER_ENTITY_NAME, SERVICE_PLAY_MEDIA, { - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: "http://example.com/somefile.mp3", }, ) @@ -597,7 +594,7 @@ async def test_async_play_media_unsupported(hass, mock_api_object): TEST_MASTER_ENTITY_NAME, SERVICE_PLAY_MEDIA, { - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_TVSHOW, + ATTR_MEDIA_CONTENT_TYPE: MediaType.TVSHOW, ATTR_MEDIA_CONTENT_ID: "wontwork.mp4", }, ) @@ -615,7 +612,7 @@ async def test_async_play_media_tts_timeout(hass, mock_api_object): TEST_MASTER_ENTITY_NAME, SERVICE_PLAY_MEDIA, { - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: "http://example.com/somefile.mp3", }, ) @@ -724,7 +721,7 @@ async def test_librespot_java_play_media(hass, pipe_control_api_object): TEST_MASTER_ENTITY_NAME, SERVICE_PLAY_MEDIA, { - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: "http://example.com/somefile.mp3", }, ) @@ -746,7 +743,7 @@ async def test_librespot_java_play_media_pause_timeout(hass, pipe_control_api_ob TEST_MASTER_ENTITY_NAME, SERVICE_PLAY_MEDIA, { - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: "http://example.com/somefile.mp3", }, ) diff --git a/tests/components/google_assistant/test_trait.py b/tests/components/google_assistant/test_trait.py index 6d391df7439..9d80c7ff507 100644 --- a/tests/components/google_assistant/test_trait.py +++ b/tests/components/google_assistant/test_trait.py @@ -29,10 +29,7 @@ from homeassistant.components import ( ) from homeassistant.components.google_assistant import const, error, helpers, trait from homeassistant.components.google_assistant.error import SmartHomeError -from homeassistant.components.media_player.const import ( - MEDIA_TYPE_CHANNEL, - SERVICE_PLAY_MEDIA, -) +from homeassistant.components.media_player import SERVICE_PLAY_MEDIA, MediaType from homeassistant.config import async_process_ha_core_config from homeassistant.const import ( ATTR_ASSUMED_STATE, @@ -3169,7 +3166,7 @@ async def test_channel(hass): assert media_player_calls[0].data == { ATTR_ENTITY_ID: "media_player.demo", media_player.ATTR_MEDIA_CONTENT_ID: "1", - media_player.ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_CHANNEL, + media_player.ATTR_MEDIA_CONTENT_TYPE: MediaType.CHANNEL, } with pytest.raises(SmartHomeError, match="Channel is not available"): diff --git a/tests/components/heos/test_media_player.py b/tests/components/heos/test_media_player.py index ee75793df8e..5e43d6989a8 100644 --- a/tests/components/heos/test_media_player.py +++ b/tests/components/heos/test_media_player.py @@ -10,7 +10,7 @@ from homeassistant.components.heos.const import ( DOMAIN, SIGNAL_HEOS_UPDATED, ) -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_GROUP_MEMBERS, ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST, @@ -27,9 +27,6 @@ from homeassistant.components.media_player.const import ( ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED, DOMAIN as MEDIA_PLAYER_DOMAIN, - MEDIA_TYPE_MUSIC, - MEDIA_TYPE_PLAYLIST, - MEDIA_TYPE_URL, SERVICE_CLEAR_PLAYLIST, SERVICE_JOIN, SERVICE_PLAY_MEDIA, @@ -40,6 +37,7 @@ from homeassistant.components.media_player.const import ( SUPPORT_PLAY, SUPPORT_PREVIOUS_TRACK, SUPPORT_STOP, + MediaType, ) from homeassistant.const import ( ATTR_ENTITY_ID, @@ -77,7 +75,7 @@ async def test_state_attributes(hass, config_entry, config, controller): assert state.attributes[ATTR_MEDIA_VOLUME_LEVEL] == 0.25 assert not state.attributes[ATTR_MEDIA_VOLUME_MUTED] assert state.attributes[ATTR_MEDIA_CONTENT_ID] == "1" - assert state.attributes[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert state.attributes[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ATTR_MEDIA_DURATION not in state.attributes assert ATTR_MEDIA_POSITION not in state.attributes assert state.attributes[ATTR_MEDIA_TITLE] == "Song" @@ -611,7 +609,7 @@ async def test_play_media_url(hass, config_entry, config, controller, caplog): SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: "media_player.test_player", - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_URL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.URL, ATTR_MEDIA_CONTENT_ID: url, }, blocking=True, @@ -634,7 +632,7 @@ async def test_play_media_music(hass, config_entry, config, controller, caplog): SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: "media_player.test_player", - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: url, }, blocking=True, @@ -708,7 +706,7 @@ async def test_play_media_playlist( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: "media_player.test_player", - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_PLAYLIST, + ATTR_MEDIA_CONTENT_TYPE: MediaType.PLAYLIST, ATTR_MEDIA_CONTENT_ID: playlist.name, }, blocking=True, @@ -723,7 +721,7 @@ async def test_play_media_playlist( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: "media_player.test_player", - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_PLAYLIST, + ATTR_MEDIA_CONTENT_TYPE: MediaType.PLAYLIST, ATTR_MEDIA_CONTENT_ID: playlist.name, ATTR_MEDIA_ENQUEUE: True, }, @@ -737,7 +735,7 @@ async def test_play_media_playlist( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: "media_player.test_player", - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_PLAYLIST, + ATTR_MEDIA_CONTENT_TYPE: MediaType.PLAYLIST, ATTR_MEDIA_CONTENT_ID: "Invalid", }, blocking=True, diff --git a/tests/components/media_player/test_init.py b/tests/components/media_player/test_init.py index e7946d447e9..22206133fca 100644 --- a/tests/components/media_player/test_init.py +++ b/tests/components/media_player/test_init.py @@ -6,8 +6,12 @@ from unittest.mock import patch import pytest import voluptuous as vol -from homeassistant.components import media_player -from homeassistant.components.media_player.browse_media import BrowseMedia +from homeassistant.components.media_player import ( + BrowseMedia, + MediaClass, + MediaPlayerEnqueue, + MediaPlayerEntityFeature, +) from homeassistant.components.websocket_api.const import TYPE_RESULT from homeassistant.const import ATTR_ENTITY_ID, STATE_OFF from homeassistant.setup import async_setup_component @@ -133,11 +137,11 @@ async def test_media_browse(hass, hass_ws_client): with patch( "homeassistant.components.demo.media_player.YOUTUBE_PLAYER_SUPPORT", - media_player.MediaPlayerEntityFeature.BROWSE_MEDIA, + MediaPlayerEntityFeature.BROWSE_MEDIA, ), patch( "homeassistant.components.media_player.MediaPlayerEntity.async_browse_media", return_value=BrowseMedia( - media_class=media_player.MEDIA_CLASS_DIRECTORY, + media_class=MediaClass.DIRECTORY, media_content_id="mock-id", media_content_type="mock-type", title="Mock Title", @@ -176,7 +180,7 @@ async def test_media_browse(hass, hass_ws_client): with patch( "homeassistant.components.demo.media_player.YOUTUBE_PLAYER_SUPPORT", - media_player.MediaPlayerEntityFeature.BROWSE_MEDIA, + MediaPlayerEntityFeature.BROWSE_MEDIA, ), patch( "homeassistant.components.media_player.MediaPlayerEntity.async_browse_media", return_value={"bla": "yo"}, @@ -207,8 +211,7 @@ async def test_group_members_available_when_off(hass): # Fake group support for DemoYoutubePlayer with patch( "homeassistant.components.demo.media_player.YOUTUBE_PLAYER_SUPPORT", - media_player.MediaPlayerEntityFeature.GROUPING - | media_player.MediaPlayerEntityFeature.TURN_OFF, + MediaPlayerEntityFeature.GROUPING | MediaPlayerEntityFeature.TURN_OFF, ): await hass.services.async_call( "media_player", @@ -225,12 +228,12 @@ async def test_group_members_available_when_off(hass): @pytest.mark.parametrize( "input,expected", ( - (True, media_player.MediaPlayerEnqueue.ADD), - (False, media_player.MediaPlayerEnqueue.PLAY), - ("play", media_player.MediaPlayerEnqueue.PLAY), - ("next", media_player.MediaPlayerEnqueue.NEXT), - ("add", media_player.MediaPlayerEnqueue.ADD), - ("replace", media_player.MediaPlayerEnqueue.REPLACE), + (True, MediaPlayerEnqueue.ADD), + (False, MediaPlayerEnqueue.PLAY), + ("play", MediaPlayerEnqueue.PLAY), + ("next", MediaPlayerEnqueue.NEXT), + ("add", MediaPlayerEnqueue.ADD), + ("replace", MediaPlayerEnqueue.REPLACE), ), ) async def test_enqueue_rewrite(hass, input, expected): diff --git a/tests/components/media_source/test_init.py b/tests/components/media_source/test_init.py index 33dd263c46c..a87e1e529b9 100644 --- a/tests/components/media_source/test_init.py +++ b/tests/components/media_source/test_init.py @@ -5,7 +5,7 @@ import pytest import yarl from homeassistant.components import media_source -from homeassistant.components.media_player import MEDIA_CLASS_DIRECTORY, BrowseError +from homeassistant.components.media_player import BrowseError, MediaClass from homeassistant.components.media_source import const, models from homeassistant.setup import async_setup_component @@ -160,7 +160,7 @@ async def test_websocket_browse_media(hass, hass_ws_client): domain=media_source.DOMAIN, identifier="/media", title="Local Media", - media_class=MEDIA_CLASS_DIRECTORY, + media_class=MediaClass.DIRECTORY, media_content_type="listing", can_play=False, can_expand=True, diff --git a/tests/components/media_source/test_models.py b/tests/components/media_source/test_models.py index 8372382bb7a..edb2b219831 100644 --- a/tests/components/media_source/test_models.py +++ b/tests/components/media_source/test_models.py @@ -1,9 +1,5 @@ """Test Media Source model methods.""" -from homeassistant.components.media_player.const import ( - MEDIA_CLASS_DIRECTORY, - MEDIA_CLASS_MUSIC, - MEDIA_TYPE_MUSIC, -) +from homeassistant.components.media_player import MediaClass, MediaType from homeassistant.components.media_source import const, models @@ -12,19 +8,19 @@ async def test_browse_media_as_dict(): base = models.BrowseMediaSource( domain=const.DOMAIN, identifier="media", - media_class=MEDIA_CLASS_DIRECTORY, + media_class=MediaClass.DIRECTORY, media_content_type="folder", title="media/", can_play=False, can_expand=True, - children_media_class=MEDIA_CLASS_MUSIC, + children_media_class=MediaClass.MUSIC, ) base.children = [ models.BrowseMediaSource( domain=const.DOMAIN, identifier="media/test.mp3", - media_class=MEDIA_CLASS_MUSIC, - media_content_type=MEDIA_TYPE_MUSIC, + media_class=MediaClass.MUSIC, + media_content_type=MediaType.MUSIC, title="test.mp3", can_play=True, can_expand=False, @@ -33,15 +29,15 @@ async def test_browse_media_as_dict(): item = base.as_dict() assert item["title"] == "media/" - assert item["media_class"] == MEDIA_CLASS_DIRECTORY + assert item["media_class"] == MediaClass.DIRECTORY assert item["media_content_type"] == "folder" assert item["media_content_id"] == f"{const.URI_SCHEME}{const.DOMAIN}/media" assert not item["can_play"] assert item["can_expand"] - assert item["children_media_class"] == MEDIA_CLASS_MUSIC + assert item["children_media_class"] == MediaClass.MUSIC assert len(item["children"]) == 1 assert item["children"][0]["title"] == "test.mp3" - assert item["children"][0]["media_class"] == MEDIA_CLASS_MUSIC + assert item["children"][0]["media_class"] == MediaClass.MUSIC async def test_browse_media_parent_no_children(): @@ -49,7 +45,7 @@ async def test_browse_media_parent_no_children(): base = models.BrowseMediaSource( domain=const.DOMAIN, identifier="media", - media_class=MEDIA_CLASS_DIRECTORY, + media_class=MediaClass.DIRECTORY, media_content_type="folder", title="media/", can_play=False, @@ -58,7 +54,7 @@ async def test_browse_media_parent_no_children(): item = base.as_dict() assert item["title"] == "media/" - assert item["media_class"] == MEDIA_CLASS_DIRECTORY + assert item["media_class"] == MediaClass.DIRECTORY assert item["media_content_type"] == "folder" assert item["media_content_id"] == f"{const.URI_SCHEME}{const.DOMAIN}/media" assert not item["can_play"] diff --git a/tests/components/plex/test_media_search.py b/tests/components/plex/test_media_search.py index e5c19d31c4e..7a81224259c 100644 --- a/tests/components/plex/test_media_search.py +++ b/tests/components/plex/test_media_search.py @@ -4,16 +4,12 @@ from unittest.mock import patch from plexapi.exceptions import BadRequest, NotFound import pytest -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE, DOMAIN as MEDIA_PLAYER_DOMAIN, - MEDIA_TYPE_EPISODE, - MEDIA_TYPE_MOVIE, - MEDIA_TYPE_MUSIC, - MEDIA_TYPE_PLAYLIST, - MEDIA_TYPE_VIDEO, SERVICE_PLAY_MEDIA, + MediaType, ) from homeassistant.components.plex.const import DOMAIN from homeassistant.components.plex.errors import MediaNotFound @@ -59,7 +55,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_EPISODE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.EPISODE, ATTR_MEDIA_CONTENT_ID: payload, }, True, @@ -72,7 +68,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_EPISODE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.EPISODE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "TV Shows", "show_name": "TV Show"}', }, True, @@ -84,7 +80,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_EPISODE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.EPISODE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "TV Shows", "episode_name": "An Episode"}', }, True, @@ -98,7 +94,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_EPISODE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.EPISODE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "TV Shows", "show_name": "TV Show", "season_number": 1}', }, True, @@ -112,7 +108,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_EPISODE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.EPISODE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "TV Shows", "show_name": "TV Show", "season_number": 1, "episode_number": 3}', }, True, @@ -131,7 +127,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Music", "artist_name": "Artist"}', }, True, @@ -143,7 +139,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Music", "album_name": "Album"}', }, True, @@ -155,7 +151,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Music", "artist_name": "Artist", "track_name": "Track 3"}', }, True, @@ -169,7 +165,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Music", "artist_name": "Artist", "album_name": "Album"}', }, True, @@ -183,7 +179,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Music", "artist_name": "Artist", "album_name": "Album", "track_number": 3}', }, True, @@ -202,7 +198,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Music", "artist_name": "Artist", "album_name": "Album", "track_name": "Track 3"}', }, True, @@ -222,7 +218,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_VIDEO, + ATTR_MEDIA_CONTENT_TYPE: MediaType.VIDEO, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Movies", "video_name": "Movie 1"}', }, True, @@ -234,7 +230,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Movies", "title": "Movie 1"}', }, True, @@ -248,7 +244,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_VIDEO, + ATTR_MEDIA_CONTENT_TYPE: MediaType.VIDEO, ATTR_MEDIA_CONTENT_ID: payload, }, True, @@ -263,7 +259,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_VIDEO, + ATTR_MEDIA_CONTENT_TYPE: MediaType.VIDEO, ATTR_MEDIA_CONTENT_ID: payload, }, True, @@ -276,7 +272,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_PLAYLIST, + ATTR_MEDIA_CONTENT_TYPE: MediaType.PLAYLIST, ATTR_MEDIA_CONTENT_ID: '{"playlist_name": "Playlist 1"}', }, True, @@ -289,7 +285,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_PLAYLIST, + ATTR_MEDIA_CONTENT_TYPE: MediaType.PLAYLIST, ATTR_MEDIA_CONTENT_ID: payload, }, True, @@ -303,7 +299,7 @@ async def test_media_lookups(hass, mock_plex_server, requests_mock, playqueue_cr SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player_id, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_PLAYLIST, + ATTR_MEDIA_CONTENT_TYPE: MediaType.PLAYLIST, ATTR_MEDIA_CONTENT_ID: payload, }, True, diff --git a/tests/components/plex/test_playback.py b/tests/components/plex/test_playback.py index 10ab232f64f..6cd4e64f84b 100644 --- a/tests/components/plex/test_playback.py +++ b/tests/components/plex/test_playback.py @@ -4,12 +4,12 @@ from unittest.mock import Mock, patch import pytest -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE, DOMAIN as MP_DOMAIN, - MEDIA_TYPE_MOVIE, SERVICE_PLAY_MEDIA, + MediaType, ) from homeassistant.components.plex.const import CONF_SERVER_IDENTIFIER, PLEX_URI_SCHEME from homeassistant.const import ATTR_ENTITY_ID @@ -69,13 +69,13 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: payload, }, True, ) assert not playmedia_mock.called - assert f"No {MEDIA_TYPE_MOVIE} results in 'Movies' for" in str(excinfo.value) + assert f"No {MediaType.MOVIE} results in 'Movies' for" in str(excinfo.value) movie1 = MockPlexMedia("Movie", "movie") movie2 = MockPlexMedia("Movie II", "movie") @@ -89,7 +89,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Movies", "title": "Movie 1" }', }, True, @@ -104,7 +104,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Movies", "title": "Movie 1", "resume": true}', }, True, @@ -119,7 +119,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: PLEX_URI_SCHEME + f"{DEFAULT_DATA[CONF_SERVER_IDENTIFIER]}/1", }, @@ -134,7 +134,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: PLEX_URI_SCHEME + f"{DEFAULT_DATA[CONF_SERVER_IDENTIFIER]}/1?resume=1", }, @@ -150,7 +150,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: PLEX_URI_SCHEME + "1", }, True, @@ -166,7 +166,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Movies", "title": "Movie" }', }, True, @@ -184,7 +184,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: payload, }, True, @@ -202,7 +202,7 @@ async def test_media_player_playback( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MOVIE, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MOVIE, ATTR_MEDIA_CONTENT_ID: '{"library_name": "Movies", "title": "Movie", "allow_multiple": true }', }, True, diff --git a/tests/components/plex/test_services.py b/tests/components/plex/test_services.py index f0224230c3a..bb9888a8859 100644 --- a/tests/components/plex/test_services.py +++ b/tests/components/plex/test_services.py @@ -7,7 +7,7 @@ from plexapi.exceptions import NotFound import plexapi.playqueue import pytest -from homeassistant.components.media_player.const import MEDIA_TYPE_MUSIC +from homeassistant.components.media_player import MediaType from homeassistant.components.plex.const import ( CONF_SERVER, CONF_SERVER_IDENTIFIER, @@ -140,7 +140,7 @@ async def test_lookup_media_for_other_integrations( # Test with no Plex integration available with pytest.raises(HomeAssistantError) as excinfo: - process_plex_payload(hass, MEDIA_TYPE_MUSIC, CONTENT_ID) + process_plex_payload(hass, MediaType.MUSIC, CONTENT_ID) assert "Plex integration not configured" in str(excinfo.value) with patch( @@ -152,7 +152,7 @@ async def test_lookup_media_for_other_integrations( # Test with no Plex servers available with pytest.raises(HomeAssistantError) as excinfo: - process_plex_payload(hass, MEDIA_TYPE_MUSIC, CONTENT_ID) + process_plex_payload(hass, MediaType.MUSIC, CONTENT_ID) assert "No Plex servers available" in str(excinfo.value) # Complete setup of a Plex server @@ -161,28 +161,28 @@ async def test_lookup_media_for_other_integrations( # Test lookup success without playqueue result = process_plex_payload( - hass, MEDIA_TYPE_MUSIC, CONTENT_ID, supports_playqueues=False + hass, MediaType.MUSIC, CONTENT_ID, supports_playqueues=False ) assert isinstance(result.media, plexapi.audio.Artist) assert not result.shuffle # Test media key payload without playqueue result = process_plex_payload( - hass, MEDIA_TYPE_MUSIC, CONTENT_ID_KEY, supports_playqueues=False + hass, MediaType.MUSIC, CONTENT_ID_KEY, supports_playqueues=False ) assert isinstance(result.media, plexapi.audio.Track) assert not result.shuffle # Test with specified server without playqueue result = process_plex_payload( - hass, MEDIA_TYPE_MUSIC, CONTENT_ID_SERVER, supports_playqueues=False + hass, MediaType.MUSIC, CONTENT_ID_SERVER, supports_playqueues=False ) assert isinstance(result.media, plexapi.audio.Artist) assert not result.shuffle # Test shuffle without playqueue result = process_plex_payload( - hass, MEDIA_TYPE_MUSIC, CONTENT_ID_SHUFFLE, supports_playqueues=False + hass, MediaType.MUSIC, CONTENT_ID_SHUFFLE, supports_playqueues=False ) assert isinstance(result.media, plexapi.audio.Artist) assert result.shuffle @@ -190,12 +190,12 @@ async def test_lookup_media_for_other_integrations( # Test with media not found with patch("plexapi.library.LibrarySection.search", return_value=None): with pytest.raises(HomeAssistantError) as excinfo: - process_plex_payload(hass, MEDIA_TYPE_MUSIC, CONTENT_ID_BAD_MEDIA) - assert f"No {MEDIA_TYPE_MUSIC} results in 'Music' for" in str(excinfo.value) + process_plex_payload(hass, MediaType.MUSIC, CONTENT_ID_BAD_MEDIA) + assert f"No {MediaType.MUSIC} results in 'Music' for" in str(excinfo.value) # Test with playqueue requests_mock.get("https://1.2.3.4:32400/playQueues/1234", text=playqueue_1234) - result = process_plex_payload(hass, MEDIA_TYPE_MUSIC, CONTENT_ID_PLAYQUEUE) + result = process_plex_payload(hass, MediaType.MUSIC, CONTENT_ID_PLAYQUEUE) assert isinstance(result.media, plexapi.playqueue.PlayQueue) # Test with invalid playqueue @@ -203,12 +203,12 @@ async def test_lookup_media_for_other_integrations( "https://1.2.3.4:32400/playQueues/1235", status_code=HTTPStatus.NOT_FOUND ) with pytest.raises(HomeAssistantError) as excinfo: - process_plex_payload(hass, MEDIA_TYPE_MUSIC, CONTENT_ID_BAD_PLAYQUEUE) + process_plex_payload(hass, MediaType.MUSIC, CONTENT_ID_BAD_PLAYQUEUE) assert "PlayQueue '1235' could not be found" in str(excinfo.value) # Test playqueue is created with shuffle requests_mock.post("/playqueues", text=playqueue_created) - result = process_plex_payload(hass, MEDIA_TYPE_MUSIC, CONTENT_ID_SHUFFLE) + result = process_plex_payload(hass, MediaType.MUSIC, CONTENT_ID_SHUFFLE) assert isinstance(result.media, plexapi.playqueue.PlayQueue) @@ -218,7 +218,7 @@ async def test_lookup_media_with_urls(hass, mock_plex_server): # Test URL format result = process_plex_payload( - hass, MEDIA_TYPE_MUSIC, CONTENT_ID_URL, supports_playqueues=False + hass, MediaType.MUSIC, CONTENT_ID_URL, supports_playqueues=False ) assert isinstance(result.media, plexapi.audio.Track) assert result.shuffle is False @@ -226,7 +226,7 @@ async def test_lookup_media_with_urls(hass, mock_plex_server): # Test URL format with shuffle CONTENT_ID_URL_WITH_SHUFFLE = CONTENT_ID_URL + "?shuffle=1" result = process_plex_payload( - hass, MEDIA_TYPE_MUSIC, CONTENT_ID_URL_WITH_SHUFFLE, supports_playqueues=False + hass, MediaType.MUSIC, CONTENT_ID_URL_WITH_SHUFFLE, supports_playqueues=False ) assert isinstance(result.media, plexapi.audio.Track) assert result.shuffle is True diff --git a/tests/components/ps4/test_init.py b/tests/components/ps4/test_init.py index 7cda5b42fa2..bedfa7989f2 100644 --- a/tests/components/ps4/test_init.py +++ b/tests/components/ps4/test_init.py @@ -3,10 +3,10 @@ from unittest.mock import MagicMock, patch from homeassistant import config_entries, data_entry_flow from homeassistant.components import ps4 -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_TITLE, - MEDIA_TYPE_GAME, + MediaType, ) from homeassistant.components.ps4.const import ( ATTR_MEDIA_IMAGE_URL, @@ -86,20 +86,20 @@ MOCK_UNIQUE_ID = "someuniqueid" MOCK_ID = "CUSA00123" MOCK_URL = "http://someurl.jpeg" MOCK_TITLE = "Some Title" -MOCK_TYPE = MEDIA_TYPE_GAME +MOCK_TYPE = MediaType.GAME MOCK_GAMES_DATA_OLD_STR_FORMAT = {"mock_id": "mock_title", "mock_id2": "mock_title2"} MOCK_GAMES_DATA = { ATTR_LOCKED: False, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_GAME, + ATTR_MEDIA_CONTENT_TYPE: MediaType.GAME, ATTR_MEDIA_IMAGE_URL: MOCK_URL, ATTR_MEDIA_TITLE: MOCK_TITLE, } MOCK_GAMES_DATA_LOCKED = { ATTR_LOCKED: True, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_GAME, + ATTR_MEDIA_CONTENT_TYPE: MediaType.GAME, ATTR_MEDIA_IMAGE_URL: MOCK_URL, ATTR_MEDIA_TITLE: MOCK_TITLE, } @@ -215,7 +215,7 @@ def test_games_reformat_to_dict(hass): assert mock_data assert mock_data[ATTR_MEDIA_IMAGE_URL] is None assert mock_data[ATTR_LOCKED] is False - assert mock_data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_GAME + assert mock_data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.GAME def test_load_games(hass): @@ -234,7 +234,7 @@ def test_load_games(hass): assert mock_data[ATTR_MEDIA_TITLE] == MOCK_TITLE assert mock_data[ATTR_MEDIA_IMAGE_URL] == MOCK_URL assert mock_data[ATTR_LOCKED] is False - assert mock_data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_GAME + assert mock_data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.GAME def test_loading_games_returns_dict(hass): diff --git a/tests/components/ps4/test_media_player.py b/tests/components/ps4/test_media_player.py index 3f71f5f9d52..63188d2fa2c 100644 --- a/tests/components/ps4/test_media_player.py +++ b/tests/components/ps4/test_media_player.py @@ -6,14 +6,13 @@ from pyps4_2ndscreen.ddp import DEFAULT_UDP_PORT from pyps4_2ndscreen.media_art import TYPE_APP as PS_TYPE_APP from homeassistant.components import ps4 -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST, ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_TITLE, - MEDIA_TYPE_APP, - MEDIA_TYPE_GAME, + MediaType, ) from homeassistant.components.ps4.const import ( ATTR_MEDIA_IMAGE_URL, @@ -60,19 +59,19 @@ MOCK_RANDOM_PORT = "1234" MOCK_TITLE_ID = "CUSA00000" MOCK_TITLE_NAME = "Random Game" -MOCK_TITLE_TYPE = MEDIA_TYPE_GAME +MOCK_TITLE_TYPE = MediaType.GAME MOCK_TITLE_ART_URL = "https://somecoverurl" MOCK_GAMES_DATA = { ATTR_LOCKED: False, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_GAME, + ATTR_MEDIA_CONTENT_TYPE: MediaType.GAME, ATTR_MEDIA_IMAGE_URL: MOCK_TITLE_ART_URL, ATTR_MEDIA_TITLE: MOCK_TITLE_NAME, } MOCK_GAMES_DATA_LOCKED = { ATTR_LOCKED: True, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_GAME, + ATTR_MEDIA_CONTENT_TYPE: MediaType.GAME, ATTR_MEDIA_IMAGE_URL: MOCK_TITLE_ART_URL, ATTR_MEDIA_TITLE: MOCK_TITLE_NAME, } @@ -258,7 +257,7 @@ async def test_media_attributes_are_fetched(hass): mock_attrs = dict(mock_state.attributes) assert len(mock_fetch_app.mock_calls) == 1 - assert mock_attrs.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_APP + assert mock_attrs.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.APP async def test_media_attributes_are_loaded(hass, patch_load_json): diff --git a/tests/components/roku/test_media_player.py b/tests/components/roku/test_media_player.py index 8950bafe094..a19e88a2d70 100644 --- a/tests/components/roku/test_media_player.py +++ b/tests/components/roku/test_media_player.py @@ -5,8 +5,7 @@ from unittest.mock import MagicMock, patch import pytest from rokuecp import RokuConnectionError, RokuConnectionTimeoutError, RokuError -from homeassistant.components.media_player import MediaPlayerDeviceClass -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_APP_ID, ATTR_APP_NAME, ATTR_INPUT_SOURCE, @@ -19,17 +18,6 @@ from homeassistant.components.media_player.const import ( ATTR_MEDIA_TITLE, ATTR_MEDIA_VOLUME_MUTED, DOMAIN as MP_DOMAIN, - MEDIA_CLASS_APP, - MEDIA_CLASS_CHANNEL, - MEDIA_CLASS_DIRECTORY, - MEDIA_CLASS_VIDEO, - MEDIA_TYPE_APP, - MEDIA_TYPE_APPS, - MEDIA_TYPE_CHANNEL, - MEDIA_TYPE_CHANNELS, - MEDIA_TYPE_MUSIC, - MEDIA_TYPE_URL, - MEDIA_TYPE_VIDEO, SERVICE_PLAY_MEDIA, SERVICE_SELECT_SOURCE, SUPPORT_BROWSE_MEDIA, @@ -43,6 +31,9 @@ from homeassistant.components.media_player.const import ( SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_STEP, + MediaClass, + MediaPlayerDeviceClass, + MediaType, ) from homeassistant.components.roku.const import ( ATTR_CONTENT_ID, @@ -271,7 +262,7 @@ async def test_attributes_app( assert state assert state.state == STATE_ON - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_APP + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.APP assert state.attributes.get(ATTR_APP_ID) == "12" assert state.attributes.get(ATTR_APP_NAME) == "Netflix" assert state.attributes.get(ATTR_INPUT_SOURCE) == "Netflix" @@ -290,7 +281,7 @@ async def test_attributes_app_media_playing( assert state assert state.state == STATE_PLAYING - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_APP + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.APP assert state.attributes.get(ATTR_MEDIA_DURATION) == 6496 assert state.attributes.get(ATTR_MEDIA_POSITION) == 38 assert state.attributes.get(ATTR_APP_ID) == "74519" @@ -309,7 +300,7 @@ async def test_attributes_app_media_paused( assert state assert state.state == STATE_PAUSED - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_APP + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.APP assert state.attributes.get(ATTR_MEDIA_DURATION) == 6496 assert state.attributes.get(ATTR_MEDIA_POSITION) == 313 assert state.attributes.get(ATTR_APP_ID) == "74519" @@ -346,7 +337,7 @@ async def test_tv_attributes( assert state.attributes.get(ATTR_APP_ID) == "tvinput.dtv" assert state.attributes.get(ATTR_APP_NAME) == "Antenna TV" assert state.attributes.get(ATTR_INPUT_SOURCE) == "Antenna TV" - assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MEDIA_TYPE_CHANNEL + assert state.attributes.get(ATTR_MEDIA_CONTENT_TYPE) == MediaType.CHANNEL assert state.attributes.get(ATTR_MEDIA_CHANNEL) == "getTV (14.3)" assert state.attributes.get(ATTR_MEDIA_TITLE) == "Airwolf" @@ -436,7 +427,7 @@ async def test_services( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: MAIN_ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_APP, + ATTR_MEDIA_CONTENT_TYPE: MediaType.APP, ATTR_MEDIA_CONTENT_ID: "11", }, blocking=True, @@ -450,7 +441,7 @@ async def test_services( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: MAIN_ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_APP, + ATTR_MEDIA_CONTENT_TYPE: MediaType.APP, ATTR_MEDIA_CONTENT_ID: "291097", ATTR_MEDIA_EXTRA: { ATTR_MEDIA_TYPE: "movie", @@ -517,7 +508,7 @@ async def test_services_play_media( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: MAIN_ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: "https://localhost/media.m4a", ATTR_MEDIA_EXTRA: {ATTR_FORMAT: "blah"}, }, @@ -530,11 +521,11 @@ async def test_services_play_media( @pytest.mark.parametrize( "content_type, content_id, resolved_name, resolved_format", [ - (MEDIA_TYPE_URL, "http://localhost/media.m4a", "media.m4a", "m4a"), - (MEDIA_TYPE_MUSIC, "http://localhost/media.m4a", "media.m4a", "m4a"), - (MEDIA_TYPE_MUSIC, "http://localhost/media.mka", "media.mka", "mka"), + (MediaType.URL, "http://localhost/media.m4a", "media.m4a", "m4a"), + (MediaType.MUSIC, "http://localhost/media.m4a", "media.m4a", "m4a"), + (MediaType.MUSIC, "http://localhost/media.mka", "media.mka", "mka"), ( - MEDIA_TYPE_MUSIC, + MediaType.MUSIC, "http://localhost/api/tts_proxy/generated.mp3", "Text to Speech", "mp3", @@ -575,15 +566,15 @@ async def test_services_play_media_audio( @pytest.mark.parametrize( "content_type, content_id, resolved_name, resolved_format", [ - (MEDIA_TYPE_URL, "http://localhost/media.mp4", "media.mp4", "mp4"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.m4v", "media.m4v", "mp4"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.mov", "media.mov", "mp4"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.mkv", "media.mkv", "mkv"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.mks", "media.mks", "mks"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.m3u8", "media.m3u8", "hls"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.dash", "media.dash", "dash"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.mpd", "media.mpd", "dash"), - (MEDIA_TYPE_VIDEO, "http://localhost/media.ism/manifest", "media.ism", "ism"), + (MediaType.URL, "http://localhost/media.mp4", "media.mp4", "mp4"), + (MediaType.VIDEO, "http://localhost/media.m4v", "media.m4v", "mp4"), + (MediaType.VIDEO, "http://localhost/media.mov", "media.mov", "mp4"), + (MediaType.VIDEO, "http://localhost/media.mkv", "media.mkv", "mkv"), + (MediaType.VIDEO, "http://localhost/media.mks", "media.mks", "mks"), + (MediaType.VIDEO, "http://localhost/media.m3u8", "media.m3u8", "hls"), + (MediaType.VIDEO, "http://localhost/media.dash", "media.dash", "dash"), + (MediaType.VIDEO, "http://localhost/media.mpd", "media.mpd", "dash"), + (MediaType.VIDEO, "http://localhost/media.ism/manifest", "media.ism", "ism"), ], ) async def test_services_play_media_video( @@ -717,7 +708,7 @@ async def test_tv_services( SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: TV_ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_CHANNEL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.CHANNEL, ATTR_MEDIA_CONTENT_ID: "55", }, blocking=True, @@ -752,16 +743,16 @@ async def test_media_browse( assert msg["result"] assert msg["result"]["title"] == "Apps" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY - assert msg["result"]["media_content_type"] == MEDIA_TYPE_APPS - assert msg["result"]["children_media_class"] == MEDIA_CLASS_APP + assert msg["result"]["media_class"] == MediaClass.DIRECTORY + assert msg["result"]["media_content_type"] == MediaType.APPS + assert msg["result"]["children_media_class"] == MediaClass.APP assert msg["result"]["can_expand"] assert not msg["result"]["can_play"] assert len(msg["result"]["children"]) == 8 - assert msg["result"]["children_media_class"] == MEDIA_CLASS_APP + assert msg["result"]["children_media_class"] == MediaClass.APP assert msg["result"]["children"][0]["title"] == "Roku Channel Store" - assert msg["result"]["children"][0]["media_content_type"] == MEDIA_TYPE_APP + assert msg["result"]["children"][0]["media_content_type"] == MediaType.APP assert msg["result"]["children"][0]["media_content_id"] == "11" assert ( msg["result"]["children"][0]["thumbnail"] @@ -811,7 +802,7 @@ async def test_media_browse_internal( "id": 1, "type": "media_player/browse_media", "entity_id": MAIN_ENTITY_ID, - "media_content_type": MEDIA_TYPE_APPS, + "media_content_type": MediaType.APPS, "media_content_id": "apps", } ) @@ -824,16 +815,16 @@ async def test_media_browse_internal( assert msg["result"] assert msg["result"]["title"] == "Apps" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY - assert msg["result"]["media_content_type"] == MEDIA_TYPE_APPS - assert msg["result"]["children_media_class"] == MEDIA_CLASS_APP + assert msg["result"]["media_class"] == MediaClass.DIRECTORY + assert msg["result"]["media_content_type"] == MediaType.APPS + assert msg["result"]["children_media_class"] == MediaClass.APP assert msg["result"]["can_expand"] assert not msg["result"]["can_play"] assert len(msg["result"]["children"]) == 8 - assert msg["result"]["children_media_class"] == MEDIA_CLASS_APP + assert msg["result"]["children_media_class"] == MediaClass.APP assert msg["result"]["children"][0]["title"] == "Roku Channel Store" - assert msg["result"]["children"][0]["media_content_type"] == MEDIA_TYPE_APP + assert msg["result"]["children"][0]["media_content_type"] == MediaType.APP assert msg["result"]["children"][0]["media_content_id"] == "11" assert "/query/icon/11" in msg["result"]["children"][0]["thumbnail"] assert msg["result"]["children"][0]["can_play"] @@ -873,17 +864,17 @@ async def test_media_browse_local_source( assert msg["result"] assert msg["result"]["title"] == "Roku" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY + assert msg["result"]["media_class"] == MediaClass.DIRECTORY assert msg["result"]["media_content_type"] == "root" assert msg["result"]["can_expand"] assert not msg["result"]["can_play"] assert len(msg["result"]["children"]) == 2 assert msg["result"]["children"][0]["title"] == "Apps" - assert msg["result"]["children"][0]["media_content_type"] == MEDIA_TYPE_APPS + assert msg["result"]["children"][0]["media_content_type"] == MediaType.APPS assert msg["result"]["children"][1]["title"] == "Local Media" - assert msg["result"]["children"][1]["media_class"] == MEDIA_CLASS_DIRECTORY + assert msg["result"]["children"][1]["media_class"] == MediaClass.DIRECTORY assert msg["result"]["children"][1]["media_content_type"] is None assert ( msg["result"]["children"][1]["media_content_id"] @@ -911,7 +902,7 @@ async def test_media_browse_local_source( assert msg["result"] assert msg["result"]["title"] == "Local Media" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY + assert msg["result"]["media_class"] == MediaClass.DIRECTORY assert msg["result"]["media_content_type"] is None assert len(msg["result"]["children"]) == 2 @@ -947,12 +938,12 @@ async def test_media_browse_local_source( assert msg["success"] assert msg["result"]["title"] == "media" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY + assert msg["result"]["media_class"] == MediaClass.DIRECTORY assert msg["result"]["media_content_type"] == "" assert len(msg["result"]["children"]) == 2 assert msg["result"]["children"][0]["title"] == "Epic Sax Guy 10 Hours.mp4" - assert msg["result"]["children"][0]["media_class"] == MEDIA_CLASS_VIDEO + assert msg["result"]["children"][0]["media_class"] == MediaClass.VIDEO assert msg["result"]["children"][0]["media_content_type"] == "video/mp4" assert ( msg["result"]["children"][0]["media_content_id"] @@ -986,7 +977,7 @@ async def test_tv_media_browse( assert msg["result"] assert msg["result"]["title"] == "Roku" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY + assert msg["result"]["media_class"] == MediaClass.DIRECTORY assert msg["result"]["media_content_type"] == "root" assert msg["result"]["can_expand"] assert not msg["result"]["can_play"] @@ -998,7 +989,7 @@ async def test_tv_media_browse( "id": 2, "type": "media_player/browse_media", "entity_id": TV_ENTITY_ID, - "media_content_type": MEDIA_TYPE_APPS, + "media_content_type": MediaType.APPS, "media_content_id": "apps", } ) @@ -1011,16 +1002,16 @@ async def test_tv_media_browse( assert msg["result"] assert msg["result"]["title"] == "Apps" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY - assert msg["result"]["media_content_type"] == MEDIA_TYPE_APPS - assert msg["result"]["children_media_class"] == MEDIA_CLASS_APP + assert msg["result"]["media_class"] == MediaClass.DIRECTORY + assert msg["result"]["media_content_type"] == MediaType.APPS + assert msg["result"]["children_media_class"] == MediaClass.APP assert msg["result"]["can_expand"] assert not msg["result"]["can_play"] assert len(msg["result"]["children"]) == 11 - assert msg["result"]["children_media_class"] == MEDIA_CLASS_APP + assert msg["result"]["children_media_class"] == MediaClass.APP assert msg["result"]["children"][0]["title"] == "Satellite TV" - assert msg["result"]["children"][0]["media_content_type"] == MEDIA_TYPE_APP + assert msg["result"]["children"][0]["media_content_type"] == MediaType.APP assert msg["result"]["children"][0]["media_content_id"] == "tvinput.hdmi2" assert ( msg["result"]["children"][0]["thumbnail"] @@ -1029,7 +1020,7 @@ async def test_tv_media_browse( assert msg["result"]["children"][0]["can_play"] assert msg["result"]["children"][3]["title"] == "Roku Channel Store" - assert msg["result"]["children"][3]["media_content_type"] == MEDIA_TYPE_APP + assert msg["result"]["children"][3]["media_content_type"] == MediaType.APP assert msg["result"]["children"][3]["media_content_id"] == "11" assert ( msg["result"]["children"][3]["thumbnail"] @@ -1043,7 +1034,7 @@ async def test_tv_media_browse( "id": 3, "type": "media_player/browse_media", "entity_id": TV_ENTITY_ID, - "media_content_type": MEDIA_TYPE_CHANNELS, + "media_content_type": MediaType.CHANNELS, "media_content_id": "channels", } ) @@ -1056,16 +1047,16 @@ async def test_tv_media_browse( assert msg["result"] assert msg["result"]["title"] == "TV Channels" - assert msg["result"]["media_class"] == MEDIA_CLASS_DIRECTORY - assert msg["result"]["media_content_type"] == MEDIA_TYPE_CHANNELS - assert msg["result"]["children_media_class"] == MEDIA_CLASS_CHANNEL + assert msg["result"]["media_class"] == MediaClass.DIRECTORY + assert msg["result"]["media_content_type"] == MediaType.CHANNELS + assert msg["result"]["children_media_class"] == MediaClass.CHANNEL assert msg["result"]["can_expand"] assert not msg["result"]["can_play"] assert len(msg["result"]["children"]) == 4 - assert msg["result"]["children_media_class"] == MEDIA_CLASS_CHANNEL + assert msg["result"]["children_media_class"] == MediaClass.CHANNEL assert msg["result"]["children"][0]["title"] == "WhatsOn (1.1)" - assert msg["result"]["children"][0]["media_content_type"] == MEDIA_TYPE_CHANNEL + assert msg["result"]["children"][0]["media_content_type"] == MediaType.CHANNEL assert msg["result"]["children"][0]["media_content_id"] == "1.1" assert msg["result"]["children"][0]["can_play"] diff --git a/tests/components/samsungtv/test_media_player.py b/tests/components/samsungtv/test_media_player.py index e548822f1d0..6d0edbfa8ae 100644 --- a/tests/components/samsungtv/test_media_player.py +++ b/tests/components/samsungtv/test_media_player.py @@ -23,20 +23,18 @@ from samsungtvws.exceptions import ConnectionFailure, HttpApiError, Unauthorized from samsungtvws.remote import ChannelEmitCommand, SendRemoteKey from websockets.exceptions import ConnectionClosedError, WebSocketException -from homeassistant.components.media_player import MediaPlayerDeviceClass -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_INPUT_SOURCE, ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED, DOMAIN, - MEDIA_TYPE_APP, - MEDIA_TYPE_CHANNEL, - MEDIA_TYPE_URL, SERVICE_PLAY_MEDIA, SERVICE_SELECT_SOURCE, SUPPORT_TURN_ON, + MediaPlayerDeviceClass, + MediaType, ) from homeassistant.components.samsungtv.const import ( CONF_ON_ACTION, @@ -1120,7 +1118,7 @@ async def test_play_media(hass: HomeAssistant, remote: Mock) -> None: SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_CHANNEL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.CHANNEL, ATTR_MEDIA_CONTENT_ID: "576", }, True, @@ -1149,7 +1147,7 @@ async def test_play_media_invalid_type(hass: HomeAssistant) -> None: SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_URL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.URL, ATTR_MEDIA_CONTENT_ID: url, }, True, @@ -1171,7 +1169,7 @@ async def test_play_media_channel_as_string(hass: HomeAssistant) -> None: SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_CHANNEL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.CHANNEL, ATTR_MEDIA_CONTENT_ID: url, }, True, @@ -1192,7 +1190,7 @@ async def test_play_media_channel_as_non_positive(hass: HomeAssistant) -> None: SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_CHANNEL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.CHANNEL, ATTR_MEDIA_CONTENT_ID: "-4", }, True, @@ -1247,7 +1245,7 @@ async def test_play_media_app(hass: HomeAssistant, remotews: Mock) -> None: SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_APP, + ATTR_MEDIA_CONTENT_TYPE: MediaType.APP, ATTR_MEDIA_CONTENT_ID: "3201608010191", }, True, diff --git a/tests/components/sonos/test_plex_playback.py b/tests/components/sonos/test_plex_playback.py index e9f3fd7e63a..cbbddcf19d5 100644 --- a/tests/components/sonos/test_plex_playback.py +++ b/tests/components/sonos/test_plex_playback.py @@ -4,12 +4,12 @@ from unittest.mock import Mock, patch import pytest -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE, DOMAIN as MP_DOMAIN, - MEDIA_TYPE_MUSIC, SERVICE_PLAY_MEDIA, + MediaType, ) from homeassistant.components.plex import DOMAIN as PLEX_DOMAIN, PLEX_URI_SCHEME from homeassistant.const import ATTR_ENTITY_ID @@ -38,7 +38,7 @@ async def test_plex_play_media(hass, async_autosetup_sonos): SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: f"{PLEX_URI_SCHEME}{media_content_id}", }, blocking=True, @@ -47,7 +47,7 @@ async def test_plex_play_media(hass, async_autosetup_sonos): assert len(mock_lookup.mock_calls) == 1 assert len(mock_add_to_queue.mock_calls) == 1 assert not mock_shuffle.called - assert mock_lookup.mock_calls[0][1][0] == MEDIA_TYPE_MUSIC + assert mock_lookup.mock_calls[0][1][0] == MediaType.MUSIC assert mock_lookup.mock_calls[0][2] == json.loads(media_content_id) # Test handling shuffle in payload @@ -60,7 +60,7 @@ async def test_plex_play_media(hass, async_autosetup_sonos): SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: f"{PLEX_URI_SCHEME}{shuffle_media_content_id}", }, blocking=True, @@ -69,7 +69,7 @@ async def test_plex_play_media(hass, async_autosetup_sonos): assert mock_shuffle.called assert len(mock_lookup.mock_calls) == 1 assert len(mock_add_to_queue.mock_calls) == 1 - assert mock_lookup.mock_calls[0][1][0] == MEDIA_TYPE_MUSIC + assert mock_lookup.mock_calls[0][1][0] == MediaType.MUSIC assert mock_lookup.mock_calls[0][2] == json.loads(media_content_id) # Test failed Plex service call @@ -83,7 +83,7 @@ async def test_plex_play_media(hass, async_autosetup_sonos): SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: f"{PLEX_URI_SCHEME}{media_content_id}", }, blocking=True, @@ -108,7 +108,7 @@ async def test_plex_play_media(hass, async_autosetup_sonos): SERVICE_PLAY_MEDIA, { ATTR_ENTITY_ID: media_player, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_MUSIC, + ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC, ATTR_MEDIA_CONTENT_ID: f"{PLEX_URI_SCHEME}{server_id}/{plex_item_key}?shuffle=1", }, blocking=True, diff --git a/tests/components/tts/test_init.py b/tests/components/tts/test_init.py index 7b348489059..61c5ab00180 100644 --- a/tests/components/tts/test_init.py +++ b/tests/components/tts/test_init.py @@ -7,13 +7,13 @@ import voluptuous as vol from homeassistant.components import media_source, tts from homeassistant.components.demo.tts import DemoProvider -from homeassistant.components.media_player.const import ( +from homeassistant.components.media_player import ( ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE, DOMAIN as DOMAIN_MP, - MEDIA_TYPE_MUSIC, SERVICE_PLAY_MEDIA, + MediaType, ) from homeassistant.config import async_process_ha_core_config from homeassistant.exceptions import HomeAssistantError @@ -93,7 +93,7 @@ async def test_setup_component_and_test_service(hass, empty_cache_dir): assert len(calls) == 1 assert calls[0].data[ATTR_MEDIA_ANNOUNCE] is True - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == "/api/tts_proxy/42f18378fd4393d18c8dd11d03fa9563c1e54491_en_-_demo.mp3" @@ -125,7 +125,7 @@ async def test_setup_component_and_test_service_with_config_language( blocking=True, ) assert len(calls) == 1 - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == "/api/tts_proxy/42f18378fd4393d18c8dd11d03fa9563c1e54491_de_-_demo.mp3" @@ -160,7 +160,7 @@ async def test_setup_component_and_test_service_with_config_language_special( blocking=True, ) assert len(calls) == 1 - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == "/api/tts_proxy/42f18378fd4393d18c8dd11d03fa9563c1e54491_en-us_-_demo.mp3" @@ -201,7 +201,7 @@ async def test_setup_component_and_test_service_with_service_language( blocking=True, ) assert len(calls) == 1 - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == "/api/tts_proxy/42f18378fd4393d18c8dd11d03fa9563c1e54491_de_-_demo.mp3" @@ -265,7 +265,7 @@ async def test_setup_component_and_test_service_with_service_options( opt_hash = tts._hash_options({"voice": "alex", "age": 5}) assert len(calls) == 1 - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == f"/api/tts_proxy/42f18378fd4393d18c8dd11d03fa9563c1e54491_de_{opt_hash}_demo.mp3" @@ -302,7 +302,7 @@ async def test_setup_component_and_test_with_service_options_def(hass, empty_cac opt_hash = tts._hash_options({"voice": "alex"}) assert len(calls) == 1 - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == f"/api/tts_proxy/42f18378fd4393d18c8dd11d03fa9563c1e54491_de_{opt_hash}_demo.mp3" @@ -366,7 +366,7 @@ async def test_setup_component_and_test_service_with_base_url_set(hass): blocking=True, ) assert len(calls) == 1 - assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_MUSIC + assert calls[0].data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.MUSIC assert ( await get_media_source_url(hass, calls[0].data[ATTR_MEDIA_CONTENT_ID]) == "http://fnord" diff --git a/tests/components/unifiprotect/test_media_source.py b/tests/components/unifiprotect/test_media_source.py index 74a007e0ba0..4b1e47d6b0c 100644 --- a/tests/components/unifiprotect/test_media_source.py +++ b/tests/components/unifiprotect/test_media_source.py @@ -17,11 +17,7 @@ from pyunifiprotect.data import ( ) from pyunifiprotect.exceptions import NvrError -from homeassistant.components.media_player.const import ( - MEDIA_CLASS_IMAGE, - MEDIA_CLASS_VIDEO, -) -from homeassistant.components.media_player.errors import BrowseError +from homeassistant.components.media_player import BrowseError, MediaClass from homeassistant.components.media_source import MediaSourceItem from homeassistant.components.unifiprotect.const import DOMAIN from homeassistant.components.unifiprotect.media_source import ( @@ -679,7 +675,7 @@ async def test_browse_media_event( assert browse.identifier == "test_id:event:test_event_id" assert browse.children is None - assert browse.media_class == MEDIA_CLASS_VIDEO + assert browse.media_class == MediaClass.VIDEO async def test_browse_media_eventthumb( @@ -710,7 +706,7 @@ async def test_browse_media_eventthumb( assert browse.identifier == "test_id:eventthumb:test_event_id" assert browse.children is None - assert browse.media_class == MEDIA_CLASS_IMAGE + assert browse.media_class == MediaClass.IMAGE @freeze_time("2022-09-15 03:00:00-07:00") diff --git a/tests/components/webostv/test_media_player.py b/tests/components/webostv/test_media_player.py index f0ebdd70e97..174e4a73483 100644 --- a/tests/components/webostv/test_media_player.py +++ b/tests/components/webostv/test_media_player.py @@ -7,10 +7,6 @@ import pytest from homeassistant.components import automation from homeassistant.components.media_player import ( - DOMAIN as MP_DOMAIN, - MediaPlayerDeviceClass, -) -from homeassistant.components.media_player.const import ( ATTR_INPUT_SOURCE, ATTR_INPUT_SOURCE_LIST, ATTR_MEDIA_CONTENT_ID, @@ -18,11 +14,13 @@ from homeassistant.components.media_player.const import ( ATTR_MEDIA_TITLE, ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED, - MEDIA_TYPE_CHANNEL, + DOMAIN as MP_DOMAIN, SERVICE_PLAY_MEDIA, SERVICE_SELECT_SOURCE, SUPPORT_TURN_ON, SUPPORT_VOLUME_SET, + MediaPlayerDeviceClass, + MediaType, ) from homeassistant.components.webostv.const import ( ATTR_BUTTON, @@ -304,7 +302,7 @@ async def test_entity_attributes(hass, client, monkeypatch): assert attrs[ATTR_MEDIA_VOLUME_LEVEL] == 0.37 assert attrs[ATTR_INPUT_SOURCE] == "Live TV" assert attrs[ATTR_INPUT_SOURCE_LIST] == ["Input01", "Input02", "Live TV"] - assert attrs[ATTR_MEDIA_CONTENT_TYPE] == MEDIA_TYPE_CHANNEL + assert attrs[ATTR_MEDIA_CONTENT_TYPE] == MediaType.CHANNEL assert attrs[ATTR_MEDIA_TITLE] == "Channel 1" assert attrs[ATTR_SOUND_OUTPUT] == "speaker" @@ -373,7 +371,7 @@ async def test_play_media(hass, client, media_id, ch_id): data = { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_MEDIA_CONTENT_TYPE: MEDIA_TYPE_CHANNEL, + ATTR_MEDIA_CONTENT_TYPE: MediaType.CHANNEL, ATTR_MEDIA_CONTENT_ID: media_id, } assert await hass.services.async_call(MP_DOMAIN, SERVICE_PLAY_MEDIA, data, True)