Ensure all test fixtures in oslo_db.tests are private

Downstream projects have started using the fixtures inside
of oslo_db.tests in response to the deprecations added in
I0163e637ffef6d45d2573ebe29b5438911d01fce.   This was not
the intent of these deprecations, so add messsaging to
this effect and ensure fixtures used by the test suite
itself are noted as private.

Change-Id: I3afe0a440a3ab66904aaecf556948df9d4e16b8e
This commit is contained in:
Mike Bayer 2018-02-19 11:01:51 -05:00
parent fc19bb330c
commit 39c52cc7c9
13 changed files with 93 additions and 54 deletions

View File

@ -34,7 +34,9 @@ from oslo_db.sqlalchemy import provision
from oslo_db.sqlalchemy import session from oslo_db.sqlalchemy import session
@debtcollector.removals.removed_class("DbFixture") @debtcollector.removals.removed_class(
"DbFixture",
message="Please use oslo_db.sqlalchemy.test_fixtures directly")
class DbFixture(fixtures.Fixture): class DbFixture(fixtures.Fixture):
"""Basic database fixture. """Basic database fixture.
@ -89,7 +91,9 @@ class DbFixture(fixtures.Fixture):
self.addCleanup(self.test.enginefacade.dispose_global) self.addCleanup(self.test.enginefacade.dispose_global)
@debtcollector.removals.removed_class("DbTestCase") @debtcollector.removals.removed_class(
"DbTestCase",
message="Please use oslo_db.sqlalchemy.test_fixtures directly")
class DbTestCase(test_base.BaseTestCase): class DbTestCase(test_base.BaseTestCase):
"""Base class for testing of DB code. """Base class for testing of DB code.

View File

@ -13,6 +13,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import debtcollector
from oslo_db.sqlalchemy import enginefacade from oslo_db.sqlalchemy import enginefacade
from oslo_db.sqlalchemy.test_base import backend_specific # noqa from oslo_db.sqlalchemy.test_base import backend_specific # noqa
from oslo_db.sqlalchemy import test_fixtures as db_fixtures from oslo_db.sqlalchemy import test_fixtures as db_fixtures
@ -26,6 +28,10 @@ class Context(object):
context = Context() context = Context()
@debtcollector.removals.removed_class(
"DbTestCase",
message="Do not import from oslo_db.tests! "
"Please use oslo_db.sqlalchemy.test_fixtures directly")
class DbTestCase(db_fixtures.OpportunisticDBTestMixin, test_base.BaseTestCase): class DbTestCase(db_fixtures.OpportunisticDBTestMixin, test_base.BaseTestCase):
def setUp(self): def setUp(self):
@ -35,9 +41,38 @@ class DbTestCase(db_fixtures.OpportunisticDBTestMixin, test_base.BaseTestCase):
self.sessionmaker = enginefacade.writer.get_sessionmaker() self.sessionmaker = enginefacade.writer.get_sessionmaker()
@debtcollector.removals.removed_class(
"MySQLOpportunisticTestCase",
message="Do not import from oslo_db.tests! "
"Please use oslo_db.sqlalchemy.test_fixtures directly")
class MySQLOpportunisticTestCase(DbTestCase): class MySQLOpportunisticTestCase(DbTestCase):
FIXTURE = db_fixtures.MySQLOpportunisticFixture FIXTURE = db_fixtures.MySQLOpportunisticFixture
@debtcollector.removals.removed_class(
"PostgreSQLOpportunisticTestCase",
message="Do not import from oslo_db.tests! "
"Please use oslo_db.sqlalchemy.test_fixtures directly")
class PostgreSQLOpportunisticTestCase(DbTestCase): class PostgreSQLOpportunisticTestCase(DbTestCase):
FIXTURE = db_fixtures.PostgresqlOpportunisticFixture FIXTURE = db_fixtures.PostgresqlOpportunisticFixture
# NOTE (zzzeek) These test classes are **private to oslo.db**. Please
# make use of oslo_db.sqlalchemy.test_fixtures directly.
class _DbTestCase(
db_fixtures.OpportunisticDBTestMixin, test_base.BaseTestCase):
def setUp(self):
super(_DbTestCase, self).setUp()
self.engine = enginefacade.writer.get_engine()
self.sessionmaker = enginefacade.writer.get_sessionmaker()
class _MySQLOpportunisticTestCase(_DbTestCase):
FIXTURE = db_fixtures.MySQLOpportunisticFixture
class _PostgreSQLOpportunisticTestCase(_DbTestCase):
FIXTURE = db_fixtures.PostgresqlOpportunisticFixture

