From 5270aa65e2c2fe035ccbb00f482cec35bc4b8786 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Fri, 13 Feb 2015 01:47:15 +0100 Subject: [PATCH] audio: Move DummyAudio into tests package --- mopidy/audio/__init__.py | 1 - tests/audio/test_actor.py | 3 +- mopidy/audio/dummy.py => tests/dummy_audio.py | 42 ++++++++++--------- tests/local/test_events.py | 6 +-- tests/local/test_playback.py | 6 +-- tests/local/test_playlists.py | 6 +-- tests/local/test_tracklist.py | 6 +-- 7 files changed, 36 insertions(+), 34 deletions(-) rename mopidy/audio/dummy.py => tests/dummy_audio.py (65%) 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/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/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/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])