/
/
/
1"""Tests for the DLNA player provider."""
2
3from typing import Any, cast
4from unittest.mock import AsyncMock, MagicMock
5
6from music_assistant.providers.dlna.provider import DLNAPlayerProvider
7
8
9async def test_on_upnp_service_discovered_handles_media_renderer() -> None:
10 """SSDP discovery should only forward valid MediaRenderer devices."""
11 provider = cast("Any", DLNAPlayerProvider.__new__(DLNAPlayerProvider))
12 provider.config = MagicMock()
13 provider.config.get_value.return_value = False
14 provider._device_discovered = AsyncMock()
15
16 await provider.on_upnp_service_discovered(
17 "ssdp:all",
18 {
19 "st": "urn:schemas-upnp-org:device:MediaRenderer:1",
20 "usn": "uuid:renderer-123::urn:schemas-upnp-org:device:MediaRenderer:1",
21 "location": "http://192.168.1.10/description.xml",
22 },
23 )
24
25 provider._device_discovered.assert_awaited_once_with(
26 "uuid:renderer-123",
27 "http://192.168.1.10/description.xml",
28 )
29