73 lines
2.5 KiB
Python
73 lines
2.5 KiB
Python
import unittest
|
|
|
|
from mopidy import handler
|
|
|
|
class HandlerTest(unittest.TestCase):
|
|
def setUp(self):
|
|
self.h = handler.MpdHandler()
|
|
|
|
def test_register_same_pattern_twice_fails(self):
|
|
func = lambda: None
|
|
try:
|
|
handler.register('a pattern')(func)
|
|
handler.register('a pattern')(func)
|
|
self.fail('Registering a pattern twice shoulde raise ValueError')
|
|
except ValueError:
|
|
pass
|
|
|
|
def test_handling_unknown_request_returns_none(self):
|
|
result = self.h.handle_request('an unhandled request')
|
|
self.assert_(result is None)
|
|
|
|
def test_handling_known_request(self):
|
|
expected = 'magic'
|
|
handler._request_handlers['known request'] = lambda x: expected
|
|
result = self.h.handle_request('known request')
|
|
self.assertEquals(expected, result)
|
|
|
|
def test_currentsong(self):
|
|
result = self.h._currentsong()
|
|
self.assert_(result is None)
|
|
|
|
def test_listplaylists(self):
|
|
result = self.h._listplaylists()
|
|
self.assert_(result is None)
|
|
|
|
def test_lsinfo_for_root_returns_same_as_listplaylists(self):
|
|
lsinfo_result = self.h._lsinfo('/')
|
|
listplaylists_result = self.h._listplaylists()
|
|
self.assertEquals(lsinfo_result, listplaylists_result)
|
|
|
|
def test_lsinfo(self):
|
|
result = self.h._lsinfo('')
|
|
self.assert_(result is None)
|
|
|
|
def test_ping(self):
|
|
result = self.h._ping()
|
|
self.assert_(result is None)
|
|
|
|
def test_version(self):
|
|
result = self.h._plchanges('0')
|
|
self.assert_(result is None)
|
|
|
|
def test_status(self):
|
|
result = self.h._status()
|
|
self.assert_('volume' in result)
|
|
self.assert_(int(result['volume']) in xrange(0, 101))
|
|
self.assert_('repeat' in result)
|
|
self.assert_(int(result['repeat']) in (0, 1))
|
|
self.assert_('random' in result)
|
|
self.assert_(int(result['random']) in (0, 1))
|
|
self.assert_('single' in result)
|
|
self.assert_(int(result['single']) in (0, 1))
|
|
self.assert_('consume' in result)
|
|
self.assert_(int(result['consume']) in (0, 1))
|
|
self.assert_('playlist' in result)
|
|
self.assert_(int(result['playlist']) in xrange(0, 2**31))
|
|
self.assert_('playlistlength' in result)
|
|
self.assert_(int(result['playlistlength']) >= 0)
|
|
self.assert_('xfade' in result)
|
|
self.assert_(int(result['xfade']) >= 0)
|
|
self.assert_('state' in result)
|
|
self.assert_(result['state'] in ('play', 'stop', 'pause'))
|