/shabti/templates/default/+package+/tests/test_models.py_tmpl
https://bitbucket.org/gawel/shabti · Unknown · 54 lines · 43 code · 11 blank · 0 comment · 0 complexity · d40efe245e40256f0d4c5e4bf38cba03 MD5 · raw file
- {{if sqlalchemy}}
- # default/tests/test_models
- from sqlalchemy.exceptions import IntegrityError
- from elixir import *
- from {{package}}.tests import *
- from {{package}}.model import Session, metadata
- class Individual(Entity):
- """Table 'Individual'.
-
- used in test_models.py
-
- >>> me = Individual()
-
- """
- name = Field(Unicode(20), unique=True)
- favorite_color = Field(Unicode(20))
- created = Field(DateTime)
- active = Field(Boolean)
-
- class TestMyModel(TestModel):
- def setUp(self):
- TestModel.setUp(self)
-
- def tearDown(self):
- TestModel.tearDown(self)
-
- def test_simpleassert(self):
- """TestMyModel (default): check entity creation and retrieval"""
- einstein = Individual(name = u'einstein')
- Session.commit()
- ind1 = Session.query(Individual).first()
- assert ind1 is einstein
- # why this fail ?!
- # assert ind1.name == einstein.name == u'einstein'
-
- def test_exception(self):
- """TestMyModel (default): check duplicate entity creation is disallowed"""
- me = Individual(name = u'giuseppe')
- me_again = Individual(name = u'giuseppe')
- self.assertRaises(IntegrityError, Session.commit)
- Session.rollback()
-
- def test_many(self):
- """TestMyModel (default): check creation of many entities"""
- from {{package}}.lib.fixtures import lorem_ipsum
- for i in xrange(5):
- lorem_ipsum(Individual)
- Session.commit()
- assert len(Session.query(Individual).all()) == 50
- # --- Added by Shabti default template
- {{endif}}