16 # You should have received a copy of the GNU Lesser General Public License along |
16 # You should have received a copy of the GNU Lesser General Public License along |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
18 from __future__ import with_statement |
18 from __future__ import with_statement |
19 |
19 |
20 from cubicweb.devtools.testlib import CubicWebTC |
20 from cubicweb.devtools.testlib import CubicWebTC |
21 from cubicweb.server.session import hooks_control |
|
22 |
21 |
23 |
22 |
24 class InternalSessionTC(CubicWebTC): |
23 class InternalSessionTC(CubicWebTC): |
25 def test_dbapi_query(self): |
24 def test_dbapi_query(self): |
26 session = self.repo.internal_session() |
25 session = self.repo.internal_session() |
34 session = self.session |
33 session = self.session |
35 self.assertEqual(session.hooks_mode, session.HOOKS_ALLOW_ALL) |
34 self.assertEqual(session.hooks_mode, session.HOOKS_ALLOW_ALL) |
36 self.assertEqual(session.disabled_hook_categories, set()) |
35 self.assertEqual(session.disabled_hook_categories, set()) |
37 self.assertEqual(session.enabled_hook_categories, set()) |
36 self.assertEqual(session.enabled_hook_categories, set()) |
38 self.assertEqual(len(session._tx_data), 1) |
37 self.assertEqual(len(session._tx_data), 1) |
39 with hooks_control(session, session.HOOKS_DENY_ALL, 'metadata'): |
38 with session.deny_all_hooks_but('metadata'): |
40 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
39 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
41 self.assertEqual(session.disabled_hook_categories, set()) |
40 self.assertEqual(session.disabled_hook_categories, set()) |
42 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) |
41 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) |
43 session.commit() |
42 session.commit() |
44 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
43 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
46 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) |
45 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) |
47 session.rollback() |
46 session.rollback() |
48 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
47 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
49 self.assertEqual(session.disabled_hook_categories, set()) |
48 self.assertEqual(session.disabled_hook_categories, set()) |
50 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) |
49 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) |
51 with hooks_control(session, session.HOOKS_ALLOW_ALL, 'integrity'): |
50 with session.allow_all_hooks_but('integrity'): |
52 self.assertEqual(session.hooks_mode, session.HOOKS_ALLOW_ALL) |
51 self.assertEqual(session.hooks_mode, session.HOOKS_ALLOW_ALL) |
53 self.assertEqual(session.disabled_hook_categories, set(('integrity',))) |
52 self.assertEqual(session.disabled_hook_categories, set(('integrity',))) |
54 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) # not changed in such case |
53 self.assertEqual(session.enabled_hook_categories, set(('metadata',))) # not changed in such case |
55 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
54 self.assertEqual(session.hooks_mode, session.HOOKS_DENY_ALL) |
56 self.assertEqual(session.disabled_hook_categories, set()) |
55 self.assertEqual(session.disabled_hook_categories, set()) |
63 self.assertEqual(session.disabled_hook_categories, set()) |
62 self.assertEqual(session.disabled_hook_categories, set()) |
64 self.assertEqual(session.enabled_hook_categories, set()) |
63 self.assertEqual(session.enabled_hook_categories, set()) |
65 |
64 |
66 |
65 |
67 if __name__ == '__main__': |
66 if __name__ == '__main__': |
|
67 from logilab.common.testlib import unittest_main |
68 unittest_main() |
68 unittest_main() |