176 self.assertEquals([g.name for g in syt.in_group], ['managers', 'users']) |
176 self.assertEquals([g.name for g in syt.in_group], ['managers', 'users']) |
177 self.patch_authenticate() |
177 self.patch_authenticate() |
178 cnx = self.login(SYT, password='dummypassword') |
178 cnx = self.login(SYT, password='dummypassword') |
179 cu = cnx.cursor() |
179 cu = cnx.cursor() |
180 adim = cu.execute('CWUser X WHERE X login %(login)s', {'login': ADIM}).get_entity(0, 0) |
180 adim = cu.execute('CWUser X WHERE X login %(login)s', {'login': ADIM}).get_entity(0, 0) |
181 adim.fire_transition('deactivate') |
181 iworkflowable = adim.cw_adapt_to('IWorkflowable') |
|
182 iworkflowable.fire_transition('deactivate') |
182 try: |
183 try: |
183 cnx.commit() |
184 cnx.commit() |
184 adim.clear_all_caches() |
185 adim.clear_all_caches() |
185 self.assertEquals(adim.in_state[0].name, 'deactivated') |
186 self.assertEquals(adim.in_state[0].name, 'deactivated') |
186 trinfo = adim.latest_trinfo() |
187 trinfo = iworkflowable.latest_trinfo() |
187 self.assertEquals(trinfo.owned_by[0].login, SYT) |
188 self.assertEquals(trinfo.owned_by[0].login, SYT) |
188 # select from_state to skip the user's creation TrInfo |
189 # select from_state to skip the user's creation TrInfo |
189 rset = self.sexecute('Any U ORDERBY D DESC WHERE WF wf_info_for X,' |
190 rset = self.sexecute('Any U ORDERBY D DESC WHERE WF wf_info_for X,' |
190 'WF creation_date D, WF from_state FS,' |
191 'WF creation_date D, WF from_state FS,' |
191 'WF owned_by U?, X eid %(x)s', |
192 'WF owned_by U?, X eid %(x)s', |
193 self.assertEquals(rset.rows, [[syt.eid]]) |
194 self.assertEquals(rset.rows, [[syt.eid]]) |
194 finally: |
195 finally: |
195 # restore db state |
196 # restore db state |
196 self.restore_connection() |
197 self.restore_connection() |
197 adim = self.sexecute('CWUser X WHERE X login %(login)s', {'login': ADIM}).get_entity(0, 0) |
198 adim = self.sexecute('CWUser X WHERE X login %(login)s', {'login': ADIM}).get_entity(0, 0) |
198 adim.fire_transition('activate') |
199 adim.cw_adapt_to('IWorkflowable').fire_transition('activate') |
199 self.sexecute('DELETE X in_group G WHERE X login %(syt)s, G name "managers"', {'syt': SYT}) |
200 self.sexecute('DELETE X in_group G WHERE X login %(syt)s, G name "managers"', {'syt': SYT}) |
200 |
201 |
201 def test_same_column_names(self): |
202 def test_same_column_names(self): |
202 self.sexecute('Any X, Y WHERE X copain Y, X login "comme", Y login "cochon"') |
203 self.sexecute('Any X, Y WHERE X copain Y, X login "comme", Y login "cochon"') |
203 |
204 |