Change JsonLibrary.lookup to return a list

This commit is contained in:
Thomas Kemmer 2014-09-05 05:35:18 +02:00
parent f90671fe96
commit 806174916d
2 changed files with 8 additions and 12 deletions

View File

@ -151,9 +151,9 @@ class JsonLibrary(local.Library):
def lookup(self, uri):
try:
return self._tracks[uri]
return [self._tracks[uri]]
except KeyError:
return None
return []
def search(self, query=None, limit=100, offset=0, uris=None, exact=False):
tracks = self._tracks.values()

View File

@ -131,22 +131,18 @@ class LocalLibraryProviderTest(unittest.TestCase):
tracks = self.library.lookup('fake uri')
self.assertEqual(tracks, [])
@mock.patch.object(
json.JsonLibrary, 'lookup')
def test_lookup_multiple_tracks(self, mock_lookup):
# test backward compatibility with local libraries returning a
# single Track
@mock.patch.object(json.JsonLibrary, 'lookup')
def test_lookup_return_single_track(self, mock_lookup):
backend = actor.LocalBackend(config=self.config, audio=None)
mock_lookup.return_value = self.tracks
tracks = backend.library.lookup('fake album uri')
mock_lookup.assert_called_with('fake album uri')
self.assertEqual(tracks, self.tracks)
mock_lookup.return_value = [self.tracks[0]]
mock_lookup.return_value = self.tracks[0]
tracks = backend.library.lookup(self.tracks[0].uri)
mock_lookup.assert_called_with(self.tracks[0].uri)
self.assertEqual(tracks, self.tracks[0:1])
mock_lookup.return_value = []
mock_lookup.return_value = None
tracks = backend.library.lookup('fake uri')
mock_lookup.assert_called_with('fake uri')
self.assertEqual(tracks, [])