hooks/test/unittest_syncschema.py
changeset 9548 be001628edad
parent 9463 d62e13eba033
child 9674 96549de9dd70
equal deleted inserted replaced
9547:43aace16a953 9548:be001628edad
   245     def test_unique_change(self):
   245     def test_unique_change(self):
   246         self.session.set_cnxset()
   246         self.session.set_cnxset()
   247         dbhelper = self.repo.system_source.dbhelper
   247         dbhelper = self.repo.system_source.dbhelper
   248         sqlcursor = self.session.cnxset.cu
   248         sqlcursor = self.session.cnxset.cu
   249         try:
   249         try:
   250             self.execute('INSERT CWConstraint X: X cstrtype CT, DEF constrained_by X '
   250             eid = self.execute('INSERT CWConstraint X: X cstrtype CT, DEF constrained_by X '
   251                          'WHERE CT name "UniqueConstraint", DEF relation_type RT, DEF from_entity E,'
   251                                'WHERE CT name "UniqueConstraint", DEF relation_type RT, DEF from_entity E,'
   252                          'RT name "name", E name "Workflow"')
   252                                'RT name "name", E name "Workflow"').rows[0][0]
   253             self.assertFalse(self.schema['Workflow'].has_unique_values('name'))
   253             self.assertFalse(self.schema['Workflow'].has_unique_values('name'))
   254             self.assertFalse(self.index_exists('Workflow', 'name', unique=True))
   254             self.assertFalse(self.index_exists('Workflow', 'name', unique=True))
   255             self.commit()
   255             self.commit()
   256             self.assertTrue(self.schema['Workflow'].has_unique_values('name'))
   256             self.assertTrue(self.schema['Workflow'].has_unique_values('name'))
   257             self.assertTrue(self.index_exists('Workflow', 'name', unique=True))
   257             self.assertTrue(self.index_exists('Workflow', 'name', unique=True))
   258         finally:
   258         finally:
   259             self.execute('DELETE DEF constrained_by X WHERE X cstrtype CT, '
   259             self.execute('DELETE CWConstraint C WHERE C eid %(eid)s', {'eid': eid})
   260                          'CT name "UniqueConstraint", DEF relation_type RT, DEF from_entity E,'
       
   261                          'RT name "name", E name "Workflow"')
       
   262             self.assertTrue(self.schema['Workflow'].has_unique_values('name'))
       
   263             self.assertTrue(self.index_exists('Workflow', 'name', unique=True))
       
   264             self.commit()
   260             self.commit()
   265             self.assertFalse(self.schema['Workflow'].has_unique_values('name'))
   261             self.assertFalse(self.schema['Workflow'].has_unique_values('name'))
   266             self.assertFalse(self.index_exists('Workflow', 'name', unique=True))
   262             self.assertFalse(self.index_exists('Workflow', 'name', unique=True))
   267 
   263 
   268     def test_required_change_1(self):
   264     def test_required_change_1(self):