diff options
| -rw-r--r-- | addons/account/tests/common.py | 8 | ||||
| -rw-r--r-- | addons/snailmail_account/tests/test_pingen_send.py | 2 | ||||
| -rw-r--r-- | odoo/tests/common.py | 45 |
3 files changed, 35 insertions, 20 deletions
diff --git a/addons/account/tests/common.py b/addons/account/tests/common.py index 701a56d0d63..75f404b22ee 100644 --- a/addons/account/tests/common.py +++ b/addons/account/tests/common.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import fields -from odoo.tests.common import SavepointCase, HttpCase, tagged, Form +from odoo.tests.common import SavepointCase, HttpSavepointCase, tagged, Form import time @@ -34,6 +34,7 @@ class AccountTestInvoicingCommon(SavepointCase): user = cls.env['res.users'].create({ 'name': 'Because I am accountman!', 'login': 'accountman', + 'password': 'accountman', 'groups_id': [(6, 0, cls.env.user.groups_id.ids), (4, cls.env.ref('account.group_account_user').id)], }) user.partner_id.email = 'accountman@test.com' @@ -375,6 +376,11 @@ class AccountTestInvoicingCommon(SavepointCase): self.assertRecordValues(move, [expected_move_values]) +@tagged('post_install', '-at_install') +class AccountTestInvoicingHttpCommon(AccountTestInvoicingCommon, HttpSavepointCase): + pass + + class TestAccountReconciliationCommon(AccountTestInvoicingCommon): """Tests for reconciliation (account.tax) diff --git a/addons/snailmail_account/tests/test_pingen_send.py b/addons/snailmail_account/tests/test_pingen_send.py index e3cb29ebbd7..12076e56974 100644 --- a/addons/snailmail_account/tests/test_pingen_send.py +++ b/addons/snailmail_account/tests/test_pingen_send.py @@ -4,7 +4,7 @@ import json import base64 import logging -from odoo.addons.account.tests.common import HttpCase +from odoo.tests.common import HttpCase from odoo.tests import tagged _logger = logging.getLogger(__name__) diff --git a/odoo/tests/common.py b/odoo/tests/common.py index f5a83487cf1..191f25003a3 100644 --- a/odoo/tests/common.py +++ b/odoo/tests/common.py @@ -1234,15 +1234,14 @@ class ChromeBrowser(): return m[0] return replacer -class HttpCase(TransactionCase): - """ Transactional HTTP TestCase with url_open and Chrome headless helpers. - """ + +class HttpCaseCommon(BaseCase): registry_test_mode = True browser = None browser_size = '1366x768' def __init__(self, methodName='runTest'): - super(HttpCase, self).__init__(methodName) + super().__init__(methodName) # v8 api with correct xmlrpc exception handling. self.xmlrpc_url = url_8 = 'http://%s:%d/xmlrpc/2/' % (HOST, odoo.tools.config['http_port']) self.xmlrpc_common = xmlrpclib.ServerProxy(url_8 + 'common') @@ -1251,21 +1250,8 @@ class HttpCase(TransactionCase): cls = type(self) cls._logger = logging.getLogger('%s.%s' % (cls.__module__, cls.__name__)) - @classmethod - def start_browser(cls): - # start browser on demand - if cls.browser is None: - cls.browser = ChromeBrowser(cls._logger, cls.browser_size, cls.__name__) - cls.addClassCleanup(cls.terminate_browser) - - @classmethod - def terminate_browser(cls): - if cls.browser: - cls.browser.stop() - cls.browser = None - def setUp(self): - super(HttpCase, self).setUp() + super().setUp() if self.registry_test_mode: self.registry.enter_test_mode(self.cr) self.addCleanup(self.registry.leave_test_mode) @@ -1278,6 +1264,19 @@ class HttpCase(TransactionCase): self.opener = requests.Session() self.opener.cookies['session_id'] = self.session_id + @classmethod + def start_browser(cls): + # start browser on demand + if cls.browser is None: + cls.browser = ChromeBrowser(cls._logger, cls.browser_size, cls.__name__) + cls.addClassCleanup(cls.terminate_browser) + + @classmethod + def terminate_browser(cls): + if cls.browser: + cls.browser.stop() + cls.browser = None + def url_open(self, url, data=None, files=None, timeout=10, headers=None, allow_redirects=True): self.env['base'].flush() if url.startswith('/'): @@ -1418,6 +1417,16 @@ class HttpCase(TransactionCase): return res +class HttpCase(HttpCaseCommon, TransactionCase): + """ Transactional HTTP TestCase with url_open and Chrome headless helpers. + """ + pass + + +class HttpSavepointCase(HttpCaseCommon, SavepointCase): + pass + + def users(*logins): """ Decorate a method to execute it once for each given user. """ @decorator |
