diff options
-rw-r--r-- | oslo/db/sqlalchemy/session.py | 11 | ||||
-rw-r--r-- | tests/sqlalchemy/test_sqlalchemy.py | 23 |
2 files changed, 24 insertions, 10 deletions
diff --git a/oslo/db/sqlalchemy/session.py b/oslo/db/sqlalchemy/session.py index 90e544b..31d1fd0 100644 --- a/oslo/db/sqlalchemy/session.py +++ b/oslo/db/sqlalchemy/session.py @@ -945,4 +945,13 @@ class EngineFacade(object): sqlite_fk=sqlite_fk, autocommit=autocommit, expire_on_commit=expire_on_commit, - **dict(conf.database.items())) + mysql_sql_mode=conf.database.mysql_sql_mode, + idle_timeout=conf.database.idle_timeout, + connection_debug=conf.database.connection_debug, + max_pool_size=conf.database.max_pool_size, + max_overflow=conf.database.max_overflow, + pool_timeout=conf.database.pool_timeout, + sqlite_synchronous=conf.database.sqlite_synchronous, + connection_trace=conf.database.connection_trace, + max_retries=conf.database.max_retries, + retry_interval=conf.database.retry_interval) diff --git a/tests/sqlalchemy/test_sqlalchemy.py b/tests/sqlalchemy/test_sqlalchemy.py index d526004..2036e13 100644 --- a/tests/sqlalchemy/test_sqlalchemy.py +++ b/tests/sqlalchemy/test_sqlalchemy.py @@ -17,6 +17,7 @@ """Unit tests for SQLAlchemy specific code.""" import logging +from oslo.config import cfg import _mysql_exceptions import fixtures @@ -30,6 +31,7 @@ from sqlalchemy.exc import DataError from sqlalchemy.ext.declarative import declarative_base from oslo.db import exception as db_exc +from oslo.db import options as db_options from oslo.db.sqlalchemy import models from oslo.db.sqlalchemy import session from oslo.db.sqlalchemy import test_base @@ -351,20 +353,23 @@ class EngineFacadeTestCase(oslo_test.BaseTestCase): @mock.patch('oslo.db.sqlalchemy.session.get_maker') @mock.patch('oslo.db.sqlalchemy.session.create_engine') def test_creation_from_config(self, create_engine, get_maker): - conf = mock.MagicMock() - conf.database.connection = 'sqlite:///:memory:' - conf.database.slave_connection = None - conf.database.items.return_value = [ - ('connection_debug', 100), - ('max_pool_size', 10), - ('mysql_sql_mode', 'TRADITIONAL'), - ] + conf = cfg.ConfigOpts() + conf.register_opts(db_options.database_opts, group='database') + + overrides = { + 'connection': 'sqlite:///:memory:', + 'slave_connection': None, + 'connection_debug': 100, + 'max_pool_size': 10, + 'mysql_sql_mode': 'TRADITIONAL', + } + for optname, optvalue in overrides.items(): + conf.set_override(optname, optvalue, group='database') session.EngineFacade.from_config(conf, autocommit=False, expire_on_commit=True) - conf.database.items.assert_called_once_with() create_engine.assert_called_once_with( sql_connection='sqlite:///:memory:', connection_debug=100, |