/
/
/
1"""Shared fixtures for NetEase Cloud Music provider tests."""
2
3from __future__ import annotations
4
5from unittest.mock import Mock
6
7import pytest
8
9from music_assistant.providers.neteasecloudmusic import (
10 SUPPORTED_FEATURES,
11 NeteaseCloudMusicProvider,
12)
13
14
15@pytest.fixture
16def provider() -> NeteaseCloudMusicProvider:
17 """Create a real NeteaseCloudMusicProvider with mocked dependencies."""
18 mass = Mock()
19 manifest = Mock()
20 manifest.domain = "neteasecloudmusic"
21 config = Mock()
22 config.instance_id = "ncm--test123"
23 config.name = "NetEase Test"
24 config.enabled = True
25 config.get_value.side_effect = lambda key, default=None: {
26 "log_level": "GLOBAL",
27 }.get(key, default)
28 prov = NeteaseCloudMusicProvider(mass, manifest, config, SUPPORTED_FEATURES)
29 # normally set in handle_async_init
30 prov._cookie = "MUSIC_U=test"
31 prov._uid = "42"
32 return prov
33