diff --git a/mopidy/utils.py b/mopidy/utils.py index a7fbc499..077f004e 100644 --- a/mopidy/utils.py +++ b/mopidy/utils.py @@ -173,7 +173,6 @@ def _convert_mpd_data(data, tracks, music_dir): track_kwargs['uri'] = path_to_uri(music_dir, path) track_kwargs['length'] = int(data.get('time', 0)) * 1000 - track_kwargs['id'] = len(tracks) track = Track(**track_kwargs) tracks.add(track) diff --git a/tests/backends/base.py b/tests/backends/base.py index d00770e2..63070cb1 100644 --- a/tests/backends/base.py +++ b/tests/backends/base.py @@ -65,22 +65,13 @@ class BaseCurrentPlaylistControllerTest(object): cp_track = self.controller.cp_tracks[1] self.assertEqual(cp_track, self.controller.get(cpid=cp_track[0])) - @populate_playlist - def test_get_by_id(self): - cp_track = self.controller.cp_tracks[1] - self.assertEqual(cp_track, self.controller.get(id=cp_track[1].id)) - - @populate_playlist - def test_get_by_id_raises_error_for_invalid_id(self): - self.assertRaises(LookupError, lambda: self.controller.get(id=1337)) - @populate_playlist def test_get_by_uri(self): cp_track = self.controller.cp_tracks[1] self.assertEqual(cp_track, self.controller.get(uri=cp_track[1].uri)) @populate_playlist - def test_get_by_uri_raises_error_for_invalid_id(self): + def test_get_by_uri_raises_error_for_invalid_uri(self): test = lambda: self.controller.get(uri='foobar') self.assertRaises(LookupError, test) @@ -106,28 +97,6 @@ class BaseCurrentPlaylistControllerTest(object): self.controller.load(tracks) self.assertEqual(tracks, self.controller.tracks) - def test_get_by_id_returns_unique_match(self): - track = Track(id=1) - self.controller.load([Track(id=13), track, Track(id=17)]) - self.assertEqual(track, self.controller.get(id=1)[1]) - - def test_get_by_id_raises_error_if_multiple_matches(self): - track = Track(id=1) - self.controller.load([Track(id=13), track, track]) - try: - self.controller.get(id=1) - self.fail(u'Should raise LookupError if multiple matches') - except LookupError as e: - self.assertEqual(u'"id=1" match multiple tracks', e[0]) - - def test_get_by_id_raises_error_if_no_match(self): - self.controller.playlist = Playlist(tracks=[Track(id=13), Track(id=17)]) - try: - self.controller.get(id=1) - self.fail(u'Should raise LookupError if no match') - except LookupError as e: - self.assertEqual(u'"id=1" match no tracks', e[0]) - def test_get_by_uri_returns_unique_match(self): track = Track(uri='a') self.controller.load([Track(uri='z'), track, Track(uri='y')]) @@ -152,20 +121,20 @@ class BaseCurrentPlaylistControllerTest(object): self.assertEqual(u'"uri=a" match no tracks', e[0]) def test_get_by_multiple_criteria_returns_elements_matching_all(self): - track1 = Track(id=1, uri='a') - track2 = Track(id=1, uri='b') - track3 = Track(id=2, uri='b') + track1 = Track(uri='a', name='x') + track2 = Track(uri='b', name='x') + track3 = Track(uri='b', name='y') self.controller.load([track1, track2, track3]) - self.assertEqual(track1, self.controller.get(id=1, uri='a')[1]) - self.assertEqual(track2, self.controller.get(id=1, uri='b')[1]) - self.assertEqual(track3, self.controller.get(id=2, uri='b')[1]) + self.assertEqual(track1, self.controller.get(uri='a', name='x')[1]) + self.assertEqual(track2, self.controller.get(uri='b', name='x')[1]) + self.assertEqual(track3, self.controller.get(uri='b', name='y')[1]) def test_get_by_criteria_that_is_not_present_in_all_elements(self): - track1 = Track(id=1) + track1 = Track() track2 = Track(uri='b') - track3 = Track(id=2) + track3 = Track() self.controller.load([track1, track2, track3]) - self.assertEqual(track1, self.controller.get(id=1)[1]) + self.assertEqual(track2, self.controller.get(uri='b')[1]) @populate_playlist def test_load_replaces_playlist(self): @@ -244,18 +213,18 @@ class BaseCurrentPlaylistControllerTest(object): track1 = self.controller.tracks[1] track2 = self.controller.tracks[2] version = self.controller.version - self.controller.remove(id=track1.id) + self.controller.remove(uri=track1.uri) self.assert_(version < self.controller.version) self.assert_(track1 not in self.controller.tracks) self.assertEqual(track2, self.controller.tracks[1]) @populate_playlist def test_removing_track_that_does_not_exist(self): - test = lambda: self.controller.remove(id=12345) + test = lambda: self.controller.remove(uri='/nonexistant') self.assertRaises(LookupError, test) def test_removing_from_empty_playlist(self): - test = lambda: self.controller.remove(id=12345) + test = lambda: self.controller.remove(uri='/nonexistant') self.assertRaises(LookupError, test) @populate_playlist @@ -1025,7 +994,7 @@ class BaseStoredPlaylistsControllerTest(object): except LookupError as e: self.assertEqual(u'"name=b" match multiple playlists', e[0]) - def test_get_by_id_raises_keyerror_if_no_match(self): + def test_get_by_name_raises_keyerror_if_no_match(self): self.stored.playlists = [Playlist(name='a'), Playlist(name='b')] try: self.stored.get(name='c') @@ -1080,10 +1049,10 @@ class BaseLibraryControllerTest(object): Album(name='album2', artists=artists[1:2]), Album()] tracks = [Track(name='track1', length=4000, artists=artists[:1], - album=albums[0], uri='file://' + data_folder('uri1'), id=0), + album=albums[0], uri='file://' + data_folder('uri1')), Track(name='track2', length=4000, artists=artists[1:2], - album=albums[1], uri='file://' + data_folder('uri2'), id=1), - Track(id=3)] + album=albums[1], uri='file://' + data_folder('uri2')), + Track()] def setUp(self): self.backend = self.backend_class(mixer=DummyMixer()) diff --git a/tests/backends/gstreamer_test.py b/tests/backends/gstreamer_test.py index 93c5eb48..22619c80 100644 --- a/tests/backends/gstreamer_test.py +++ b/tests/backends/gstreamer_test.py @@ -23,7 +23,7 @@ generate_song = lambda i: path_to_uri(song % i) # FIXME can be switched to generic test class GStreamerCurrentPlaylistControllerTest(BaseCurrentPlaylistControllerTest, unittest.TestCase): - tracks = [Track(uri=generate_song(i), id=i, length=4464) + tracks = [Track(uri=generate_song(i), length=4464) for i in range(1, 4)] backend_class = GStreamerBackend @@ -31,7 +31,7 @@ class GStreamerCurrentPlaylistControllerTest(BaseCurrentPlaylistControllerTest, class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, unittest.TestCase): - tracks = [Track(uri=generate_song(i), id=i, length=4464) + tracks = [Track(uri=generate_song(i), length=4464) for i in range(1, 4)] backend_class = GStreamerBackend @@ -42,7 +42,7 @@ class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, def add_track(self, path): uri = path_to_uri(data_folder(path)) - track = Track(uri=uri, id=1, length=4464) + track = Track(uri=uri, length=4464) self.backend.current_playlist.add(track) def test_uri_handler(self): diff --git a/tests/utils_test.py b/tests/utils_test.py index eacd314e..d5c98d86 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -146,7 +146,7 @@ expected_tracks = [] def generate_track(path, ident): uri = path_to_uri(data_folder(path)) track = Track(name='trackname', artists=expected_artists, track_no=1, - album=expected_albums[0], length=4000, uri=uri, id=ident) + album=expected_albums[0], length=4000, uri=uri) expected_tracks.append(track) generate_track('song1.mp3', 6) @@ -170,7 +170,7 @@ class MPDTagCacheToTracksTest(unittest.TestCase): data_folder('')) uri = path_to_uri(data_folder('song1.mp3')) track = Track(name='trackname', artists=expected_artists, track_no=1, - album=expected_albums[0], length=4000, uri=uri, id=0) + album=expected_albums[0], length=4000, uri=uri) self.assertEqual(set([track]), tracks) def test_advanced_cache(self): @@ -189,4 +189,4 @@ class MPDTagCacheToTracksTest(unittest.TestCase): tracks = parse_mpd_tag_cache(data_folder('blank_tag_cache'), data_folder('')) uri = path_to_uri(data_folder('song1.mp3')) - self.assertEqual(set([Track(uri=uri, length=4000, id=0)]), tracks) + self.assertEqual(set([Track(uri=uri, length=4000)]), tracks)