server/test/unittest_repository.py
branchstable
changeset 5105 57e0fc953676
parent 5103 2b242604fc42
child 5106 782ff24a7e46
equal deleted inserted replaced
5104:7aab5286f037 5105:57e0fc953676
     4 :organization: Logilab
     4 :organization: Logilab
     5 :copyright: 2001-2010 LOGILAB S.A. (Paris, FRANCE), license is LGPL v2.
     5 :copyright: 2001-2010 LOGILAB S.A. (Paris, FRANCE), license is LGPL v2.
     6 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
     6 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
     7 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     7 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     8 """
     8 """
       
     9 from __future__ import with_statement
     9 
    10 
    10 import os
    11 import os
    11 import sys
    12 import sys
    12 import threading
    13 import threading
    13 import time
    14 import time
   497             events = ('before_add_relation', 'after_add_relation',
   498             events = ('before_add_relation', 'after_add_relation',
   498                       'before_delete_relation', 'after_delete_relation')
   499                       'before_delete_relation', 'after_delete_relation')
   499             def __call__(self):
   500             def __call__(self):
   500                 CALLED.append((self.event, self.eidfrom, self.rtype, self.eidto))
   501                 CALLED.append((self.event, self.eidfrom, self.rtype, self.eidto))
   501 
   502 
   502         self.vreg.register(EcritParHook)
   503         with self.temporary_appobjects(EcritParHook):
   503         eidp = self.execute('INSERT Personne X: X nom "toto"')[0][0]
   504             eidp = self.execute('INSERT Personne X: X nom "toto"')[0][0]
   504         eidn = self.execute('INSERT Note X: X type "T"')[0][0]
   505             eidn = self.execute('INSERT Note X: X type "T"')[0][0]
   505         self.execute('SET N ecrit_par Y WHERE N type "T", Y nom "toto"')
   506             self.execute('SET N ecrit_par Y WHERE N type "T", Y nom "toto"')
   506         self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp),
   507             self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp),
   507                                    ('after_add_relation', eidn, 'ecrit_par', eidp)])
   508                                        ('after_add_relation', eidn, 'ecrit_par', eidp)])
   508         CALLED[:] = ()
   509             CALLED[:] = ()
   509         self.execute('DELETE N ecrit_par Y WHERE N type "T", Y nom "toto"')
   510             self.execute('DELETE N ecrit_par Y WHERE N type "T", Y nom "toto"')
   510         self.assertEquals(CALLED, [('before_delete_relation', eidn, 'ecrit_par', eidp),
   511             self.assertEquals(CALLED, [('before_delete_relation', eidn, 'ecrit_par', eidp),
   511                                    ('after_delete_relation', eidn, 'ecrit_par', eidp)])
   512                                        ('after_delete_relation', eidn, 'ecrit_par', eidp)])
   512         CALLED[:] = ()
   513             CALLED[:] = ()
   513         eidn = self.execute('INSERT Note N: N ecrit_par P WHERE P nom "toto"')[0][0]
   514             eidn = self.execute('INSERT Note N: N ecrit_par P WHERE P nom "toto"')[0][0]
   514         self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp),
   515             self.assertEquals(CALLED, [('before_add_relation', eidn, 'ecrit_par', eidp),
   515                                    ('after_add_relation', eidn, 'ecrit_par', eidp)])
   516                                        ('after_add_relation', eidn, 'ecrit_par', eidp)])
   516 
   517 
   517 
   518 
   518 if __name__ == '__main__':
   519 if __name__ == '__main__':
   519     unittest_main()
   520     unittest_main()