diff --git a/addons/iap/tools/iap_tools.py b/addons/iap/tools/iap_tools.py index ed89d1f9246..9d8e4dc9a53 100644 --- a/addons/iap/tools/iap_tools.py +++ b/addons/iap/tools/iap_tools.py @@ -6,14 +6,34 @@ import logging import json import requests import uuid +from unittest.mock import patch from odoo import exceptions, _ +from odoo.tests.common import BaseCase from odoo.tools import pycompat _logger = logging.getLogger(__name__) DEFAULT_ENDPOINT = 'https://iap.odoo.com' + +# We need to mock iap_jsonrpc during tests as we don't want to perform real calls to RPC endpoints +def iap_jsonrpc_mocked(*args, **kwargs): + raise exceptions.AccessError("Unavailable during tests.") + + +iap_patch = patch('odoo.addons.iap.tools.iap_tools.iap_jsonrpc', iap_jsonrpc_mocked) + + +def setUp(self): + old_setup_func(self) + iap_patch.start() + self.addCleanup(iap_patch.stop) + + +old_setup_func = BaseCase.setUp +BaseCase.setUp = setUp + #---------------------------------------------------------- # Tools globals #----------------------------------------------------------