diff -r 58c519e5a31f -r b2530e3e0afb server/test/unittest_hookhelper.py --- a/server/test/unittest_hookhelper.py Tue Aug 11 17:04:59 2009 +0200 +++ b/server/test/unittest_hookhelper.py Tue Aug 11 17:13:32 2009 +0200 @@ -8,18 +8,28 @@ """ from logilab.common.testlib import unittest_main -from cubicweb.devtools.apptest import RepositoryBasedTC +from cubicweb.devtools.testlib import CubicWebTC from cubicweb.server.pool import LateOperation, Operation, SingleLastOperation from cubicweb.server.hookhelper import * +from cubicweb.server import hooks, schemahooks -class HookHelpersTC(RepositoryBasedTC): +def clean_session_ops(func): + def wrapper(self, *args, **kwargs): + try: + return func(self, *args, **kwargs) + finally: + self.session.pending_operations[:] = [] + return wrapper + +class HookHelpersTC(CubicWebTC): def setUp(self): - RepositoryBasedTC.setUp(self) + CubicWebTC.setUp(self) self.hm = self.repo.hm + @clean_session_ops def test_late_operation(self): session = self.session l1 = LateOperation(session) @@ -27,6 +37,7 @@ l3 = Operation(session) self.assertEquals(session.pending_operations, [l3, l1, l2]) + @clean_session_ops def test_single_last_operation(self): session = self.session l0 = SingleLastOperation(session) @@ -37,8 +48,8 @@ l4 = SingleLastOperation(session) self.assertEquals(session.pending_operations, [l3, l1, l2, l4]) + @clean_session_ops def test_global_operation_order(self): - from cubicweb.server import hooks, schemahooks session = self.session op1 = hooks.DelayedDeleteOp(session) op2 = schemahooks.MemSchemaRDefDel(session) @@ -80,10 +91,7 @@ self.assertEquals(len(searchedops), 1, self.session.pending_operations) self.commit() - searchedops = [op for op in self.session.pending_operations - if isinstance(op, SendMailOp)] - self.assertEquals(len(searchedops), 0, - self.session.pending_operations) + self.assertEquals([], self.session.pending_operations) if __name__ == '__main__': unittest_main()