- problems with tests
 - pre-commit

[UPD] Update base_external_dbsource.pot

[UPD] README.rst
This commit is contained in:
bilbonet
2022-08-17 15:56:59 +02:00
committed by Andrea Cattalani
parent a65afb1b8e
commit 4fe79fce8d
5 changed files with 55 additions and 45 deletions

View File

@@ -14,13 +14,13 @@ External Database Sources
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
:target: https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource
:target: https://github.com/OCA/server-backend/tree/14.0/base_external_dbsource
:alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_external_dbsource
:target: https://translation.odoo-community.org/projects/server-backend-14-0/server-backend-14-0-base_external_dbsource
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/253/13.0
:target: https://runbot.odoo-community.org/runbot/253/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -75,7 +75,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-backend/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
@@ -111,6 +111,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource>`_ project on GitHub.
This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/14.0/base_external_dbsource>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -53,6 +53,11 @@ msgstr ""
msgid "Client Key"
msgstr ""
#. module: base_external_dbsource
#: model:ir.model.fields,field_description:base_external_dbsource.field_base_external_dbsource__company_id
msgid "Company"
msgstr ""
#. module: base_external_dbsource
#: model:ir.model.fields,field_description:base_external_dbsource.field_base_external_dbsource__conn_string_full
msgid "Conn String Full"

View File

@@ -95,7 +95,7 @@ class BaseExternalDbsource(models.Model):
# Interface
def change_table(self, name):
""" Change the table that is used for CRUD operations """
"""Change the table that is used for CRUD operations"""
self.current_table = name
def connection_close(self, connection):

View File

@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource"><img alt="OCA/server-backend" src="https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_external_dbsource"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/253/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-backend/tree/14.0/base_external_dbsource"><img alt="OCA/server-backend" src="https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-backend-14-0/server-backend-14-0-base_external_dbsource"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/253/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module allows you to define connections to foreign databases using ODBC,
Firebird, Oracle Client or SQLAlchemy.</p>
<p><strong>Table of contents</strong></p>
@@ -427,7 +427,7 @@ support larger datasets in a more efficient manner.</li>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-backend/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
@@ -457,7 +457,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource">OCA/server-backend</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-backend/tree/14.0/base_external_dbsource">OCA/server-backend</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>

View File

@@ -43,7 +43,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
if kwargs is None:
kwargs = {}
adapter = "%s_postgresql" % method_name
with mock.patch.object(self.dbsource, adapter, create=create) as adapter:
with mock.patch.object(type(self.dbsource), adapter, create=create) as adapter:
if side_effect is not None:
adapter.side_effect = side_effect
elif return_value is not None:
@@ -52,7 +52,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
return res, adapter
def test_conn_string_full(self):
""" It should add password if string interpolation not detected """
"""It should add password if string interpolation not detected"""
self.dbsource.conn_string = "User=Derp;"
self.dbsource.password = "password"
expect = self.dbsource.conn_string + "PWD=%s;" % self.dbsource.password
@@ -61,37 +61,37 @@ class TestBaseExternalDbsource(common.TransactionCase):
# Interface
def test_connection_success(self):
""" It should raise for successful connection """
"""It should raise for successful connection"""
with self.assertRaises(ValidationError):
self.dbsource.connection_test()
def test_connection_fail(self):
""" It should raise for failed/invalid connection """
with mock.patch.object(self.dbsource, "connection_open") as conn:
"""It should raise for failed/invalid connection"""
with mock.patch.object(type(self.dbsource), "connection_open") as conn:
conn.side_effect = Exception
with self.assertRaises(ValidationError):
self.dbsource.connection_test()
def test_connection_open_calls_close(self):
""" It should close connection after context ends """
with mock.patch.object(self.dbsource, "connection_close") as close:
"""It should close connection after context ends"""
with mock.patch.object(type(self.dbsource), "connection_close") as close:
with self.dbsource.connection_open():
pass
close.assert_called_once()
def test_connection_close(self):
""" It should call adapter's close method """
"""It should call adapter's close method"""
args = [mock.MagicMock()]
res, adapter = self._test_adapter_method("connection_close", args=args)
adapter.assert_called_once_with(args[0])
def test_execute_asserts_query_arg(self):
""" It should raise a TypeError if query and sqlquery not in args """
"""It should raise a TypeError if query and sqlquery not in args"""
with self.assertRaises(TypeError):
self.dbsource.execute()
def test_execute_calls_adapter(self):
""" It should call the adapter methods with proper args """
"""It should call the adapter methods with proper args"""
expect = ("query", "execute", "metadata")
return_value = "rows", "cols"
res, adapter = self._test_adapter_method(
@@ -100,7 +100,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
adapter.assert_called_once_with(*expect)
def test_execute_return(self):
""" It should return rows if not metadata """
"""It should return rows if not metadata"""
expect = (True, True, False)
return_value = "rows", "cols"
res, adapter = self._test_adapter_method(
@@ -109,7 +109,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, return_value[0])
def test_execute_return_metadata(self):
""" It should return rows and cols if metadata """
"""It should return rows and cols if metadata"""
expect = (True, True, True)
return_value = "rows", "cols"
res, adapter = self._test_adapter_method(
@@ -118,10 +118,10 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, {"rows": return_value[0], "cols": return_value[1]})
def test_remote_browse(self):
""" It should call the adapter method with proper args """
"""It should call the adapter method with proper args"""
args = [1], "args"
kwargs = {"kwargs": True}
self.dbsource.current_table = "table"
type(self.dbsource).current_table = "table"
res, adapter = self._test_adapter_method(
"remote_browse", create=True, args=args, kwargs=kwargs
)
@@ -129,19 +129,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, adapter())
def test_remote_browse_asserts_current_table(self):
""" It should raise AssertionError if a table not selected """
"""It should raise AssertionError if a table not selected"""
args = [1], "args"
kwargs = {"kwargs": True}
type(self.dbsource).current_table = False
with self.assertRaises(AssertionError):
res, adapter = self._test_adapter_method(
"remote_browse", create=True, args=args, kwargs=kwargs
)
def test_remote_create(self):
""" It should call the adapter method with proper args """
"""It should call the adapter method with proper args"""
args = {"val": "Value"}, "args"
kwargs = {"kwargs": True}
self.dbsource.current_table = "table"
type(self.dbsource).current_table = "table"
res, adapter = self._test_adapter_method(
"remote_create", create=True, args=args, kwargs=kwargs
)
@@ -149,19 +150,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, adapter())
def test_remote_create_asserts_current_table(self):
""" It should raise AssertionError if a table not selected """
"""It should raise AssertionError if a table not selected"""
args = [1], "args"
kwargs = {"kwargs": True}
type(self.dbsource).current_table = False
with self.assertRaises(AssertionError):
res, adapter = self._test_adapter_method(
"remote_create", create=True, args=args, kwargs=kwargs
)
def test_remote_delete(self):
""" It should call the adapter method with proper args """
"""It should call the adapter method with proper args"""
args = [1], "args"
kwargs = {"kwargs": True}
self.dbsource.current_table = "table"
type(self.dbsource).current_table = "table"
res, adapter = self._test_adapter_method(
"remote_delete", create=True, args=args, kwargs=kwargs
)
@@ -169,19 +171,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, adapter())
def test_remote_delete_asserts_current_table(self):
""" It should raise AssertionError if a table not selected """
"""It should raise AssertionError if a table not selected"""
args = [1], "args"
kwargs = {"kwargs": True}
type(self.dbsource).current_table = False
with self.assertRaises(AssertionError):
res, adapter = self._test_adapter_method(
"remote_delete", create=True, args=args, kwargs=kwargs
)
def test_remote_search(self):
""" It should call the adapter method with proper args """
"""It should call the adapter method with proper args"""
args = {"search": "query"}, "args"
kwargs = {"kwargs": True}
self.dbsource.current_table = "table"
type(self.dbsource).current_table = "table"
res, adapter = self._test_adapter_method(
"remote_search", create=True, args=args, kwargs=kwargs
)
@@ -189,19 +192,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, adapter())
def test_remote_search_asserts_current_table(self):
""" It should raise AssertionError if a table not selected """
"""It should raise AssertionError if a table not selected"""
args = [1], "args"
kwargs = {"kwargs": True}
type(self.dbsource).current_table = False
with self.assertRaises(AssertionError):
res, adapter = self._test_adapter_method(
"remote_search", create=True, args=args, kwargs=kwargs
)
def test_remote_update(self):
""" It should call the adapter method with proper args """
"""It should call the adapter method with proper args"""
args = [1], {"vals": "Value"}, "args"
kwargs = {"kwargs": True}
self.dbsource.current_table = "table"
type(self.dbsource).current_table = "table"
res, adapter = self._test_adapter_method(
"remote_update", create=True, args=args, kwargs=kwargs
)
@@ -209,9 +213,10 @@ class TestBaseExternalDbsource(common.TransactionCase):
self.assertEqual(res, adapter())
def test_remote_update_asserts_current_table(self):
""" It should raise AssertionError if a table not selected """
"""It should raise AssertionError if a table not selected"""
args = [1], "args"
kwargs = {"kwargs": True}
type(self.dbsource).current_table = False
with self.assertRaises(AssertionError):
res, adapter = self._test_adapter_method(
"remote_update", create=True, args=args, kwargs=kwargs
@@ -220,10 +225,11 @@ class TestBaseExternalDbsource(common.TransactionCase):
# Postgres
def test_execute_postgresql(self):
""" It should call generic executor with proper args """
"""It should call generic executor with proper args"""
expect = ("query", "execute", "metadata")
with mock.patch.object(
self.dbsource, "_execute_generic", autospec=True
type(self.dbsource),
"_execute_generic",
) as execute:
execute.return_value = "rows", "cols"
self.dbsource.execute(*expect)
@@ -232,10 +238,11 @@ class TestBaseExternalDbsource(common.TransactionCase):
# Old API Compat
def test_execute_calls_adapter_old_api(self):
""" It should call the adapter correctly if old kwargs provided """
"""It should call the adapter correctly if old kwargs provided"""
expect = [None, None, "metadata"]
with mock.patch.object(
self.dbsource, "execute_postgresql", autospec=True
type(self.dbsource),
"execute_postgresql",
) as psql:
psql.return_value = "rows", "cols"
self.dbsource.execute(*expect, sqlparams="params", sqlquery="query")
@@ -243,9 +250,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
psql.assert_called_once_with(*expect)
def test_conn_open(self):
""" It should return open connection for use """
with mock.patch.object(
self.dbsource, "connection_open", autospec=True
) as connection:
"""It should return open connection for use"""
with mock.patch.object(type(self.dbsource), "connection_open") as connection:
res = self.dbsource.conn_open()
self.assertEqual(res, connection().__enter__())