Skip to content

Commit

Permalink
Add tests for serialize.py
Browse files Browse the repository at this point in the history
This includes tests for serialize_recording and
serialize_artist_credits.
  • Loading branch information
kartikeyaSh committed May 24, 2018
1 parent a835829 commit 137a608
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions brainzutils/musicbrainz_db/tests/test_serialize.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
from brainzutils.musicbrainz_db.serialize import serialize_recording, serialize_artist_credit
from brainzutils.musicbrainz_db.test_data import recording_numb_encore_explicit, artistcredit_jay_z_linkin_park
from unittest import TestCase

class SerializeTestCase(TestCase):
def test_serialize_recording(self):
"""Tests that recordings are serialized properly."""
# Without any includes
recording = serialize_recording(recording_numb_encore_explicit)
self.assertDictEqual(recording,
{
'length': 205.28,
'id': 'daccb724-8023-432a-854c-e0accb6c8678',
'name': 'Numb/Encore (explicit)',
}
)

# With artists included
recording = serialize_recording(recording_numb_encore_explicit, includes={'artists'})
self.assertDictEqual(recording,
{
'id': 'daccb724-8023-432a-854c-e0accb6c8678',
'name': 'Numb/Encore (explicit)',
'length': 205.28,
'artists':[
{
'id': 'f82bcf78-5b69-4622-a5ef-73800768d9ac',
'name': 'JAY Z',
'credited_name': 'Jay-Z',
'join_phrase': '/'
},
{
'id': 'f59c5520-5f46-4d2c-b2c4-822eabf53419',
'name': 'Linkin Park'
}
]
}
)

def test_serialize_artist_credits(self):
"""Test that artist_credits are serialized properly."""
artist_credits = serialize_artist_credit(artistcredit_jay_z_linkin_park)
self.assertListEqual(artist_credits,
[
{
'id': 'f82bcf78-5b69-4622-a5ef-73800768d9ac',
'name': 'JAY Z',
'credited_name': 'Jay-Z',
'join_phrase': '/'
},
{
'id': 'f59c5520-5f46-4d2c-b2c4-822eabf53419',
'name': 'Linkin Park'
}
]
)

0 comments on commit 137a608

Please sign in to comment.