|
@@ -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
|
+'''
|