mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 04:37:06 +00:00
Add tests for browse media image proxy (#43076)
* add tests for browse media image proxy * Update test_init.py * Update __init__.py * Update __init__.py * Update __init__.py * Update __init__.py
This commit is contained in:
parent
7dcfc8f1fa
commit
467d79c7fd
@ -7,7 +7,7 @@ import functools as ft
|
|||||||
import hashlib
|
import hashlib
|
||||||
import logging
|
import logging
|
||||||
import secrets
|
import secrets
|
||||||
from typing import List, Optional
|
from typing import List, Optional, Tuple
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
@ -434,8 +434,11 @@ class MediaPlayerEntity(Entity):
|
|||||||
return await self._async_fetch_image_from_cache(url)
|
return await self._async_fetch_image_from_cache(url)
|
||||||
|
|
||||||
async def async_get_browse_image(
|
async def async_get_browse_image(
|
||||||
self, media_content_type, media_content_id, media_image_id=None
|
self,
|
||||||
):
|
media_content_type: str,
|
||||||
|
media_content_id: str,
|
||||||
|
media_image_id: Optional[str] = None,
|
||||||
|
) -> Tuple[Optional[str], Optional[str]]:
|
||||||
"""
|
"""
|
||||||
Optionally fetch internally accessible image for media browser.
|
Optionally fetch internally accessible image for media browser.
|
||||||
|
|
||||||
@ -906,8 +909,11 @@ class MediaPlayerEntity(Entity):
|
|||||||
return content, content_type
|
return content, content_type
|
||||||
|
|
||||||
def get_browse_image_url(
|
def get_browse_image_url(
|
||||||
self, media_content_type, media_content_id, media_image_id=None
|
self,
|
||||||
):
|
media_content_type: str,
|
||||||
|
media_content_id: str,
|
||||||
|
media_image_id: Optional[str] = None,
|
||||||
|
) -> str:
|
||||||
"""Generate an url for a media browser image."""
|
"""Generate an url for a media browser image."""
|
||||||
url_path = (
|
url_path = (
|
||||||
f"/api/media_player_proxy/{self.entity_id}/browse_media"
|
f"/api/media_player_proxy/{self.entity_id}/browse_media"
|
||||||
|
@ -92,6 +92,33 @@ async def test_get_image_http_remote(hass, aiohttp_client):
|
|||||||
assert content == b"image"
|
assert content == b"image"
|
||||||
|
|
||||||
|
|
||||||
|
async def test_get_async_get_browse_image(hass, aiohttp_client, hass_ws_client):
|
||||||
|
"""Test get browse image."""
|
||||||
|
await async_setup_component(
|
||||||
|
hass, "media_player", {"media_player": {"platform": "demo"}}
|
||||||
|
)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
entity_comp = hass.data.get("entity_components", {}).get("media_player")
|
||||||
|
assert entity_comp
|
||||||
|
|
||||||
|
player = entity_comp.get_entity("media_player.bedroom")
|
||||||
|
assert player
|
||||||
|
|
||||||
|
client = await aiohttp_client(hass.http.app)
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"homeassistant.components.media_player.MediaPlayerEntity."
|
||||||
|
"async_get_browse_image",
|
||||||
|
return_value=(b"image", "image/jpeg"),
|
||||||
|
):
|
||||||
|
url = player.get_browse_image_url("album", "abcd")
|
||||||
|
resp = await client.get(url)
|
||||||
|
content = await resp.read()
|
||||||
|
|
||||||
|
assert content == b"image"
|
||||||
|
|
||||||
|
|
||||||
def test_deprecated_base_class(caplog):
|
def test_deprecated_base_class(caplog):
|
||||||
"""Test deprecated base class."""
|
"""Test deprecated base class."""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user