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): |