/
/
/
1"""Unit tests for Apple Music ID helpers."""
2
3from typing import Any
4
5from music_assistant.providers.apple_music.helpers.utils import is_library_id
6
7
8def test_is_library_id_accepts_library_prefixes() -> None:
9 """Confirm expected library prefixes are accepted."""
10 for prefix in ("a.", "i.", "l.", "p."):
11 assert is_library_id(f"{prefix}ABC123")
12
13
14def test_is_library_id_rejects_pl_u_prefix() -> None:
15 """Reject the invalid pl.u- prefix."""
16 assert not is_library_id("pl.u-ABC123")
17 assert not is_library_id("pl.u-1")
18
19
20def test_is_library_id_rejects_invalid_values() -> None:
21 """Reject malformed values and non-string inputs."""
22 for value in ("", "a.", "x.123", "pl.123", "p.123-456"):
23 assert not is_library_id(value)
24 invalid_non_str: list[Any] = [None, 123, 12.3]
25 for value in invalid_non_str:
26 assert not is_library_id(value)
27