import unittest
from sima.lib.meta import Meta, Artist, MetaContainer, is_uuid4
-from sima.lib.meta import WrongUUID4, MetaException
+from sima.lib.meta import MetaException, SEPARATOR
-VALID = '110E8100-E29B-41D1-A716-116655250000'
+VALID = '110e8100-e29b-41d1-a716-116655250000'
class TestMetaObject(unittest.TestCase):
def test_uuid_integrity(self):
- Meta(mbid=VALID, name='test')
- Meta(mbid=VALID.lower(), name='test')
wrong = VALID +'a'
- self.assertRaises(WrongUUID4, is_uuid4, wrong)
+ self.assertFalse(is_uuid4(wrong))
# test UUID4 format validation
- self.assertRaises(WrongUUID4, is_uuid4, VALID.replace('4', '3'))
- self.assertRaises(WrongUUID4, is_uuid4, VALID.replace('A', 'Z'))
+ self.assertFalse(is_uuid4(VALID.replace('4', '3')))
+ self.assertFalse(is_uuid4(VALID.replace('a', 'z')))
def test_init(self):
for args in [
{'mbid':VALID},
{'name': None},
- {},
+ {'name': 42},
]:
with self.assertRaises(MetaException,
msg='{} does not raise an except.'.format(args)):
def test_equality(self):
a = Meta(mbid=VALID, name='a')
b = Meta(mbid=VALID, name='b')
- c = Meta(mbid=VALID.lower(), name='c')
+ c = Meta(mbid=VALID.upper(), name='c')
self.assertEqual(a, b)
self.assertEqual(a, c)
class TestArtistObject(unittest.TestCase):
def test_init(self):
- artist = {'artist': ', '.join(['Original Name', 'Featuring Nane', 'Featureā¦']),
+ artist = {'artist': SEPARATOR.join(['Original Name', 'Featuring Nane', 'Featureā¦']),
'albumartist': 'Name',
'musicbrainz_artistid': VALID,
'musicbrainz_albumartistid': VALID.replace('11', '22'),
art = Artist(**artist)
self.assertTrue(art.name == 'Original Name', art.name)
+ def test_empty_name(self):
+ for args in [
+ {'mbid':VALID},
+ {'name': None},
+ {},
+ ]:
+ with self.assertRaises(MetaException,
+ msg='{} does not raise an except.'.format(args)):
+ Artist(**args)
class TestMetaContainers(unittest.TestCase):