/
/
/
1"""Shared fixtures for Open Subsonic provider tests."""
2
3from __future__ import annotations
4
5from unittest.mock import Mock
6
7import pytest
8
9from music_assistant.providers.opensubsonic import SUPPORTED_FEATURES
10from music_assistant.providers.opensubsonic.sonic_provider import OpenSonicProvider
11
12
13@pytest.fixture
14def provider() -> OpenSonicProvider:
15 """Create a real OpenSonicProvider with mocked dependencies."""
16 mass = Mock()
17 manifest = Mock()
18 manifest.domain = "opensubsonic"
19 config = Mock()
20 config.instance_id = "opensubsonic--test123"
21 config.name = "Open Subsonic Test"
22 config.enabled = True
23 config.get_value.side_effect = lambda key, default=None: {
24 "log_level": "GLOBAL",
25 }.get(key, default)
26 return OpenSonicProvider(mass, manifest, config, SUPPORTED_FEATURES)
27