Browse Source

Changes in the tests for the fieldgroups

Roland Haroutiounian 9 years ago
parent
commit
03113ae8bf
2 changed files with 52 additions and 42 deletions
  1. 2
    0
      EditorialModel/model.py
  2. 50
    42
      EditorialModel/test/test_fieldgroups.py

+ 2
- 0
EditorialModel/model.py View File

@@ -104,6 +104,8 @@ class Model(object):
104 104
     # @param uid int : An EmComponent uid
105 105
     # @return The corresponding instance or False if uid don't exists
106 106
     def component(self, uid):
107
+        if not isinstance(uid, int) or not isinstance(uid, str):
108
+            raise TypeError
107 109
         return False if uid not in self._components['uids'] else self._components['uids'][uid]
108 110
 
109 111
     ## Sort components by rank in Model::_components

+ 50
- 42
EditorialModel/test/test_fieldgroups.py View File

@@ -16,13 +16,15 @@ from EditorialModel.fields import EmField
16 16
 from EditorialModel.classtypes import EmClassType
17 17
 from EditorialModel.fieldtypes import *
18 18
 
19
-from EditorialModel.test.utils import *
20
-
19
+#from EditorialModel.test.utils import *
20
+from Lodel.utils.mlstring import MlString
21 21
 from Database import sqlutils
22 22
 
23 23
 import sqlalchemy as sqla
24 24
 
25
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Lodel.settings")
25
+from EditorialModel.model import Model
26
+from EditorialModel.backend.json_backend import EmBackendJson
27
+#os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Lodel.settings")
26 28
 
27 29
 #=###########=#
28 30
 # TESTS SETUP #
@@ -30,33 +32,41 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Lodel.settings")
30 32
 
31 33
 TEST_FIELDGROUP_DBNAME = 'test_em_fieldgroup_db.sqlite'
32 34
 
35
+EM_TEST = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'me.json')
36
+EM_TEST_OBJECT = None
37
+
38
+
33 39
 def setUpModule():
40
+    global EM_TEST_OBJECT
41
+    EM_TEST_OBJECT = Model(EmBackendJson(EM_TEST))
34 42
 
35 43
     logging.basicConfig(level=logging.CRITICAL)
36 44
 
37
-    initTestDb(TEST_FIELDGROUP_DBNAME)
38
-    setDbConf(TEST_FIELDGROUP_DBNAME)
45
+    #initTestDb(TEST_FIELDGROUP_DBNAME)
46
+    #setDbConf(TEST_FIELDGROUP_DBNAME)
39 47
     
40 48
     #Classes creation
41
-    EmClass.create("entity1", EmClassType.entity)
42
-    EmClass.create("entity2", EmClassType.entity)
43
-    EmClass.create("entry1", EmClassType.entry)
44
-    EmClass.create("entry2", EmClassType.entry)
45
-    EmClass.create("person1", EmClassType.person)
46
-    EmClass.create("person2", EmClassType.person)
49
+    #EmClass.create("entity1", EmClassType.entity)
50
+    #EmClass.create("entity2", EmClassType.entity)
51
+    #EmClass.create("entry1", EmClassType.entry)
52
+    #EmClass.create("entry2", EmClassType.entry)
53
+    #EmClass.create("person1", EmClassType.person)
54
+    #EmClass.create("person2", EmClassType.person)
47 55
 
48
-    saveDbState(TEST_FIELDGROUP_DBNAME)
56
+    #saveDbState(TEST_FIELDGROUP_DBNAME)
49 57
 
50 58
     #shutil.copyfile(TEST_FIELDGROUP_DBNAME, globals()['fieldgroup_test_dbfilename']+'_bck')
51 59
 
60
+
52 61
 def tearDownModule():
53
-    cleanDb(TEST_FIELDGROUP_DBNAME)
62
+    #cleanDb(TEST_FIELDGROUP_DBNAME)
54 63
     pass
55 64
 
65
+
56 66
 class FieldGroupTestCase(TestCase):
57 67
     
58 68
     def setUp(self):
59
-        restoreDbState(TEST_FIELDGROUP_DBNAME)
69
+        #restoreDbState(TEST_FIELDGROUP_DBNAME)
60 70
         pass
61 71
 
62 72
 
@@ -64,7 +74,7 @@ class FieldGroupTestCase(TestCase):
64 74
 # EmFielgroup.__init__ #
65 75
 #======================#
66 76
 class TestInit(FieldGroupTestCase):
