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 |