Merge pull request #984 from jodal/feature/move-dummies

Move dummies into the test package where they belong
This commit is contained in:
Thomas Adamcik 2015-02-13 20:22:31 +01:00
commit 4a38d1722c
16 changed files with 86 additions and 71 deletions

View File

@ -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 (

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()

29
tests/dummy_mixer.py Normal file
View File

@ -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

View File

@ -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()

View File

@ -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])

View File

@ -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])

View File

@ -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])

View File

@ -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()

View File

@ -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)

View File

@ -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)

View File

@ -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()