67
-
77
+    '''
68 78
     def setUp(self):
69 79
         super(TestInit, self).setUp()
70 80
         dbe = sqlutils.get_engine()
@@ -86,44 +96,41 @@ class TestInit(FieldGroupTestCase):
86 96
         conn.execute(req)
87 97
         conn.close()
88 98
         pass
99
+    '''
100
+
101
+    def setUp(self):
102
+        super(TestInit, self).setUp()
103
+        self.tfgs = [
104
+            {"name": "testfg1", "string": MlString({"fre": "Gens"}), "help_text": MlString({}), "class_id": 1},
105
+            {"name": "testfg2", "string": MlString({"fre": "Gens"}), "help_text": MlString({}), "class_id": 1},
106
+            {"name": "testfg3", "string": MlString({"fre": "Civilité"}), "help_text": MlString({}), "class_id": 2}
107
+        ]
108
+        for tfg in self.tfgs:
109
+            fieldgroup = EM_TEST_OBJECT.create_component(EmFieldGroup.__name__, tfg)
89 110
 
90 111
     def test_init(self):
91 112
         """ Test that EmFieldgroup are correctly instanciated compare to self.tfg """
92
-        for tfg in self.tfg:
93
-            fg = EmFieldGroup(tfg['name'])
94
-            for attr in tfg:
95
-                if attr in ['string', 'help']:
96
-                    v = MlString.load(tfg[attr])
97
-                else:
98
-                    v = tfg[attr]
99
-                self.assertEqual(getattr(fg, attr), v, "The propertie '"+attr+"' fetched from Db don't match excepted value")
100
-
101
-        for tfg in self.tfg:
102
-            fg = EmFieldGroup(tfg['uid'])
113
+        for tfg in self.tfgs:
114
+            fieldgroup = EM_TEST_OBJECT.component(tfg['uid'])
103 115
             for attr in tfg:
104
-                if attr in ['string', 'help']:
105
-                    v = MlString.load(tfg[attr])
106
-                else:
116
+                if attr != 'uid':
107 117
                     v = tfg[attr]
108
-                self.assertEqual(getattr(fg, attr), v, "The propertie '"+attr+"' fetched from Db don't match excepted value")
118
+                    self.assertEqual(getattr(fieldgroup, attr), v, "The '"+attr+"' property fetched from backend doesn't match the excepted value")
109 119
 
110
-        pass
111 120
 
112 121
     def test_init_badargs(self):
113
-        """ Test that EmFieldgroup fail when bad arguments are given """
114
-        baduid = self.tfg[2]['uid'] + 4096
122
+        """ Tests that EmFieldGroup init fails when bad arguments are given"""
123
+        baduid = self.tfgs[2]['uid'] + 4096
115 124
         badname = 'NonExistingName'
116 125
 
117
-        with self.assertRaises(EmComponentNotExistError, msg="Should raise because fieldgroup with id "+str(baduid)+" should not exist"):
118
-            fg = EmFieldGroup(baduid)
119
-        with self.assertRaises(EmComponentNotExistError, msg="Should raise because fieldgroup named "+badname+" should not exist"):
120
-            fg = EmFieldGroup(badname)
121
-        with self.assertRaises(TypeError, msg="Should raise a TypeError when crazy arguments are given"):
122
-            fg = EmFieldGroup(print)
123
-        with self.assertRaises(TypeError, msg="Should raise a TypeError when crazy arguments are given"):
124
-            fg = EmFieldGroup(['hello', 'world'])
125
-        pass
126
+        # TODO Voir si on garde le return False de Model.component() ou si on utilise plutôt une exception EmComponentNotExistError en modifiant le reste du code source pour gérer ce cas
127
+        self.assertFalse(EM_TEST_OBJECT.component(baduid), msg="Should be False because fieldgroup with id " + str(baduid) + " should not exist")
128
+        self.assertFalse(EM_TEST_OBJECT.component(badname), msg="Should be False because fieldgroup with id " + str(badname) + " should not exist")
129
+        self.assertFalse(EM_TEST_OBJECT.component(print), msg="Should be False when crazy arguments are given")
130
+        self.assertFalse(EM_TEST_OBJECT.component(['hello', 'world']), msg="Should be False when crazy arguments are given")
131
+
126 132
 
133
+'''
127 134
 #=====================#
128 135
 # EmFieldgroup.create #
129 136
 #=====================#
@@ -238,3 +245,4 @@ class TestFields(FieldGroupTestCase):
238 245
         self.assertEqual(len(flist), 0)
239 246
         pass
240 247
 
248
+'''

Loading…
Cancel
Save