File: test_actor.py

package info (click to toggle)
mopidy-mpd 3.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 704 kB
  • sloc: python: 7,640; makefile: 3
file content (49 lines) | stat: -rw-r--r-- 1,682 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from unittest import mock

import pytest

from mopidy_mpd import actor

# NOTE: Should be kept in sync with all events from mopidy.core.listener


@pytest.mark.parametrize(
    "event,expected",
    [
        (["track_playback_paused", "tl_track", "time_position"], None),
        (["track_playback_resumed", "tl_track", "time_position"], None),
        (["track_playback_started", "tl_track"], None),
        (["track_playback_ended", "tl_track", "time_position"], None),
        (["playback_state_changed", "old_state", "new_state"], "player"),
        (["tracklist_changed"], "playlist"),
        (["playlists_loaded"], "stored_playlist"),
        (["playlist_changed", "playlist"], "stored_playlist"),
        (["playlist_deleted", "uri"], "stored_playlist"),
        (["options_changed"], "options"),
        (["volume_changed", "volume"], "mixer"),
        (["mute_changed", "mute"], "output"),
        (["seeked", "time_position"], "player"),
        (["stream_title_changed", "title"], "playlist"),
    ],
)
def test_idle_hooked_up_correctly(event, expected):
    config = {
        "mpd": {
            "hostname": "foobar",
            "port": 1234,
            "zeroconf": None,
            "max_connections": None,
            "connection_timeout": None,
        }
    }

    with mock.patch.object(actor.MpdFrontend, "_setup_server"):
        frontend = actor.MpdFrontend(core=mock.Mock(), config=config)

    with mock.patch("mopidy.listener.send") as send_mock:
        frontend.on_event(event[0], **{e: None for e in event[1:]})

    if expected is None:
        assert not send_mock.call_args
    else:
        send_mock.assert_called_once_with(mock.ANY, expected)