You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

46 lines
1.5 KiB

# -*- coding: utf-8 -*-
# Copyright 2016 LasLabs Inc.
import mock
from odoo.tests import common
ADAPTER = ('odoo.addons.base_external_dbsource_odbc.models'
'.base_external_dbsource.pyodbc')
class TestBaseExternalDbsource(common.TransactionCase):
def setUp(self):
super(TestBaseExternalDbsource, self).setUp()
self.dbsource = self.env.ref(
'base_external_dbsource_odbc.demo_odbc',
)
def test_connection_close_pyodbc(self):
""" It should close the connection """
connection = mock.MagicMock()
res = self.dbsource.connection_close_pyodbc(connection)
self.assertEqual(res, connection.close())
@mock.patch(ADAPTER)
def test_connection_open_pyodbc(self, pyodbc):
""" It should open the connection with the full conn string """
self.dbsource.connection_open_pyodbc()
pyodbc.connect.assert_called_once_with(
self.dbsource.conn_string_full,
)
@mock.patch(ADAPTER)
def test_connection_open_pyodbc_return(self, pyodbc):
""" It should return the newly opened connection """
res = self.dbsource.connection_open_pyodbc()
self.assertEqual(res, pyodbc.connect())
def test_execute_pyodbc(self):
""" It should call the generic execute method w/ proper args """
expect = 'sqlquery', 'sqlparams', 'metadata'
with mock.patch.object(self.dbsource, '_execute_generic') as execute:
self.dbsource.execute_pyodbc(*expect)
execute.assert_called_once_with(*expect)