mirror of
https://github.com/OCA/server-backend.git
synced 2025-02-18 09:52:42 +02:00
[FIX] base_external_dbsource: Reuse Odoo DB settings for tests
Before, postgres configuration was hardcoded. This worked OK for OCA's CI infrastructure, but failed in any other out there that had different defaults. There's no need to hardcode it; Odoo already must have Postgres connection settings, so let's use those instead. This will make tests testable across different CI infrastructures.
This commit is contained in:
@@ -96,6 +96,7 @@ Contributors
|
|||||||
* Gervais Naoussi <gervaisnaoussi@gmail.com>
|
* Gervais Naoussi <gervaisnaoussi@gmail.com>
|
||||||
* Dave Lasley <dave@laslabs.com>
|
* Dave Lasley <dave@laslabs.com>
|
||||||
* Sergio Teruel <sergio.teruel@tecnativa.com> (https://wwww.tecnativa.com)
|
* Sergio Teruel <sergio.teruel@tecnativa.com> (https://wwww.tecnativa.com)
|
||||||
|
* Jairo Llopis <jairo.llopis@tecnativa.com> (https://wwww.tecnativa.com)
|
||||||
|
|
||||||
Maintainers
|
Maintainers
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|||||||
@@ -3,3 +3,4 @@
|
|||||||
* Gervais Naoussi <gervaisnaoussi@gmail.com>
|
* Gervais Naoussi <gervaisnaoussi@gmail.com>
|
||||||
* Dave Lasley <dave@laslabs.com>
|
* Dave Lasley <dave@laslabs.com>
|
||||||
* Sergio Teruel <sergio.teruel@tecnativa.com> (https://wwww.tecnativa.com)
|
* Sergio Teruel <sergio.teruel@tecnativa.com> (https://wwww.tecnativa.com)
|
||||||
|
* Jairo Llopis <jairo.llopis@tecnativa.com> (https://wwww.tecnativa.com)
|
||||||
|
|||||||
@@ -447,6 +447,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||||||
<li>Gervais Naoussi <<a class="reference external" href="mailto:gervaisnaoussi@gmail.com">gervaisnaoussi@gmail.com</a>></li>
|
<li>Gervais Naoussi <<a class="reference external" href="mailto:gervaisnaoussi@gmail.com">gervaisnaoussi@gmail.com</a>></li>
|
||||||
<li>Dave Lasley <<a class="reference external" href="mailto:dave@laslabs.com">dave@laslabs.com</a>></li>
|
<li>Dave Lasley <<a class="reference external" href="mailto:dave@laslabs.com">dave@laslabs.com</a>></li>
|
||||||
<li>Sergio Teruel <<a class="reference external" href="mailto:sergio.teruel@tecnativa.com">sergio.teruel@tecnativa.com</a>> (<a class="reference external" href="https://wwww.tecnativa.com">https://wwww.tecnativa.com</a>)</li>
|
<li>Sergio Teruel <<a class="reference external" href="mailto:sergio.teruel@tecnativa.com">sergio.teruel@tecnativa.com</a>> (<a class="reference external" href="https://wwww.tecnativa.com">https://wwww.tecnativa.com</a>)</li>
|
||||||
|
<li>Jairo Llopis <<a class="reference external" href="mailto:jairo.llopis@tecnativa.com">jairo.llopis@tecnativa.com</a>> (<a class="reference external" href="https://wwww.tecnativa.com">https://wwww.tecnativa.com</a>)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="maintainers">
|
<div class="section" id="maintainers">
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
import mock
|
import mock
|
||||||
|
|
||||||
from odoo.tests import common
|
from odoo.tests import common
|
||||||
|
from odoo.sql_db import connection_info_for
|
||||||
|
|
||||||
from ..exceptions import ConnectionFailedError, ConnectionSuccessError
|
from ..exceptions import ConnectionFailedError, ConnectionSuccessError
|
||||||
|
|
||||||
@@ -11,7 +12,22 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestBaseExternalDbsource, self).setUp()
|
super(TestBaseExternalDbsource, self).setUp()
|
||||||
self.dbsource = self.env.ref('base_external_dbsource.demo_postgre')
|
# Obtain current odoo instance DB connection settings
|
||||||
|
connection_info = connection_info_for(self.env.cr.dbname)[1]
|
||||||
|
# Adapt to the format expected by this module
|
||||||
|
password = connection_info.get("password", "")
|
||||||
|
connection_info["password"] = "%s"
|
||||||
|
connection_info["dbname"] = connection_info["database"]
|
||||||
|
del connection_info["database"]
|
||||||
|
# Create a proper dbsource record to test
|
||||||
|
self.dbsource = self.env["base.external.dbsource"].create({
|
||||||
|
"conn_string": " ".join(
|
||||||
|
"%s='%s'" % item for item in connection_info.items()
|
||||||
|
),
|
||||||
|
"connector": "postgresql",
|
||||||
|
"name": "test postgres with current odoo config",
|
||||||
|
"password": password,
|
||||||
|
})
|
||||||
|
|
||||||
def _test_adapter_method(
|
def _test_adapter_method(
|
||||||
self, method_name, side_effect=None, return_value=None,
|
self, method_name, side_effect=None, return_value=None,
|
||||||
|
|||||||
Reference in New Issue
Block a user