From eb9a1c7d55bf4b07b5e516698a3b96a3f9f43d5b Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 26 Nov 2012 11:54:50 +0100 Subject: [REM] EVALPOCALYPSE PART ONE bzr revid: xmo@openerp.com-20121126105450-0f6xowd3dhj4jmbl --- addons/web/tests/test_dataset.py | 4 ++-- addons/web/tests/test_menu.py | 7 +++---- addons/web/tests/test_view.py | 19 ++----------------- 3 files changed, 7 insertions(+), 23 deletions(-) (limited to 'addons/web/tests') diff --git a/addons/web/tests/test_dataset.py b/addons/web/tests/test_dataset.py index 1169ff5f0b9..a6faf9e6df1 100644 --- a/addons/web/tests/test_dataset.py +++ b/addons/web/tests/test_dataset.py @@ -18,14 +18,14 @@ class TestDataSetController(unittest2.TestCase): self.dataset.do_search_read(self.request, 'fake.model'), {'records': [], 'length': 0}) self.read.assert_called_once_with( - [], False, self.request.session.eval_context()) + [], False, self.request.context) def test_regular_find(self): self.search.return_value = [1, 2, 3] self.dataset.do_search_read(self.request, 'fake.model') self.read.assert_called_once_with( - [1, 2, 3], False,self.request.session.eval_context()) + [1, 2, 3], False,self.request.context) def test_ids_shortcut(self): self.search.return_value = [1, 2, 3] diff --git a/addons/web/tests/test_menu.py b/addons/web/tests/test_menu.py index c5e1b948b67..75d1d009408 100644 --- a/addons/web/tests/test_menu.py +++ b/addons/web/tests/test_menu.py @@ -4,7 +4,6 @@ import mock import unittest2 from ..controllers import main -from ..session import OpenERPSession class Placeholder(object): def __init__(self, **kwargs): @@ -40,11 +39,11 @@ class LoadTest(unittest2.TestCase): root = self.menu.do_load(self.request) self.MockMenus.search.assert_called_with( - [], 0, False, False, self.request.session.eval_context()) + [], 0, False, False, self.request.context) self.MockMenus.read.assert_called_with( [], ['name', 'sequence', 'parent_id', 'action', 'needaction_enabled', 'needaction_counter'], - self.request.session.eval_context()) + self.request.context) self.assertListEqual( root['children'], @@ -63,7 +62,7 @@ class LoadTest(unittest2.TestCase): self.MockMenus.read.assert_called_with( [1, 2, 3], ['name', 'sequence', 'parent_id', 'action', 'needaction_enabled', 'needaction_counter'], - self.request.session.eval_context()) + self.request.context) self.assertEqual( root['children'], diff --git a/addons/web/tests/test_view.py b/addons/web/tests/test_view.py index 51377099558..c9a7d854d75 100644 --- a/addons/web/tests/test_view.py +++ b/addons/web/tests/test_view.py @@ -1,9 +1,6 @@ -import copy import xml.etree.ElementTree -import mock import unittest2 -import simplejson import openerp.addons.web.controllers.main from .. import nonliterals, session as s @@ -46,20 +43,14 @@ class DomainsAndContextsTest(unittest2.TestCase): ) def test_retrieve_nonliteral_domain(self): - session = mock.Mock(spec=s.OpenERPSession) - session.domains_store = {} domain_string = ("[('month','=',(datetime.date.today() - " "datetime.timedelta(365/12)).strftime('%%m'))]") e = xml.etree.ElementTree.Element( 'field', domain=domain_string) - self.view.parse_domains_and_contexts(e, session) + self.view.parse_domains_and_contexts(e, None) self.assertIsInstance(e.get('domain'), nonliterals.Domain) - self.assertEqual( - nonliterals.Domain( - session, key=e.get('domain').key).get_domain_string(), - domain_string) def test_convert_literal_context(self): e = xml.etree.ElementTree.Element( @@ -89,20 +80,14 @@ class DomainsAndContextsTest(unittest2.TestCase): ) def test_retrieve_nonliteral_context(self): - session = mock.Mock(spec=s.OpenERPSession) - session.contexts_store = {} context_string = ("{'month': (datetime.date.today() - " "datetime.timedelta(365/12)).strftime('%%m')}") e = xml.etree.ElementTree.Element( 'field', context=context_string) - self.view.parse_domains_and_contexts(e, session) + self.view.parse_domains_and_contexts(e, None) self.assertIsInstance(e.get('context'), nonliterals.Context) - self.assertEqual( - nonliterals.Context( - session, key=e.get('context').key).get_context_string(), - context_string) class AttrsNormalizationTest(unittest2.TestCase): def setUp(self): -- cgit v1.2.3 From 4a5cb1ebc478cb650a2bf33081f101e4f74bc6fe Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 26 Nov 2012 15:05:25 +0100 Subject: [REM] EVALPOCALYPSE PART 2: no more python-side eval trigger an error if a nonliteral context is pushed to the server (through a new object_hook) bzr revid: xmo@openerp.com-20121126140525-ni2x5m56upss610b --- addons/web/tests/__init__.py | 3 +- addons/web/tests/test_view.py | 113 ------------------------------------------ 2 files changed, 1 insertion(+), 115 deletions(-) delete mode 100644 addons/web/tests/test_view.py (limited to 'addons/web/tests') diff --git a/addons/web/tests/__init__.py b/addons/web/tests/__init__.py index 8cb2118e0b6..d7abb8e5a8c 100644 --- a/addons/web/tests/__init__.py +++ b/addons/web/tests/__init__.py @@ -1,10 +1,9 @@ # -*- coding: utf-8 -*- -from . import test_dataset, test_menu, test_serving_base, test_view, test_js +from . import test_dataset, test_menu, test_serving_base, test_js fast_suite = [] checks = [ test_dataset, test_menu, test_serving_base, - test_view, ] diff --git a/addons/web/tests/test_view.py b/addons/web/tests/test_view.py deleted file mode 100644 index c9a7d854d75..00000000000 --- a/addons/web/tests/test_view.py +++ /dev/null @@ -1,113 +0,0 @@ -import xml.etree.ElementTree - -import unittest2 - -import openerp.addons.web.controllers.main -from .. import nonliterals, session as s - -def field_attrs(fields_view_get, fieldname): - (field,) = filter(lambda f: f['attrs'].get('name') == fieldname, - fields_view_get['arch']['children']) - return field['attrs'] - -#noinspection PyCompatibility -class DomainsAndContextsTest(unittest2.TestCase): - def setUp(self): - self.view = openerp.addons.web.controllers.main.View() - - def test_convert_literal_domain(self): - e = xml.etree.ElementTree.Element( - 'field', domain=" [('somefield', '=', 3)] ") - self.view.parse_domains_and_contexts(e, None) - - self.assertEqual( - e.get('domain'), - [('somefield', '=', 3)]) - - def test_convert_complex_domain(self): - e = xml.etree.ElementTree.Element( - 'field', - domain="[('account_id.type','in',['receivable','payable'])," - "('reconcile_id','=',False)," - "('reconcile_partial_id','=',False)," - "('state', '=', 'valid')]" - ) - self.view.parse_domains_and_contexts(e, None) - - self.assertEqual( - e.get('domain'), - [('account_id.type', 'in', ['receivable', 'payable']), - ('reconcile_id', '=', False), - ('reconcile_partial_id', '=', False), - ('state', '=', 'valid')] - ) - - def test_retrieve_nonliteral_domain(self): - domain_string = ("[('month','=',(datetime.date.today() - " - "datetime.timedelta(365/12)).strftime('%%m'))]") - e = xml.etree.ElementTree.Element( - 'field', domain=domain_string) - - self.view.parse_domains_and_contexts(e, None) - - self.assertIsInstance(e.get('domain'), nonliterals.Domain) - - def test_convert_literal_context(self): - e = xml.etree.ElementTree.Element( - 'field', context=" {'some_prop': 3} ") - self.view.parse_domains_and_contexts(e, None) - - self.assertEqual( - e.get('context'), - {'some_prop': 3}) - - def test_convert_complex_context(self): - e = xml.etree.ElementTree.Element( - 'field', - context="{'account_id.type': ['receivable','payable']," - "'reconcile_id': False," - "'reconcile_partial_id': False," - "'state': 'valid'}" - ) - self.view.parse_domains_and_contexts(e, None) - - self.assertEqual( - e.get('context'), - {'account_id.type': ['receivable', 'payable'], - 'reconcile_id': False, - 'reconcile_partial_id': False, - 'state': 'valid'} - ) - - def test_retrieve_nonliteral_context(self): - context_string = ("{'month': (datetime.date.today() - " - "datetime.timedelta(365/12)).strftime('%%m')}") - e = xml.etree.ElementTree.Element( - 'field', context=context_string) - - self.view.parse_domains_and_contexts(e, None) - - self.assertIsInstance(e.get('context'), nonliterals.Context) - -class AttrsNormalizationTest(unittest2.TestCase): - def setUp(self): - self.view = openerp.addons.web.controllers.main.View() - - def test_identity(self): - web_view = """ -
- - - - - - - """ - - pristine = xml.etree.ElementTree.fromstring(web_view) - transformed = self.view.transform_view(web_view, None) - - self.assertEqual( - xml.etree.ElementTree.tostring(transformed), - xml.etree.ElementTree.tostring(pristine) - ) -- cgit v1.2.3