47 lines
2.1 KiB
Python
47 lines
2.1 KiB
Python
# Copyright 2024 (c) Anna Schumaker.
|
|
"""Test creating a liblistenbrainz.Listen from a Track."""
|
|
import emmental.listenbrainz.listen
|
|
import liblistenbrainz
|
|
import pathlib
|
|
import tests.util
|
|
|
|
|
|
class TestListen(tests.util.TestCase):
|
|
"""ListenBrainz Listen test case."""
|
|
|
|
def setUp(self):
|
|
"""Set up common variables."""
|
|
super().setUp()
|
|
self.library = self.sql.libraries.create(pathlib.Path("/a/b"))
|
|
self.artists = [self.sql.artists.create("Artist 1", mbid="mbid-ar1"),
|
|
self.sql.artists.create("Artist 2"),
|
|
self.sql.artists.create("Artist 3", mbid="mbid-ar3")]
|
|
self.album = self.sql.albums.create("Test Album", "Test Artist",
|
|
release="1988-06",
|
|
mbid="mbid-release")
|
|
self.medium = self.sql.media.create(self.album, "", number=1)
|
|
self.year = self.sql.years.create(1988)
|
|
self.track = self.sql.tracks.create(self.library,
|
|
pathlib.Path("/a/b/c.ogg"),
|
|
self.medium, self.year,
|
|
title="Track 1", number=1,
|
|
artist="Track Artist")
|
|
|
|
for artist in self.artists:
|
|
artist.add_track(self.track)
|
|
|
|
self.listen = emmental.listenbrainz.listen.Listen(self.track)
|
|
|
|
def test_init(self):
|
|
"""Test initializing our Listen instance."""
|
|
self.assertIsInstance(self.listen, liblistenbrainz.Listen)
|
|
self.assertEqual(self.listen.track_name, "Track 1")
|
|
self.assertEqual(self.listen.artist_name, "Track Artist")
|
|
self.assertEqual(self.listen.release_name, "Test Album")
|
|
self.assertEqual(self.listen.release_group_mbid, "mbid-release")
|
|
self.assertEqual(self.listen.tracknumber, 1)
|
|
self.assertDictEqual(self.listen.additional_info,
|
|
{"media_player": "emmental-debug"})
|
|
self.assertListEqual(self.listen.artist_mbids,
|
|
["mbid-ar1", "mbid-ar3"])
|