server/test/unittest_multisources.py
changeset 2968 0e3460341023
parent 2773 b2530e3e0afb
parent 2920 64322aa83a1d
child 3293 69c0ba095536
equal deleted inserted replaced
2902:dd9f2dd02f85 2968:0e3460341023
    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])