59 |
59 |
60 def setup_database(self): |
60 def setup_database(self): |
61 cu = cnx2.cursor() |
61 cu = cnx2.cursor() |
62 self.ec1 = cu.execute('INSERT Card X: X title "C3: An external card", X wikiid "aaa"')[0][0] |
62 self.ec1 = cu.execute('INSERT Card X: X title "C3: An external card", X wikiid "aaa"')[0][0] |
63 cu.execute('INSERT Card X: X title "C4: Ze external card", X wikiid "zzz"') |
63 cu.execute('INSERT Card X: X title "C4: Ze external card", X wikiid "zzz"') |
64 self.aff1 = cu.execute('INSERT Affaire X: X ref "AFFREF", X in_state S WHERE S name "pitetre"')[0][0] |
64 self.aff1 = cu.execute('INSERT Affaire X: X ref "AFFREF"')[0][0] |
65 cnx2.commit() |
65 cnx2.commit() |
66 # trigger discovery |
66 # trigger discovery |
67 self.sexecute('Card X') |
67 self.sexecute('Card X') |
68 self.sexecute('Affaire X') |
68 self.sexecute('Affaire X') |
69 self.sexecute('State X') |
69 self.sexecute('State X') |
122 |
122 |
123 def test_synchronization(self): |
123 def test_synchronization(self): |
124 cu = cnx2.cursor() |
124 cu = cnx2.cursor() |
125 assert cu.execute('Any X WHERE X eid %(x)s', {'x': self.aff1}, 'x') |
125 assert cu.execute('Any X WHERE X eid %(x)s', {'x': self.aff1}, 'x') |
126 cu.execute('SET X ref "BLAH" WHERE X eid %(x)s', {'x': self.aff1}, 'x') |
126 cu.execute('SET X ref "BLAH" WHERE X eid %(x)s', {'x': self.aff1}, 'x') |
127 aff2 = cu.execute('INSERT Affaire X: X ref "AFFREUX", X in_state S WHERE S name "pitetre"')[0][0] |
127 aff2 = cu.execute('INSERT Affaire X: X ref "AFFREUX"')[0][0] |
128 cnx2.commit() |
128 cnx2.commit() |
129 try: |
129 try: |
130 # force sync |
130 # force sync |
131 self.repo.sources_by_uri['extern'].synchronize(MTIME) |
131 self.repo.sources_by_uri['extern'].synchronize(MTIME) |
132 self.failUnless(self.sexecute('Any X WHERE X has_text "blah"')) |
132 self.failUnless(self.sexecute('Any X WHERE X has_text "blah"')) |
274 affaire = self.sexecute('Affaire X WHERE X ref "AFFREF"').get_entity(0, 0) |
274 affaire = self.sexecute('Affaire X WHERE X ref "AFFREF"').get_entity(0, 0) |
275 self.sexecute('Any U WHERE U in_group G, (G name IN ("managers", "logilab") OR (X require_permission P?, P name "bla", P require_group G)), X eid %(x)s, U eid %(u)s', |
275 self.sexecute('Any U WHERE U in_group G, (G name IN ("managers", "logilab") OR (X require_permission P?, P name "bla", P require_group G)), X eid %(x)s, U eid %(u)s', |
276 {'x': affaire.eid, 'u': ueid}) |
276 {'x': affaire.eid, 'u': ueid}) |
277 |
277 |
278 def test_nonregr2(self): |
278 def test_nonregr2(self): |
|
279 self.session.user.fire_transition('deactivate') |
279 treid = self.session.user.latest_trinfo().eid |
280 treid = self.session.user.latest_trinfo().eid |
280 rset = self.sexecute('Any X ORDERBY D DESC WHERE E eid %(x)s, E wf_info_for X, X modification_date D', |
281 rset = self.sexecute('Any X ORDERBY D DESC WHERE E eid %(x)s, E wf_info_for X, X modification_date D', |
281 {'x': treid}) |
282 {'x': treid}) |
282 self.assertEquals(len(rset), 1) |
283 self.assertEquals(len(rset), 1) |
283 self.assertEquals(rset.rows[0], [self.session.user.eid]) |
284 self.assertEquals(rset.rows[0], [self.session.user.eid]) |