mirror of
https://github.com/home-assistant/core.git
synced 2026-10-07 06:50:41 -04:00
Bump arcam_fmj to 3.0.0 (#182956)
This commit is contained in:
@@ -5,8 +5,8 @@ from asyncio import timeout
|
||||
from contextlib import AsyncExitStack
|
||||
import logging
|
||||
|
||||
from arcam.fmj import ConnectionFailed
|
||||
from arcam.fmj.client import Client
|
||||
from arcam.fmj.errors import ConnectionFailed
|
||||
|
||||
from homeassistant.const import CONF_HOST, CONF_PORT, Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
@@ -18,7 +18,11 @@ from .coordinator import ArcamFmjConfigEntry, ArcamFmjCoordinator, ArcamFmjRunti
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
PLATFORMS = [Platform.BINARY_SENSOR, Platform.MEDIA_PLAYER, Platform.SENSOR]
|
||||
PLATFORMS = [
|
||||
Platform.BINARY_SENSOR,
|
||||
Platform.MEDIA_PLAYER,
|
||||
Platform.SENSOR,
|
||||
]
|
||||
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: ArcamFmjConfigEntry) -> bool:
|
||||
|
||||
@@ -4,8 +4,8 @@ import socket
|
||||
from typing import Any, override
|
||||
from urllib.parse import urlparse
|
||||
|
||||
from arcam.fmj import ConnectionFailed
|
||||
from arcam.fmj.client import Client
|
||||
from arcam.fmj.errors import ConnectionFailed
|
||||
from arcam.fmj.utils import get_uniqueid_from_host, get_uniqueid_from_udn
|
||||
import probatio
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ from dataclasses import dataclass
|
||||
import logging
|
||||
from typing import override
|
||||
|
||||
from arcam.fmj import ConnectionFailed
|
||||
from arcam.fmj.client import AmxDuetResponse, Client, ResponsePacket
|
||||
from arcam.fmj.errors import ConnectionFailed
|
||||
from arcam.fmj.state import State
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
|
||||
@@ -4,7 +4,7 @@ from collections.abc import Callable, Coroutine
|
||||
import functools
|
||||
from typing import Any, override
|
||||
|
||||
from arcam.fmj import ConnectionFailed
|
||||
from arcam.fmj.errors import ConnectionFailed
|
||||
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
from homeassistant.helpers.entity import EntityDescription
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"integration_type": "device",
|
||||
"iot_class": "local_polling",
|
||||
"loggers": ["arcam"],
|
||||
"requirements": ["arcam-fmj==1.8.3"],
|
||||
"requirements": ["arcam-fmj==3.0.0"],
|
||||
"ssdp": [
|
||||
{
|
||||
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import logging
|
||||
from typing import Any, override
|
||||
|
||||
from arcam.fmj import SourceCodes
|
||||
from arcam.fmj.codecs import SourceCodes
|
||||
|
||||
from homeassistant.components.media_player import (
|
||||
BrowseError,
|
||||
@@ -165,7 +165,7 @@ class ArcamFmj(ArcamFmjEntity, MediaPlayerEntity):
|
||||
f"Media not found: {media_content_type} / {media_content_id}"
|
||||
)
|
||||
|
||||
presets = self._state.get_preset_details()
|
||||
presets = self._state.get_preset_details() or {}
|
||||
|
||||
radio = [
|
||||
BrowseMedia(
|
||||
|
||||
@@ -5,7 +5,8 @@ from dataclasses import dataclass
|
||||
import logging
|
||||
from typing import override
|
||||
|
||||
from arcam.fmj import IncomingVideoAspectRatio, IncomingVideoColorspace, IntOrTypeEnum
|
||||
from arcam.fmj.codecs import IncomingVideoAspectRatio, IncomingVideoColorspace
|
||||
from arcam.fmj.models import IntOrTypeEnum
|
||||
from arcam.fmj.state import IncomingAudioConfig, IncomingAudioFormat, State
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
|
||||
Generated
+1
-1
@@ -573,7 +573,7 @@ aqualogic==2.6
|
||||
aranet4==2.6.0
|
||||
|
||||
# homeassistant.components.arcam_fmj
|
||||
arcam-fmj==1.8.3
|
||||
arcam-fmj==3.0.0
|
||||
|
||||
# homeassistant.components.arris_tg2492lg
|
||||
arris-tg2492lg==2.2.0
|
||||
|
||||
@@ -5,7 +5,7 @@ from dataclasses import replace
|
||||
import socket
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
from arcam.fmj.client import ConnectionFailed
|
||||
from arcam.fmj.errors import ConnectionFailed
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.arcam_fmj.const import DOMAIN
|
||||
|
||||
@@ -4,7 +4,8 @@ from collections.abc import Generator
|
||||
from math import isclose
|
||||
from unittest.mock import Mock, PropertyMock, patch
|
||||
|
||||
from arcam.fmj import ConnectionFailed, DecodeMode2CH, DecodeModeMCH, SourceCodes
|
||||
from arcam.fmj.codecs import DecodeMode2CH, DecodeModeMCH, SourceCodes
|
||||
from arcam.fmj.errors import ConnectionFailed
|
||||
from arcam.fmj.state import State
|
||||
import pytest
|
||||
from syrupy.assertion import SnapshotAssertion
|
||||
@@ -22,6 +23,7 @@ from homeassistant.components.media_player import (
|
||||
ATTR_MEDIA_VOLUME_MUTED,
|
||||
ATTR_SOUND_MODE,
|
||||
DOMAIN as MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_BROWSE_MEDIA,
|
||||
SERVICE_PLAY_MEDIA,
|
||||
SERVICE_SELECT_SOUND_MODE,
|
||||
SERVICE_SELECT_SOURCE,
|
||||
@@ -64,6 +66,25 @@ async def test_setup(
|
||||
await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id)
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("player_setup")
|
||||
async def test_browse_media_without_presets(
|
||||
hass: HomeAssistant, state_1: State
|
||||
) -> None:
|
||||
"""Test browsing when the receiver has no preset details."""
|
||||
state_1.get_preset_details.return_value = None
|
||||
response = await hass.services.async_call(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_BROWSE_MEDIA,
|
||||
service_data={ATTR_ENTITY_ID: MOCK_ENTITY_ID},
|
||||
blocking=True,
|
||||
return_response=True,
|
||||
)
|
||||
media = response[MOCK_ENTITY_ID]
|
||||
|
||||
assert media.media_content_id == "root"
|
||||
assert media.children == []
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("player_setup")
|
||||
async def test_disconnect(hass: HomeAssistant, client: Mock) -> None:
|
||||
"""Test a disconnection is detected."""
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
from collections.abc import Generator
|
||||
from unittest.mock import Mock, patch
|
||||
|
||||
from arcam.fmj import IncomingVideoAspectRatio, IncomingVideoColorspace
|
||||
from arcam.fmj.codecs import IncomingVideoAspectRatio, IncomingVideoColorspace
|
||||
from arcam.fmj.state import IncomingAudioConfig, IncomingAudioFormat, State
|
||||
import pytest
|
||||
from syrupy.assertion import SnapshotAssertion
|
||||
|
||||
Reference in New Issue
Block a user