server/test/unittest_migractions.py
branchstable
changeset 6208 07b176640a8c
parent 6163 407f54345687
child 6292 054fa36060d5
child 6340 470d8e828fda
equal deleted inserted replaced
6207:c3f11fadf9ed 6208:07b176640a8c
   307         migrschema['Personne'].description = 'blabla bla'
   307         migrschema['Personne'].description = 'blabla bla'
   308         migrschema['titre'].description = 'usually a title'
   308         migrschema['titre'].description = 'usually a title'
   309         migrschema['titre'].rdefs[('Personne', 'String')].description = 'title for this person'
   309         migrschema['titre'].rdefs[('Personne', 'String')].description = 'title for this person'
   310         delete_concerne_rqlexpr = self._rrqlexpr_rset('delete', 'concerne')
   310         delete_concerne_rqlexpr = self._rrqlexpr_rset('delete', 'concerne')
   311         add_concerne_rqlexpr = self._rrqlexpr_rset('add', 'concerne')
   311         add_concerne_rqlexpr = self._rrqlexpr_rset('add', 'concerne')
       
   312         
   312         self.mh.cmd_sync_schema_props_perms(commit=False)
   313         self.mh.cmd_sync_schema_props_perms(commit=False)
   313 
   314 
   314         self.assertEquals(cursor.execute('Any D WHERE X name "Personne", X description D')[0][0],
   315         self.assertEquals(cursor.execute('Any D WHERE X name "Personne", X description D')[0][0],
   315                           'blabla bla')
   316                           'blabla bla')
   316         self.assertEquals(cursor.execute('Any D WHERE X name "titre", X description D')[0][0],
   317         self.assertEquals(cursor.execute('Any D WHERE X name "titre", X description D')[0][0],
   378                                          'NOT ET3 delete_permission X, NOT ET4 update_permission X')[0][0],
   379                                          'NOT ET3 delete_permission X, NOT ET4 update_permission X')[0][0],
   379                           7+1)
   380                           7+1)
   380         # finally
   381         # finally
   381         self.assertEquals(cursor.execute('Any COUNT(X) WHERE X is RQLExpression')[0][0],
   382         self.assertEquals(cursor.execute('Any COUNT(X) WHERE X is RQLExpression')[0][0],
   382                           nbrqlexpr_start + 1 + 2 + 2)
   383                           nbrqlexpr_start + 1 + 2 + 2)
   383 
   384         self.mh.commit()
   384         self.mh.rollback()
   385         # unique_together test
       
   386         self.assertEqual(len(self.schema.eschema('Personne')._unique_together), 1)
       
   387         self.assertUnorderedIterableEquals(self.schema.eschema('Personne')._unique_together[0],
       
   388                                            ('nom', 'prenom', 'datenaiss'))
       
   389         rset = cursor.execute('Any C WHERE C is CWUniqueTogetherConstraint')
       
   390         self.assertEquals(len(rset), 1)
       
   391         relations = [r.rtype.name for r in rset.get_entity(0,0).relations]
       
   392         self.assertUnorderedIterableEquals(relations, ('nom', 'prenom', 'datenaiss'))
   385 
   393 
   386     def _erqlexpr_rset(self, action, ertype):
   394     def _erqlexpr_rset(self, action, ertype):
   387         rql = 'RQLExpression X WHERE ET is CWEType, ET %s_permission X, ET name %%(name)s' % action
   395         rql = 'RQLExpression X WHERE ET is CWEType, ET %s_permission X, ET name %%(name)s' % action
   388         return self.mh.session.execute(rql, {'name': ertype})
   396         return self.mh.session.execute(rql, {'name': ertype})
   389     def _erqlexpr_entity(self, action, ertype):
   397     def _erqlexpr_entity(self, action, ertype):