| Total Complexity | 7 |
| Total Lines | 42 |
| Duplicated Lines | 0 % |
| 1 | # -*- coding: utf-8 -*- |
||
| 23 | class ModelTest(object): |
||
| 24 | """Base unit test case for the models.""" |
||
| 25 | |||
| 26 | klass = None |
||
| 27 | attrs = {} |
||
| 28 | |||
| 29 | def setUp(self): |
||
| 30 | """Setup test fixture for each model test method.""" |
||
| 31 | try: |
||
| 32 | new_attrs = {} |
||
| 33 | new_attrs.update(self.attrs) |
||
| 34 | new_attrs.update(self.do_get_dependencies()) |
||
| 35 | self.obj = self.klass(**new_attrs) |
||
| 36 | DBSession.add(self.obj) |
||
| 37 | DBSession.flush() |
||
| 38 | return self.obj |
||
| 39 | except: |
||
| 40 | DBSession.rollback() |
||
| 41 | raise |
||
| 42 | |||
| 43 | def tearDown(self): |
||
| 44 | """Tear down test fixture for each model test method.""" |
||
| 45 | DBSession.rollback() |
||
| 46 | |||
| 47 | def do_get_dependencies(self): |
||
| 48 | """Get model test dependencies. |
||
| 49 | |||
| 50 | Use this method to pull in other objects that need to be created |
||
| 51 | for this object to be build properly. |
||
| 52 | |||
| 53 | """ |
||
| 54 | return {} |
||
| 55 | |||
| 56 | def test_create_obj(self): |
||
| 57 | """Model objects can be created""" |
||
| 58 | pass |
||
| 59 | |||
| 60 | def test_query_obj(self): |
||
| 61 | """Model objects can be queried""" |
||
| 62 | obj = DBSession.query(self.klass).one() |
||
| 63 | for key, value in self.attrs.items(): |
||
| 64 | eq_(getattr(obj, key), value) |
||
| 65 |