summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/tests/common.py8
-rw-r--r--addons/snailmail_account/tests/test_pingen_send.py2
-rw-r--r--odoo/tests/common.py45
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