diff options
author | Brian Waldon <bcwaldon@gmail.com> | 2012-06-07 13:27:46 -0700 |
---|---|---|
committer | Brian Waldon <bcwaldon@gmail.com> | 2012-06-07 13:27:46 -0700 |
commit | f25ce31640ec30429cd6408ee6e768e9788f9af3 (patch) | |
tree | c5df7d3d74ae7dd3b1edcd2b20727881df6ed464 | |
parent | d5a35f967616d527c17abe97dca4140da3b29951 (diff) | |
download | warlock-f25ce31640ec30429cd6408ee6e768e9788f9af3.tar.gz |
Cast schema name to string
-rw-r--r-- | test/test_core.py | 7 | ||||
-rw-r--r-- | warlock/core.py | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/test/test_core.py b/test/test_core.py index aa31198..3610619 100644 --- a/test/test_core.py +++ b/test/test_core.py @@ -19,6 +19,13 @@ class TestCore(unittest.TestCase): Country = warlock.model_factory(fixture) self.assertRaises(ValueError, Country, name=1) + def test_class_name_from_unicode_schema_name(self): + fixture_copy = copy.deepcopy(fixture) + fixture_copy['name'] = unicode(fixture_copy['name']) + # Can't set class.__name__ to a unicode object, ensure warlock + # does some magic to make it possible + warlock.model_factory(fixture_copy) + def test_invalid_operations(self): Country = warlock.model_factory(fixture) sweden = Country(name='Sweden', population=9379116) diff --git a/warlock/core.py b/warlock/core.py index e4a070a..205c221 100644 --- a/warlock/core.py +++ b/warlock/core.py @@ -53,5 +53,5 @@ def model_factory(schema): raise InvalidOperation() self.__dict__['raw'] = mutation - Model.__name__ = schema['name'] + Model.__name__ = str(schema['name']) return Model |