[IMP] base_external_dbsource_mysql: black, isort, prettier

This commit is contained in:
David Alonso (Solvos)
2020-09-01 18:09:29 +02:00
committed by Víctor Martínez
parent 14df31c0ec
commit 52e0147d3e
5 changed files with 34 additions and 47 deletions

View File

@@ -2,25 +2,14 @@
# Copyright 2016 LasLabs Inc. # Copyright 2016 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
{ {
'name': 'External Database Source - MySQL', "name": "External Database Source - MySQL",
'version': '12.0.1.0.0', "version": "12.0.1.0.0",
'category': 'Tools', "category": "Tools",
'author': "Daniel Reis, " "author": "Daniel Reis, " "LasLabs, " "Odoo Community Association (OCA)",
"LasLabs, " "website": "https://github.com/OCA/server-backend",
"Odoo Community Association (OCA)", "license": "LGPL-3",
'website': 'https://github.com/OCA/server-backend', "depends": ["base_external_dbsource",],
'license': 'LGPL-3', "external_dependencies": {"python": ["sqlalchemy", "MySQLdb",],},
'depends': [ "demo": ["demo/base_external_dbsource.xml",],
'base_external_dbsource', "installable": True,
],
'external_dependencies': {
'python': [
'sqlalchemy',
'MySQLdb',
],
},
'demo': [
'demo/base_external_dbsource.xml',
],
'installable': True,
} }

View File

@@ -2,7 +2,9 @@
<odoo> <odoo>
<record model="base.external.dbsource" id="demo_mysql"> <record model="base.external.dbsource" id="demo_mysql">
<field name="name">MySQL Demo</field> <field name="name">MySQL Demo</field>
<field name="conn_string">Server=myServerAddress;Database=myDataBase;Uid=myUsername;</field> <field
name="conn_string"
>Server=myServerAddress;Database=myDataBase;Uid=myUsername;</field>
<field name="password">password</field> <field name="password">password</field>
<field name="connector">mysql</field> <field name="connector">mysql</field>
</record> </record>

View File

@@ -9,24 +9,27 @@ from odoo import models
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
try: try:
from odoo.addons.base_external_dbsource.models import ( from odoo.addons.base_external_dbsource.models import base_external_dbsource
base_external_dbsource,
)
CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS
try: try:
import MySQLdb import MySQLdb
CONNECTORS.append(('mysql', 'MySQL'))
CONNECTORS.append(("mysql", "MySQL"))
assert MySQLdb assert MySQLdb
except (ImportError, AssertionError): except (ImportError, AssertionError):
_logger.info('MySQLdb not available. Please install "mysqlclient" ' _logger.info(
'python package.') 'MySQLdb not available. Please install "mysqlclient" ' "python package."
)
try: try:
import sqlalchemy import sqlalchemy
except ImportError: except ImportError:
_logger.info('SQLAlchemy library not available. Please ' _logger.info(
'install "sqlalchemy" python package.') "SQLAlchemy library not available. Please "
'install "sqlalchemy" python package.'
)
except ImportError: except ImportError:
_logger.info('base_external_dbsource Odoo module not found.') _logger.info("base_external_dbsource Odoo module not found.")
class BaseExternalDbsource(models.Model): class BaseExternalDbsource(models.Model):

View File

@@ -4,18 +4,15 @@ import mock
from odoo.tests import common from odoo.tests import common
ADAPTER = (
ADAPTER = ('odoo.addons.base_external_dbsource_mysql.models' "odoo.addons.base_external_dbsource_mysql.models" ".base_external_dbsource.MySQLdb"
'.base_external_dbsource.MySQLdb') )
class TestBaseExternalDbsource(common.TransactionCase): class TestBaseExternalDbsource(common.TransactionCase):
def setUp(self): def setUp(self):
super(TestBaseExternalDbsource, self).setUp() super(TestBaseExternalDbsource, self).setUp()
self.dbsource = self.env.ref( self.dbsource = self.env.ref("base_external_dbsource_mysql.demo_mysql",)
'base_external_dbsource_mysql.demo_mysql',
)
def test_connection_close_mysql(self): def test_connection_close_mysql(self):
""" It should close the connection """ """ It should close the connection """
@@ -25,17 +22,13 @@ class TestBaseExternalDbsource(common.TransactionCase):
def test_connection_open_mysql(self): def test_connection_open_mysql(self):
""" It should call SQLAlchemy open """ """ It should call SQLAlchemy open """
with mock.patch.object( with mock.patch.object(self.dbsource, "connection_open_mysql") as parent_method:
self.dbsource, 'connection_open_mysql'
) as parent_method:
self.dbsource.connection_open_mysql() self.dbsource.connection_open_mysql()
parent_method.assert_called_once_with() parent_method.assert_called_once_with()
def test_excecute_mysql(self): def test_excecute_mysql(self):
""" It should pass args to SQLAlchemy execute """ """ It should pass args to SQLAlchemy execute """
expect = 'sqlquery', 'sqlparams', 'metadata' expect = "sqlquery", "sqlparams", "metadata"
with mock.patch.object( with mock.patch.object(self.dbsource, "execute_mysql") as parent_method:
self.dbsource, 'execute_mysql'
) as parent_method:
self.dbsource.execute_mysql(*expect) self.dbsource.execute_mysql(*expect)
parent_method.assert_called_once_with(*expect) parent_method.assert_called_once_with(*expect)