View File

@ -118,10 +118,10 @@ class EventletTestMixin(object):
# ie: This file performs no tests by default. # ie: This file performs no tests by default.
class MySQLEventletTestCase(EventletTestMixin, class MySQLEventletTestCase(EventletTestMixin,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
pass pass
class PostgreSQLEventletTestCase(EventletTestMixin, class PostgreSQLEventletTestCase(EventletTestMixin,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
pass pass

View File

@ -1335,7 +1335,7 @@ class AsyncReaderWSlaveMockFacadeTest(MockFacadeTest):
slave_uri = 'some_slave_connection' slave_uri = 'some_slave_connection'
class LegacyIntegrationtest(test_base.DbTestCase): class LegacyIntegrationtest(test_base._DbTestCase):
def test_legacy_integration(self): def test_legacy_integration(self):
legacy_facade = enginefacade.get_legacy_facade() legacy_facade = enginefacade.get_legacy_facade()
@ -1393,7 +1393,7 @@ class LegacyIntegrationtest(test_base.DbTestCase):
) )
class ThreadingTest(test_base.DbTestCase): class ThreadingTest(test_base._DbTestCase):
"""Test copy/pickle on new threads using real connections and sessions.""" """Test copy/pickle on new threads using real connections and sessions."""
def _assert_ctx_connection(self, context, connection): def _assert_ctx_connection(self, context, connection):
@ -1586,7 +1586,7 @@ class ThreadingTest(test_base.DbTestCase):
assert session is not session2 assert session is not session2
class LiveFacadeTest(test_base.DbTestCase): class LiveFacadeTest(test_base._DbTestCase):
"""test using live SQL with test-provisioned databases. """test using live SQL with test-provisioned databases.
Several of these tests require that multiple transactions run Several of these tests require that multiple transactions run
@ -2127,12 +2127,12 @@ class LiveFacadeTest(test_base.DbTestCase):
class MySQLLiveFacadeTest( class MySQLLiveFacadeTest(
test_base.MySQLOpportunisticTestCase, LiveFacadeTest): test_base._MySQLOpportunisticTestCase, LiveFacadeTest):
pass pass
class PGLiveFacadeTest( class PGLiveFacadeTest(
test_base.PostgreSQLOpportunisticTestCase, LiveFacadeTest): test_base._PostgreSQLOpportunisticTestCase, LiveFacadeTest):
pass pass

View File

@ -251,7 +251,7 @@ class TestFallthroughsAndNonDBAPI(TestsExceptionFilter):
class TestNonExistentConstraint( class TestNonExistentConstraint(
_SQLAExceptionMatcher, _SQLAExceptionMatcher,
test_base.DbTestCase): test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestNonExistentConstraint, self).setUp() super(TestNonExistentConstraint, self).setUp()
@ -269,7 +269,7 @@ class TestNonExistentConstraint(
class TestNonExistentConstraintPostgreSQL( class TestNonExistentConstraintPostgreSQL(
TestNonExistentConstraint, TestNonExistentConstraint,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
@ -293,7 +293,7 @@ class TestNonExistentConstraintPostgreSQL(
class TestNonExistentConstraintMySQL( class TestNonExistentConstraintMySQL(
TestNonExistentConstraint, TestNonExistentConstraint,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
@ -317,7 +317,7 @@ class TestNonExistentConstraintMySQL(
class TestNonExistentTable( class TestNonExistentTable(
_SQLAExceptionMatcher, _SQLAExceptionMatcher,
test_base.DbTestCase): test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestNonExistentTable, self).setUp() super(TestNonExistentTable, self).setUp()
@ -348,7 +348,7 @@ class TestNonExistentTable(
class TestNonExistentTablePostgreSQL( class TestNonExistentTablePostgreSQL(
TestNonExistentTable, TestNonExistentTable,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
@ -367,7 +367,7 @@ class TestNonExistentTablePostgreSQL(
class TestNonExistentTableMySQL( class TestNonExistentTableMySQL(
TestNonExistentTable, TestNonExistentTable,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
@ -385,7 +385,7 @@ class TestNonExistentTableMySQL(
class TestNonExistentDatabase( class TestNonExistentDatabase(
_SQLAExceptionMatcher, _SQLAExceptionMatcher,
test_base.DbTestCase): test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestNonExistentDatabase, self).setUp() super(TestNonExistentDatabase, self).setUp()
@ -411,7 +411,7 @@ class TestNonExistentDatabase(
class TestNonExistentDatabaseMySQL( class TestNonExistentDatabaseMySQL(
TestNonExistentDatabase, TestNonExistentDatabase,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
@ -430,7 +430,7 @@ class TestNonExistentDatabaseMySQL(
class TestNonExistentDatabasePostgreSQL( class TestNonExistentDatabasePostgreSQL(
TestNonExistentDatabase, TestNonExistentDatabase,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
@ -446,7 +446,7 @@ class TestNonExistentDatabasePostgreSQL(
) )
class TestReferenceErrorSQLite(_SQLAExceptionMatcher, test_base.DbTestCase): class TestReferenceErrorSQLite(_SQLAExceptionMatcher, test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestReferenceErrorSQLite, self).setUp() super(TestReferenceErrorSQLite, self).setUp()
@ -520,7 +520,7 @@ class TestReferenceErrorSQLite(_SQLAExceptionMatcher, test_base.DbTestCase):
class TestReferenceErrorPostgreSQL(TestReferenceErrorSQLite, class TestReferenceErrorPostgreSQL(TestReferenceErrorSQLite,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
params = {'id': 1, 'foo_id': 2} params = {'id': 1, 'foo_id': 2}
matched = self.assertRaises( matched = self.assertRaises(
@ -571,7 +571,7 @@ class TestReferenceErrorPostgreSQL(TestReferenceErrorSQLite,
class TestReferenceErrorMySQL(TestReferenceErrorSQLite, class TestReferenceErrorMySQL(TestReferenceErrorSQLite,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
def test_raise(self): def test_raise(self):
matched = self.assertRaises( matched = self.assertRaises(
exception.DBReferenceError, exception.DBReferenceError,
@ -632,7 +632,7 @@ class TestReferenceErrorMySQL(TestReferenceErrorSQLite,
self.assertEqual("resource_foo", matched.key_table) self.assertEqual("resource_foo", matched.key_table)
class TestExceptionCauseMySQLSavepoint(test_base.MySQLOpportunisticTestCase): class TestExceptionCauseMySQLSavepoint(test_base._MySQLOpportunisticTestCase):
def setUp(self): def setUp(self):
super(TestExceptionCauseMySQLSavepoint, self).setUp() super(TestExceptionCauseMySQLSavepoint, self).setUp()
@ -762,7 +762,7 @@ class TestExceptionCauseMySQLSavepoint(test_base.MySQLOpportunisticTestCase):
assert False, "no exception raised" assert False, "no exception raised"
class TestDBDataErrorSQLite(_SQLAExceptionMatcher, test_base.DbTestCase): class TestDBDataErrorSQLite(_SQLAExceptionMatcher, test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestDBDataErrorSQLite, self).setUp() super(TestDBDataErrorSQLite, self).setUp()
@ -1084,7 +1084,7 @@ class TestDataError(TestsExceptionFilter):
self.DataError) self.DataError)
class IntegrationTest(test_base.DbTestCase): class IntegrationTest(test_base._DbTestCase):
"""Test an actual error-raising round trips against the database.""" """Test an actual error-raising round trips against the database."""
def setUp(self): def setUp(self):

View File

@ -28,7 +28,7 @@ from oslo_db.tests.sqlalchemy import base as test_base
from oslo_db.tests import utils as test_utils from oslo_db.tests import utils as test_utils
class TestMigrationCommon(test_base.DbTestCase): class TestMigrationCommon(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestMigrationCommon, self).setUp() super(TestMigrationCommon, self).setUp()

View File

@ -180,7 +180,7 @@ class TestWalkVersions(test.BaseTestCase, migrate.WalkVersionsMixin):
self.assertEqual(upgraded, self.migrate_up.call_args_list) self.assertEqual(upgraded, self.migrate_up.call_args_list)
class ModelsMigrationSyncMixin(test_base.DbTestCase): class ModelsMigrationSyncMixin(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(ModelsMigrationSyncMixin, self).setUp() super(ModelsMigrationSyncMixin, self).setUp()
@ -359,7 +359,7 @@ class ModelsMigrationSyncMixin(test_base.DbTestCase):
class ModelsMigrationsSyncMysql(ModelsMigrationSyncMixin, class ModelsMigrationsSyncMysql(ModelsMigrationSyncMixin,
migrate.ModelsMigrationsSync, migrate.ModelsMigrationsSync,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
def test_models_not_sync(self): def test_models_not_sync(self):
self._test_models_not_sync() self._test_models_not_sync()
@ -370,7 +370,7 @@ class ModelsMigrationsSyncMysql(ModelsMigrationSyncMixin,
class ModelsMigrationsSyncPsql(ModelsMigrationSyncMixin, class ModelsMigrationsSyncPsql(ModelsMigrationSyncMixin,
migrate.ModelsMigrationsSync, migrate.ModelsMigrationsSync,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
def test_models_not_sync(self): def test_models_not_sync(self):
self._test_models_not_sync() self._test_models_not_sync()
@ -379,7 +379,7 @@ class ModelsMigrationsSyncPsql(ModelsMigrationSyncMixin,
self._test_models_not_sync_filtered() self._test_models_not_sync_filtered()
class TestOldCheckForeignKeys(test_base.DbTestCase): class TestOldCheckForeignKeys(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestOldCheckForeignKeys, self).setUp() super(TestOldCheckForeignKeys, self).setUp()
@ -557,10 +557,10 @@ class TestOldCheckForeignKeys(test_base.DbTestCase):
class PGTestOldCheckForeignKeys( class PGTestOldCheckForeignKeys(
TestOldCheckForeignKeys, test_base.PostgreSQLOpportunisticTestCase): TestOldCheckForeignKeys, test_base._PostgreSQLOpportunisticTestCase):
pass pass
class MySQLTestOldCheckForeignKeys( class MySQLTestOldCheckForeignKeys(
TestOldCheckForeignKeys, test_base.MySQLOpportunisticTestCase): TestOldCheckForeignKeys, test_base._MySQLOpportunisticTestCase):
pass pass

View File

@ -30,7 +30,7 @@ from oslo_db.tests.sqlalchemy import base as test_base
BASE = declarative_base() BASE = declarative_base()
class ModelBaseTest(test_base.DbTestCase): class ModelBaseTest(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(ModelBaseTest, self).setUp() super(ModelBaseTest, self).setUp()
self.mb = models.ModelBase() self.mb = models.ModelBase()
@ -191,7 +191,7 @@ class SoftDeletedModel(BASE, models.ModelBase, models.SoftDeleteMixin):
smth = Column('smth', String(255)) smth = Column('smth', String(255))
class SoftDeleteMixinTest(test_base.DbTestCase): class SoftDeleteMixinTest(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(SoftDeleteMixinTest, self).setUp() super(SoftDeleteMixinTest, self).setUp()

View File

@ -27,7 +27,7 @@ from oslo_db.sqlalchemy import utils
from oslo_db.tests.sqlalchemy import base as test_base from oslo_db.tests.sqlalchemy import base as test_base
class DropAllObjectsTest(test_base.DbTestCase): class DropAllObjectsTest(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(DropAllObjectsTest, self).setUp() super(DropAllObjectsTest, self).setUp()
@ -138,12 +138,12 @@ class BackendNotAvailableTest(oslo_test_base.BaseTestCase):
class MySQLDropAllObjectsTest( class MySQLDropAllObjectsTest(
DropAllObjectsTest, test_base.MySQLOpportunisticTestCase): DropAllObjectsTest, test_base._MySQLOpportunisticTestCase):
pass pass
class PostgreSQLDropAllObjectsTest( class PostgreSQLDropAllObjectsTest(
DropAllObjectsTest, test_base.PostgreSQLOpportunisticTestCase): DropAllObjectsTest, test_base._PostgreSQLOpportunisticTestCase):
pass pass

View File

@ -52,7 +52,7 @@ class RegexpTable(BASE, models.ModelBase):
bar = Column(String(255)) bar = Column(String(255))
class RegexpFilterTestCase(test_base.DbTestCase): class RegexpFilterTestCase(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(RegexpFilterTestCase, self).setUp() super(RegexpFilterTestCase, self).setUp()
@ -90,7 +90,7 @@ class RegexpFilterTestCase(test_base.DbTestCase):
self._test_regexp_filter(u'', []) self._test_regexp_filter(u'', [])
class SQLiteSavepointTest(test_base.DbTestCase): class SQLiteSavepointTest(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(SQLiteSavepointTest, self).setUp() super(SQLiteSavepointTest, self).setUp()
meta = MetaData() meta = MetaData()
@ -286,7 +286,7 @@ class QueryParamTest(test_base.DbTestCase):
) )
class MySQLDefaultModeTestCase(test_base.MySQLOpportunisticTestCase): class MySQLDefaultModeTestCase(test_base._MySQLOpportunisticTestCase):
def test_default_is_traditional(self): def test_default_is_traditional(self):
with self.engine.connect() as conn: with self.engine.connect() as conn:
sql_mode = conn.execute( sql_mode = conn.execute(
@ -296,7 +296,7 @@ class MySQLDefaultModeTestCase(test_base.MySQLOpportunisticTestCase):
self.assertIn("TRADITIONAL", sql_mode) self.assertIn("TRADITIONAL", sql_mode)
class MySQLModeTestCase(test_base.MySQLOpportunisticTestCase): class MySQLModeTestCase(test_base._MySQLOpportunisticTestCase):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(MySQLModeTestCase, self).__init__(*args, **kwargs) super(MySQLModeTestCase, self).__init__(*args, **kwargs)
@ -512,7 +512,7 @@ class SQLiteConnectTest(oslo_test.BaseTestCase):
) )
class MysqlConnectTest(test_base.MySQLOpportunisticTestCase): class MysqlConnectTest(test_base._MySQLOpportunisticTestCase):
def _fixture(self, sql_mode): def _fixture(self, sql_mode):
return session.create_engine(self.engine.url, mysql_sql_mode=sql_mode) return session.create_engine(self.engine.url, mysql_sql_mode=sql_mode)
@ -790,7 +790,7 @@ class CreateEngineTest(oslo_test.BaseTestCase):
) )
class ProcessGuardTest(test_base.DbTestCase): class ProcessGuardTest(test_base._DbTestCase):
def test_process_guard(self): def test_process_guard(self):
self.engine.dispose() self.engine.dispose()
@ -818,7 +818,7 @@ class ProcessGuardTest(test_base.DbTestCase):
self.assertEqual(new_dbapi_id, newer_dbapi_id) self.assertEqual(new_dbapi_id, newer_dbapi_id)
class PatchStacktraceTest(test_base.DbTestCase): class PatchStacktraceTest(test_base._DbTestCase):
def test_trace(self): def test_trace(self):
engine = self.engine engine = self.engine

View File

@ -33,7 +33,7 @@ class JsonTable(BASE, models.ModelBase):
json = Column(types.JsonEncodedType) json = Column(types.JsonEncodedType)
class JsonTypesTestCase(test_base.DbTestCase): class JsonTypesTestCase(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(JsonTypesTestCase, self).setUp() super(JsonTypesTestCase, self).setUp()
JsonTable.__table__.create(self.engine) JsonTable.__table__.create(self.engine)

View File

@ -85,7 +85,7 @@ class ManufactureCriteriaTest(oslo_test_base.BaseTestCase):
) )
class UpdateMatchTest(test_base.DbTestCase): class UpdateMatchTest(test_base._DbTestCase):
def setUp(self): def setUp(self):
super(UpdateMatchTest, self).setUp() super(UpdateMatchTest, self).setUp()
Base.metadata.create_all(self.engine) Base.metadata.create_all(self.engine)
@ -435,11 +435,11 @@ class UpdateMatchTest(test_base.DbTestCase):
class PGUpdateMatchTest( class PGUpdateMatchTest(
UpdateMatchTest, UpdateMatchTest,
test_base.PostgreSQLOpportunisticTestCase): test_base._PostgreSQLOpportunisticTestCase):
pass pass
class MySQLUpdateMatchTest( class MySQLUpdateMatchTest(
UpdateMatchTest, UpdateMatchTest,
test_base.MySQLOpportunisticTestCase): test_base._MySQLOpportunisticTestCase):
pass pass

View File

@ -547,7 +547,7 @@ class TestPaginateQueryActualSQL(test_base.BaseTestCase):
) )
class TestMigrationUtils(db_test_base.DbTestCase): class TestMigrationUtils(db_test_base._DbTestCase):
"""Class for testing utils that are used in db migrations.""" """Class for testing utils that are used in db migrations."""
@ -957,14 +957,14 @@ class TestMigrationUtils(db_test_base.DbTestCase):
class PostgresqlTestMigrations(TestMigrationUtils, class PostgresqlTestMigrations(TestMigrationUtils,
db_test_base.PostgreSQLOpportunisticTestCase): db_test_base._PostgreSQLOpportunisticTestCase):
"""Test migrations on PostgreSQL.""" """Test migrations on PostgreSQL."""
pass pass
class MySQLTestMigrations(TestMigrationUtils, class MySQLTestMigrations(TestMigrationUtils,
db_test_base.MySQLOpportunisticTestCase): db_test_base._MySQLOpportunisticTestCase):
"""Test migrations on MySQL.""" """Test migrations on MySQL."""
pass pass
@ -1146,7 +1146,7 @@ class TestModelQuery(test_base.BaseTestCase):
self.session.query.assert_called_with(MyModel.id) self.session.query.assert_called_with(MyModel.id)
class TestUtils(db_test_base.DbTestCase): class TestUtils(db_test_base._DbTestCase):
def setUp(self): def setUp(self):
super(TestUtils, self).setUp() super(TestUtils, self).setUp()
meta = MetaData(bind=self.engine) meta = MetaData(bind=self.engine)
@ -1222,12 +1222,12 @@ class TestUtils(db_test_base.DbTestCase):
class TestUtilsMysqlOpportunistically( class TestUtilsMysqlOpportunistically(
TestUtils, db_test_base.MySQLOpportunisticTestCase): TestUtils, db_test_base._MySQLOpportunisticTestCase):
pass pass
class TestUtilsPostgresqlOpportunistically( class TestUtilsPostgresqlOpportunistically(
TestUtils, db_test_base.PostgreSQLOpportunisticTestCase): TestUtils, db_test_base._PostgreSQLOpportunisticTestCase):
pass pass
@ -1536,7 +1536,7 @@ class TestDialectFunctionDispatcher(test_base.BaseTestCase):
) )
class TestGetInnoDBTables(db_test_base.MySQLOpportunisticTestCase): class TestGetInnoDBTables(db_test_base._MySQLOpportunisticTestCase):
def test_all_tables_use_innodb(self): def test_all_tables_use_innodb(self):
self.engine.execute("CREATE TABLE customers " self.engine.execute("CREATE TABLE customers "