[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:
Jairo Llopis
2019-03-28 09:44:19 +00:00
committed by bilbonet
parent 84b61c3836
commit e6a309d07d
4 changed files with 20 additions and 1 deletions

View File

@@ -96,6 +96,7 @@ Contributors
* Gervais Naoussi <gervaisnaoussi@gmail.com>
* Dave Lasley <dave@laslabs.com>
* Sergio Teruel <sergio.teruel@tecnativa.com> (https://wwww.tecnativa.com)
* Jairo Llopis <jairo.llopis@tecnativa.com> (https://wwww.tecnativa.com)
Maintainers
~~~~~~~~~~~

View File

@@ -3,3 +3,4 @@
* Gervais Naoussi <gervaisnaoussi@gmail.com>
* Dave Lasley <dave@laslabs.com>
* Sergio Teruel <sergio.teruel@tecnativa.com> (https://wwww.tecnativa.com)
* Jairo Llopis <jairo.llopis@tecnativa.com> (https://wwww.tecnativa.com)

View File

@@ -447,6 +447,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Gervais Naoussi &lt;<a class="reference external" href="mailto:gervaisnaoussi&#64;gmail.com">gervaisnaoussi&#64;gmail.com</a>&gt;</li>
<li>Dave Lasley &lt;<a class="reference external" href="mailto:dave&#64;laslabs.com">dave&#64;laslabs.com</a>&gt;</li>
<li>Sergio Teruel &lt;<a class="reference external" href="mailto:sergio.teruel&#64;tecnativa.com">sergio.teruel&#64;tecnativa.com</a>&gt; (<a class="reference external" href="https://wwww.tecnativa.com">https://wwww.tecnativa.com</a>)</li>
<li>Jairo Llopis &lt;<a class="reference external" href="mailto:jairo.llopis&#64;tecnativa.com">jairo.llopis&#64;tecnativa.com</a>&gt; (<a class="reference external" href="https://wwww.tecnativa.com">https://wwww.tecnativa.com</a>)</li>
</ul>
</div>
<div class="section" id="maintainers">

View File

@@ -3,6 +3,7 @@
import mock
from odoo.tests import common
from odoo.sql_db import connection_info_for
from ..exceptions import ConnectionFailedError, ConnectionSuccessError
@@ -11,7 +12,22 @@ class TestBaseExternalDbsource(common.TransactionCase):
def setUp(self):
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(
self, method_name, side_effect=None, return_value=None,