mirror of
https://github.com/OCA/server-backend.git
synced 2025-02-18 09:52:42 +02:00
[FIX]
- problems with tests - pre-commit
This commit is contained in:
@@ -95,7 +95,7 @@ class BaseExternalDbsource(models.Model):
|
|||||||
# Interface
|
# Interface
|
||||||
|
|
||||||
def change_table(self, name):
|
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
|
self.current_table = name
|
||||||
|
|
||||||
def connection_close(self, connection):
|
def connection_close(self, connection):
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
if kwargs is None:
|
if kwargs is None:
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
adapter = "%s_postgresql" % method_name
|
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:
|
if side_effect is not None:
|
||||||
adapter.side_effect = side_effect
|
adapter.side_effect = side_effect
|
||||||
elif return_value is not None:
|
elif return_value is not None:
|
||||||
@@ -52,7 +52,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
return res, adapter
|
return res, adapter
|
||||||
|
|
||||||
def test_conn_string_full(self):
|
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.conn_string = "User=Derp;"
|
||||||
self.dbsource.password = "password"
|
self.dbsource.password = "password"
|
||||||
expect = self.dbsource.conn_string + "PWD=%s;" % self.dbsource.password
|
expect = self.dbsource.conn_string + "PWD=%s;" % self.dbsource.password
|
||||||
@@ -61,37 +61,37 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
# Interface
|
# Interface
|
||||||
|
|
||||||
def test_connection_success(self):
|
def test_connection_success(self):
|
||||||
""" It should raise for successful connection """
|
"""It should raise for successful connection"""
|
||||||
with self.assertRaises(ValidationError):
|
with self.assertRaises(ValidationError):
|
||||||
self.dbsource.connection_test()
|
self.dbsource.connection_test()
|
||||||
|
|
||||||
def test_connection_fail(self):
|
def test_connection_fail(self):
|
||||||
""" It should raise for failed/invalid connection """
|
"""It should raise for failed/invalid connection"""
|
||||||
with mock.patch.object(self.dbsource, "connection_open") as conn:
|
with mock.patch.object(type(self.dbsource), "connection_open") as conn:
|
||||||
conn.side_effect = Exception
|
conn.side_effect = Exception
|
||||||
with self.assertRaises(ValidationError):
|
with self.assertRaises(ValidationError):
|
||||||
self.dbsource.connection_test()
|
self.dbsource.connection_test()
|
||||||
|
|
||||||
def test_connection_open_calls_close(self):
|
def test_connection_open_calls_close(self):
|
||||||
""" It should close connection after context ends """
|
"""It should close connection after context ends"""
|
||||||
with mock.patch.object(self.dbsource, "connection_close") as close:
|
with mock.patch.object(type(self.dbsource), "connection_close") as close:
|
||||||
with self.dbsource.connection_open():
|
with self.dbsource.connection_open():
|
||||||
pass
|
pass
|
||||||
close.assert_called_once()
|
close.assert_called_once()
|
||||||
|
|
||||||
def test_connection_close(self):
|
def test_connection_close(self):
|
||||||
""" It should call adapter's close method """
|
"""It should call adapter's close method"""
|
||||||
args = [mock.MagicMock()]
|
args = [mock.MagicMock()]
|
||||||
res, adapter = self._test_adapter_method("connection_close", args=args)
|
res, adapter = self._test_adapter_method("connection_close", args=args)
|
||||||
adapter.assert_called_once_with(args[0])
|
adapter.assert_called_once_with(args[0])
|
||||||
|
|
||||||
def test_execute_asserts_query_arg(self):
|
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):
|
with self.assertRaises(TypeError):
|
||||||
self.dbsource.execute()
|
self.dbsource.execute()
|
||||||
|
|
||||||
def test_execute_calls_adapter(self):
|
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")
|
expect = ("query", "execute", "metadata")
|
||||||
return_value = "rows", "cols"
|
return_value = "rows", "cols"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
@@ -100,7 +100,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
adapter.assert_called_once_with(*expect)
|
adapter.assert_called_once_with(*expect)
|
||||||
|
|
||||||
def test_execute_return(self):
|
def test_execute_return(self):
|
||||||
""" It should return rows if not metadata """
|
"""It should return rows if not metadata"""
|
||||||
expect = (True, True, False)
|
expect = (True, True, False)
|
||||||
return_value = "rows", "cols"
|
return_value = "rows", "cols"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
@@ -109,7 +109,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
self.assertEqual(res, return_value[0])
|
self.assertEqual(res, return_value[0])
|
||||||
|
|
||||||
def test_execute_return_metadata(self):
|
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)
|
expect = (True, True, True)
|
||||||
return_value = "rows", "cols"
|
return_value = "rows", "cols"
|
||||||
res, adapter = self._test_adapter_method(
|
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]})
|
self.assertEqual(res, {"rows": return_value[0], "cols": return_value[1]})
|
||||||
|
|
||||||
def test_remote_browse(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
self.dbsource.current_table = "table"
|
type(self.dbsource).current_table = "table"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_browse", create=True, args=args, kwargs=kwargs
|
"remote_browse", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
@@ -129,19 +129,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
self.assertEqual(res, adapter())
|
self.assertEqual(res, adapter())
|
||||||
|
|
||||||
def test_remote_browse_asserts_current_table(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
|
type(self.dbsource).current_table = False
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_browse", create=True, args=args, kwargs=kwargs
|
"remote_browse", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_remote_create(self):
|
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"
|
args = {"val": "Value"}, "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
self.dbsource.current_table = "table"
|
type(self.dbsource).current_table = "table"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_create", create=True, args=args, kwargs=kwargs
|
"remote_create", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
@@ -149,19 +150,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
self.assertEqual(res, adapter())
|
self.assertEqual(res, adapter())
|
||||||
|
|
||||||
def test_remote_create_asserts_current_table(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
|
type(self.dbsource).current_table = False
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_create", create=True, args=args, kwargs=kwargs
|
"remote_create", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_remote_delete(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
self.dbsource.current_table = "table"
|
type(self.dbsource).current_table = "table"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_delete", create=True, args=args, kwargs=kwargs
|
"remote_delete", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
@@ -169,19 +171,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
self.assertEqual(res, adapter())
|
self.assertEqual(res, adapter())
|
||||||
|
|
||||||
def test_remote_delete_asserts_current_table(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
|
type(self.dbsource).current_table = False
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_delete", create=True, args=args, kwargs=kwargs
|
"remote_delete", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_remote_search(self):
|
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"
|
args = {"search": "query"}, "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
self.dbsource.current_table = "table"
|
type(self.dbsource).current_table = "table"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_search", create=True, args=args, kwargs=kwargs
|
"remote_search", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
@@ -189,19 +192,20 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
self.assertEqual(res, adapter())
|
self.assertEqual(res, adapter())
|
||||||
|
|
||||||
def test_remote_search_asserts_current_table(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
|
type(self.dbsource).current_table = False
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_search", create=True, args=args, kwargs=kwargs
|
"remote_search", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_remote_update(self):
|
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"
|
args = [1], {"vals": "Value"}, "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
self.dbsource.current_table = "table"
|
type(self.dbsource).current_table = "table"
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_update", create=True, args=args, kwargs=kwargs
|
"remote_update", create=True, args=args, kwargs=kwargs
|
||||||
)
|
)
|
||||||
@@ -209,9 +213,10 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
self.assertEqual(res, adapter())
|
self.assertEqual(res, adapter())
|
||||||
|
|
||||||
def test_remote_update_asserts_current_table(self):
|
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"
|
args = [1], "args"
|
||||||
kwargs = {"kwargs": True}
|
kwargs = {"kwargs": True}
|
||||||
|
type(self.dbsource).current_table = False
|
||||||
with self.assertRaises(AssertionError):
|
with self.assertRaises(AssertionError):
|
||||||
res, adapter = self._test_adapter_method(
|
res, adapter = self._test_adapter_method(
|
||||||
"remote_update", create=True, args=args, kwargs=kwargs
|
"remote_update", create=True, args=args, kwargs=kwargs
|
||||||
@@ -220,10 +225,11 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
# Postgres
|
# Postgres
|
||||||
|
|
||||||
def test_execute_postgresql(self):
|
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")
|
expect = ("query", "execute", "metadata")
|
||||||
with mock.patch.object(
|
with mock.patch.object(
|
||||||
self.dbsource, "_execute_generic", autospec=True
|
type(self.dbsource),
|
||||||
|
"_execute_generic",
|
||||||
) as execute:
|
) as execute:
|
||||||
execute.return_value = "rows", "cols"
|
execute.return_value = "rows", "cols"
|
||||||
self.dbsource.execute(*expect)
|
self.dbsource.execute(*expect)
|
||||||
@@ -232,10 +238,11 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
# Old API Compat
|
# Old API Compat
|
||||||
|
|
||||||
def test_execute_calls_adapter_old_api(self):
|
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"]
|
expect = [None, None, "metadata"]
|
||||||
with mock.patch.object(
|
with mock.patch.object(
|
||||||
self.dbsource, "execute_postgresql", autospec=True
|
type(self.dbsource),
|
||||||
|
"execute_postgresql",
|
||||||
) as psql:
|
) as psql:
|
||||||
psql.return_value = "rows", "cols"
|
psql.return_value = "rows", "cols"
|
||||||
self.dbsource.execute(*expect, sqlparams="params", sqlquery="query")
|
self.dbsource.execute(*expect, sqlparams="params", sqlquery="query")
|
||||||
@@ -243,9 +250,7 @@ class TestBaseExternalDbsource(common.TransactionCase):
|
|||||||
psql.assert_called_once_with(*expect)
|
psql.assert_called_once_with(*expect)
|
||||||
|
|
||||||
def test_conn_open(self):
|
def test_conn_open(self):
|
||||||
""" It should return open connection for use """
|
"""It should return open connection for use"""
|
||||||
with mock.patch.object(
|
with mock.patch.object(type(self.dbsource), "connection_open") as connection:
|
||||||
self.dbsource, "connection_open", autospec=True
|
|
||||||
) as connection:
|
|
||||||
res = self.dbsource.conn_open()
|
res = self.dbsource.conn_open()
|
||||||
self.assertEqual(res, connection().__enter__())
|
self.assertEqual(res, connection().__enter__())
|
||||||
|
|||||||
Reference in New Issue
Block a user