]> kaliko git repositories - mpd-sima.git/commitdiff
More robust Meta Object
authorkaliko <kaliko@azylum.org>
Tue, 7 Jun 2016 14:33:01 +0000 (16:33 +0200)
committerkaliko <kaliko@azylum.org>
Tue, 7 Jun 2016 14:33:01 +0000 (16:33 +0200)
Controls name attribute is str type

sima/lib/meta.py
tests/test_meta.py

index 069a904c8ec587079fcc13bbf3ef002c791d7961..2877b2fa833f7239d392c8cee9c110119360412d 100644 (file)
@@ -82,7 +82,9 @@ class Meta:
         self.__aliases = set()
         self.log = logging.getLogger(__name__)
         if 'name' not in kwargs or not kwargs.get('name'):
         self.__aliases = set()
         self.log = logging.getLogger(__name__)
         if 'name' not in kwargs or not kwargs.get('name'):
-            raise MetaException('Need a "name" argument')
+            raise MetaException('Need a "name" argument (str type)')
+        elif not isinstance(kwargs.get('name'), str):
+            raise MetaException('"name" argument not a string')
         else:
             self.__name = kwargs.pop('name')
         if 'mbid' in kwargs and kwargs.get('mbid'):
         else:
             self.__name = kwargs.pop('name')
         if 'mbid' in kwargs and kwargs.get('mbid'):
index acdec389fad3c230a39f2496951ebdc9ecf6eb10..a615a18e84279034f7dc574fc61502c78af9056a 100644 (file)
@@ -20,7 +20,7 @@ class TestMetaObject(unittest.TestCase):
         for args in [
                 {'mbid':VALID},
                 {'name': None},
         for args in [
                 {'mbid':VALID},
                 {'name': None},
-                {},
+                {'name': 42},
                 ]:
             with self.assertRaises(MetaException,
                                    msg='{} does not raise an except.'.format(args)):
                 ]:
             with self.assertRaises(MetaException,
                                    msg='{} does not raise an except.'.format(args)):