diff --git a/mopidy/audio/__init__.py b/mopidy/audio/__init__.py index 1d47e682..a74d4456 100644 --- a/mopidy/audio/__init__.py +++ b/mopidy/audio/__init__.py @@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals # flake8: noqa from .actor import Audio -from .dummy import DummyAudio from .listener import AudioListener from .constants import PlaybackState from .utils import ( diff --git a/mopidy/backend/__init__.py b/mopidy/backend.py similarity index 100% rename from mopidy/backend/__init__.py rename to mopidy/backend.py diff --git a/mopidy/mixer.py b/mopidy/mixer.py index b9fc41ca..e277fe55 100644 --- a/mopidy/mixer.py +++ b/mopidy/mixer.py @@ -2,8 +2,6 @@ from __future__ import absolute_import, unicode_literals import logging -import pykka - from mopidy import listener @@ -149,23 +147,3 @@ class MixerListener(listener.Listener): :type mute: bool """ pass - - -class DummyMixer(pykka.ThreadingActor, Mixer): - - def __init__(self): - super(DummyMixer, self).__init__() - self._volume = None - self._mute = None - - def get_volume(self): - return self._volume - - def set_volume(self, volume): - self._volume = volume - - def get_mute(self): - return self._mute - - def set_mute(self, mute): - self._mute = mute diff --git a/tests/audio/test_actor.py b/tests/audio/test_actor.py index 43f7c076..fbc440de 100644 --- a/tests/audio/test_actor.py +++ b/tests/audio/test_actor.py @@ -15,11 +15,10 @@ import mock import pykka from mopidy import audio -from mopidy.audio import dummy as dummy_audio from mopidy.audio.constants import PlaybackState from mopidy.utils.path import path_to_uri -from tests import path_to_data_dir +from tests import dummy_audio, path_to_data_dir # We want to make sure both our real audio class and the fake one behave # correctly. So each test is first run against the real class, then repeated diff --git a/tests/core/test_events.py b/tests/core/test_events.py index 7226673d..942f9b5f 100644 --- a/tests/core/test_events.py +++ b/tests/core/test_events.py @@ -7,14 +7,15 @@ import mock import pykka from mopidy import core -from mopidy.backend import dummy from mopidy.models import Track +from tests import dummy_backend + @mock.patch.object(core.CoreListener, 'send') class BackendEventsTest(unittest.TestCase): def setUp(self): # noqa: N802 - self.backend = dummy.create_dummy_backend_proxy() + self.backend = dummy_backend.create_proxy() self.core = core.Core.start(backends=[self.backend]).proxy() def tearDown(self): # noqa: N802 diff --git a/mopidy/audio/dummy.py b/tests/dummy_audio.py similarity index 65% rename from mopidy/audio/dummy.py rename to tests/dummy_audio.py index 95b9d0fb..64639e91 100644 --- a/mopidy/audio/dummy.py +++ b/tests/dummy_audio.py @@ -8,14 +8,17 @@ from __future__ import absolute_import, unicode_literals import pykka -from .constants import PlaybackState -from .listener import AudioListener +from mopidy import audio + + +def create_proxy(config=None, mixer=None): + return DummyAudio.start(config, mixer).proxy() class DummyAudio(pykka.ThreadingActor): def __init__(self, config=None, mixer=None): super(DummyAudio, self).__init__() - self.state = PlaybackState.STOPPED + self.state = audio.PlaybackState.STOPPED self._volume = 0 self._position = 0 self._callback = None @@ -42,21 +45,21 @@ class DummyAudio(pykka.ThreadingActor): def set_position(self, position): self._position = position - AudioListener.send('position_changed', position=position) + audio.AudioListener.send('position_changed', position=position) return True def start_playback(self): - return self._change_state(PlaybackState.PLAYING) + return self._change_state(audio.PlaybackState.PLAYING) def pause_playback(self): - return self._change_state(PlaybackState.PAUSED) + return self._change_state(audio.PlaybackState.PAUSED) def prepare_change(self): self._uri = None return True def stop_playback(self): - return self._change_state(PlaybackState.STOPPED) + return self._change_state(audio.PlaybackState.STOPPED) def get_volume(self): return self._volume @@ -84,21 +87,22 @@ class DummyAudio(pykka.ThreadingActor): if not self._uri: return False - if self.state == PlaybackState.STOPPED and self._uri: - AudioListener.send('position_changed', position=0) - AudioListener.send('stream_changed', uri=self._uri) + if self.state == audio.PlaybackState.STOPPED and self._uri: + audio.AudioListener.send('position_changed', position=0) + audio.AudioListener.send('stream_changed', uri=self._uri) - if new_state == PlaybackState.STOPPED: + if new_state == audio.PlaybackState.STOPPED: self._uri = None - AudioListener.send('stream_changed', uri=self._uri) + audio.AudioListener.send('stream_changed', uri=self._uri) old_state, self.state = self.state, new_state - AudioListener.send('state_changed', old_state=old_state, - new_state=new_state, target_state=None) + audio.AudioListener.send( + 'state_changed', + old_state=old_state, new_state=new_state, target_state=None) - if new_state == PlaybackState.PLAYING: + if new_state == audio.PlaybackState.PLAYING: self._tags['audio-codec'] = [u'fake info...'] - AudioListener.send('tags_changed', tags=['audio-codec']) + audio.AudioListener.send('tags_changed', tags=['audio-codec']) return self._state_change_result @@ -114,9 +118,9 @@ class DummyAudio(pykka.ThreadingActor): if not self._uri or not self._callback: self._tags = {} - AudioListener.send('reached_end_of_stream') + audio.AudioListener.send('reached_end_of_stream') else: - AudioListener.send('position_changed', position=0) - AudioListener.send('stream_changed', uri=self._uri) + audio.AudioListener.send('position_changed', position=0) + audio.AudioListener.send('stream_changed', uri=self._uri) return wrapper diff --git a/mopidy/backend/dummy.py b/tests/dummy_backend.py similarity index 98% rename from mopidy/backend/dummy.py rename to tests/dummy_backend.py index dfddf5ae..05b0fbff 100644 --- a/mopidy/backend/dummy.py +++ b/tests/dummy_backend.py @@ -12,7 +12,7 @@ from mopidy import backend from mopidy.models import Playlist, Ref, SearchResult -def create_dummy_backend_proxy(config=None, audio=None): +def create_proxy(config=None, audio=None): return DummyBackend.start(config=config, audio=audio).proxy() diff --git a/tests/dummy_mixer.py b/tests/dummy_mixer.py new file mode 100644 index 00000000..f7d90b17 --- /dev/null +++ b/tests/dummy_mixer.py @@ -0,0 +1,29 @@ +from __future__ import unicode_literals + +import pykka + +from mopidy import mixer + + +def create_proxy(config=None): + return DummyMixer.start(config=None).proxy() + + +class DummyMixer(pykka.ThreadingActor, mixer.Mixer): + + def __init__(self, config): + super(DummyMixer, self).__init__() + self._volume = None + self._mute = None + + def get_volume(self): + return self._volume + + def set_volume(self, volume): + self._volume = volume + + def get_mute(self): + return self._mute + + def set_mute(self, mute): + self._mute = mute diff --git a/tests/local/test_events.py b/tests/local/test_events.py index ae2ec66a..945347df 100644 --- a/tests/local/test_events.py +++ b/tests/local/test_events.py @@ -6,10 +6,10 @@ import mock import pykka -from mopidy import audio, backend, core +from mopidy import backend, core from mopidy.local import actor -from tests import path_to_data_dir +from tests import dummy_audio, path_to_data_dir @mock.patch.object(backend.BackendListener, 'send') @@ -24,7 +24,7 @@ class LocalBackendEventsTest(unittest.TestCase): } def setUp(self): # noqa: N802 - self.audio = audio.DummyAudio.start().proxy() + self.audio = dummy_audio.create_proxy() self.backend = actor.LocalBackend.start( config=self.config, audio=self.audio).proxy() self.core = core.Core.start(backends=[self.backend]).proxy() diff --git a/tests/local/test_playback.py b/tests/local/test_playback.py index 0edd89c5..5f1ff525 100644 --- a/tests/local/test_playback.py +++ b/tests/local/test_playback.py @@ -7,12 +7,12 @@ import mock import pykka -from mopidy import audio, core +from mopidy import core from mopidy.core import PlaybackState from mopidy.local import actor from mopidy.models import Track -from tests import path_to_data_dir +from tests import dummy_audio, path_to_data_dir from tests.local import generate_song, populate_tracklist @@ -40,7 +40,7 @@ class LocalPlaybackProviderTest(unittest.TestCase): self.tracklist.add([track]) def setUp(self): # noqa: N802 - self.audio = audio.DummyAudio.start().proxy() + self.audio = dummy_audio.create_proxy() self.backend = actor.LocalBackend.start( config=self.config, audio=self.audio).proxy() self.core = core.Core(backends=[self.backend]) diff --git a/tests/local/test_playlists.py b/tests/local/test_playlists.py index c9aa299a..3e9c280e 100644 --- a/tests/local/test_playlists.py +++ b/tests/local/test_playlists.py @@ -7,11 +7,11 @@ import unittest import pykka -from mopidy import audio, core +from mopidy import core from mopidy.local import actor from mopidy.models import Playlist, Track -from tests import path_to_data_dir +from tests import dummy_audio, path_to_data_dir from tests.local import generate_song @@ -29,7 +29,7 @@ class LocalPlaylistsProviderTest(unittest.TestCase): self.config['local']['playlists_dir'] = tempfile.mkdtemp() self.playlists_dir = self.config['local']['playlists_dir'] - self.audio = audio.DummyAudio.start().proxy() + self.audio = dummy_audio.create_proxy() self.backend = actor.LocalBackend.start( config=self.config, audio=self.audio).proxy() self.core = core.Core(backends=[self.backend]) diff --git a/tests/local/test_tracklist.py b/tests/local/test_tracklist.py index d74d436c..5c85ac19 100644 --- a/tests/local/test_tracklist.py +++ b/tests/local/test_tracklist.py @@ -5,12 +5,12 @@ import unittest import pykka -from mopidy import audio, core +from mopidy import core from mopidy.core import PlaybackState from mopidy.local import actor from mopidy.models import Playlist, TlTrack, Track -from tests import path_to_data_dir +from tests import dummy_audio, path_to_data_dir from tests.local import generate_song, populate_tracklist @@ -27,7 +27,7 @@ class LocalTracklistProviderTest(unittest.TestCase): Track(uri=generate_song(i), length=4464) for i in range(1, 4)] def setUp(self): # noqa: N802 - self.audio = audio.DummyAudio.start().proxy() + self.audio = dummy_audio.create_proxy() self.backend = actor.LocalBackend.start( config=self.config, audio=self.audio).proxy() self.core = core.Core(mixer=None, backends=[self.backend]) diff --git a/tests/mpd/protocol/__init__.py b/tests/mpd/protocol/__init__.py index ba446cb0..b07a5ba3 100644 --- a/tests/mpd/protocol/__init__.py +++ b/tests/mpd/protocol/__init__.py @@ -6,10 +6,11 @@ import mock import pykka -from mopidy import core, mixer -from mopidy.backend import dummy +from mopidy import core from mopidy.mpd import session, uri_mapper +from tests import dummy_backend, dummy_mixer + class MockConnection(mock.Mock): def __init__(self, *args, **kwargs): @@ -32,8 +33,8 @@ class BaseTestCase(unittest.TestCase): } def setUp(self): # noqa: N802 - self.mixer = mixer.DummyMixer.start().proxy() - self.backend = dummy.create_dummy_backend_proxy() + self.mixer = dummy_mixer.create_proxy() + self.backend = dummy_backend.create_proxy() self.core = core.Core.start( mixer=self.mixer, backends=[self.backend]).proxy() diff --git a/tests/mpd/test_dispatcher.py b/tests/mpd/test_dispatcher.py index 1a230451..63981668 100644 --- a/tests/mpd/test_dispatcher.py +++ b/tests/mpd/test_dispatcher.py @@ -5,10 +5,11 @@ import unittest import pykka from mopidy import core -from mopidy.backend import dummy from mopidy.mpd.dispatcher import MpdDispatcher from mopidy.mpd.exceptions import MpdAckError +from tests import dummy_backend + class MpdDispatcherTest(unittest.TestCase): def setUp(self): # noqa: N802 @@ -17,7 +18,7 @@ class MpdDispatcherTest(unittest.TestCase): 'password': None, } } - self.backend = dummy.create_dummy_backend_proxy() + self.backend = dummy_backend.create_proxy() self.core = core.Core.start(backends=[self.backend]).proxy() self.dispatcher = MpdDispatcher(config=config) diff --git a/tests/mpd/test_status.py b/tests/mpd/test_status.py index 8dbfb1e4..e130353b 100644 --- a/tests/mpd/test_status.py +++ b/tests/mpd/test_status.py @@ -4,13 +4,15 @@ import unittest import pykka -from mopidy import core, mixer -from mopidy.backend import dummy +from mopidy import core from mopidy.core import PlaybackState from mopidy.models import Track from mopidy.mpd import dispatcher from mopidy.mpd.protocol import status +from tests import dummy_backend, dummy_mixer + + PAUSED = PlaybackState.PAUSED PLAYING = PlaybackState.PLAYING STOPPED = PlaybackState.STOPPED @@ -21,8 +23,8 @@ STOPPED = PlaybackState.STOPPED class StatusHandlerTest(unittest.TestCase): def setUp(self): # noqa: N802 - self.mixer = mixer.DummyMixer.start().proxy() - self.backend = dummy.create_dummy_backend_proxy() + self.mixer = dummy_mixer.create_proxy() + self.backend = dummy_backend.create_proxy() self.core = core.Core.start( mixer=self.mixer, backends=[self.backend]).proxy() self.dispatcher = dispatcher.MpdDispatcher(core=self.core) diff --git a/tests/utils/test_jsonrpc.py b/tests/utils/test_jsonrpc.py index 535df175..4471a4a0 100644 --- a/tests/utils/test_jsonrpc.py +++ b/tests/utils/test_jsonrpc.py @@ -8,9 +8,10 @@ import mock import pykka from mopidy import core, models -from mopidy.backend import dummy from mopidy.utils import jsonrpc +from tests import dummy_backend + class Calculator(object): def __init__(self): @@ -50,7 +51,7 @@ class Calculator(object): class JsonRpcTestBase(unittest.TestCase): def setUp(self): # noqa: N802 - self.backend = dummy.create_dummy_backend_proxy() + self.backend = dummy_backend.create_proxy() self.core = core.Core.start(backends=[self.backend]).proxy() self.calc = Calculator()