diff options
| author | Michael Wilson <geekinutah@gmail.com> | 2013-05-16 18:51:41 -0600 |
|---|---|---|
| committer | Michael Wilson <geekinutah@gmail.com> | 2013-06-03 07:34:55 -0600 |
| commit | 444bdbcf36c189de65b524a596b79d48bcdb6cd5 (patch) | |
| tree | e20142a4d24f81a2579dba822c635f046f6e08bb /tests/unit | |
| parent | 98e1d15a6b4d773fd292ce0630115feba041cbfc (diff) | |
| download | oslo-444bdbcf36c189de65b524a596b79d48bcdb6cd5.tar.gz oslo-444bdbcf36c189de65b524a596b79d48bcdb6cd5.tar.xz oslo-444bdbcf36c189de65b524a596b79d48bcdb6cd5.zip | |
Add a slave db handle for the SQLAlchemy backend.
Adds an option for a slave DB connection for scaling
purposes. Read queries can be sent here to spread out
db load a bit. This patch adds a new configuration option:
slave_connection.
Implements: blueprint db-slave-handle
Change-Id: I5cc5e0696e3fcd8609ee6b5466b0377ca52b8b58
DocImpact
Diffstat (limited to 'tests/unit')
| -rw-r--r-- | tests/unit/db/sqlalchemy/test_sqlalchemy.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/unit/db/sqlalchemy/test_sqlalchemy.py b/tests/unit/db/sqlalchemy/test_sqlalchemy.py index b18825a..e548a3b 100644 --- a/tests/unit/db/sqlalchemy/test_sqlalchemy.py +++ b/tests/unit/db/sqlalchemy/test_sqlalchemy.py @@ -182,3 +182,23 @@ class RegexpFilterTestCase(test_utils.BaseTestCase): def test_regexp_filter_unicode_nomatch(self): self._test_regexp_filter(u'♦', []) + + +class SlaveBackendTestCase(test_utils.BaseTestCase): + + def test_slave_engine_nomatch(self): + default = session.CONF.database.connection + session.CONF.database.slave_connection = default + + e = session.get_engine() + slave_e = session.get_engine(slave_engine=True) + self.assertNotEqual(slave_e, e) + + def test_no_slave_engine_match(self): + slave_e = session.get_engine() + e = session.get_engine() + self.assertEqual(slave_e, e) + + def test_slave_backend_nomatch(self): + session.CONF.database.slave_connection = "mysql:///localhost" + self.assertRaises(AssertionError, session._assert_matching_drivers) |
