diff options
| author | Michael Still <mikal@stillhq.com> | 2013-03-12 01:32:54 +1100 |
|---|---|---|
| committer | Michael Still <mikal@stillhq.com> | 2013-03-12 02:05:59 +1100 |
| commit | 28a6ef007e2faa47fd4ad0d855098945eacf2317 (patch) | |
| tree | 7eb5615de7779333771394726405a09076a832a1 | |
| parent | f543f347c84e7f5de2c584ca55363e4dee5b0a3d (diff) | |
| download | nova-28a6ef007e2faa47fd4ad0d855098945eacf2317.tar.gz nova-28a6ef007e2faa47fd4ad0d855098945eacf2317.tar.xz nova-28a6ef007e2faa47fd4ad0d855098945eacf2317.zip | |
Refactor db tests to ensure that notdb driver is used.
Resolves bug 1076023 by refactoring to ensure that the notdb driver
is used for these tests.
Change-Id: I94674d20c8fa320a5855bfa94eb694703fa23326
| -rw-r--r-- | nova/tests/test_db_api.py | 98 |
1 files changed, 52 insertions, 46 deletions
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py index 769ddaea2..0a2d81fb1 100644 --- a/nova/tests/test_db_api.py +++ b/nova/tests/test_db_api.py @@ -45,9 +45,9 @@ get_engine = db_session.get_engine get_session = db_session.get_session -class DbApiTestCase(test.TestCase): +class DbTestCase(test.TestCase): def setUp(self): - super(DbApiTestCase, self).setUp() + super(DbTestCase, self).setUp() self.user_id = 'fake' self.project_id = 'fake' self.context = context.RequestContext(self.user_id, self.project_id) @@ -63,6 +63,8 @@ class DbApiTestCase(test.TestCase): args.update(kwargs) return db.instance_create(ctxt, args) + +class DbApiTestCase(DbTestCase): def test_create_instance_unique_hostname(self): otherprojectcontext = context.RequestContext(self.user_id, "%s2" % self.project_id) @@ -122,19 +124,6 @@ class DbApiTestCase(test.TestCase): {'display_name': 't.*st.'}) self.assertEqual(2, len(result)) - def test_instance_get_all_by_filters_regex_unsupported_db(self): - # Ensure that the 'LIKE' operator is used for unsupported dbs. - self.flags(sql_connection="notdb://") - self.create_instances_with_args(display_name='test1') - self.create_instances_with_args(display_name='test.*') - self.create_instances_with_args(display_name='diff') - result = db.instance_get_all_by_filters(self.context, - {'display_name': 'test.*'}) - self.assertEqual(1, len(result)) - result = db.instance_get_all_by_filters(self.context, - {'display_name': '%test%'}) - self.assertEqual(2, len(result)) - def test_instance_get_all_by_filters_metadata(self): self.create_instances_with_args(metadata={'foo': 'bar'}) self.create_instances_with_args() @@ -161,37 +150,6 @@ class DbApiTestCase(test.TestCase): else: self.assertTrue(result[1]['deleted']) - def test_instance_get_all_by_filters_paginate(self): - self.flags(sql_connection="notdb://") - test1 = self.create_instances_with_args(display_name='test1') - test2 = self.create_instances_with_args(display_name='test2') - test3 = self.create_instances_with_args(display_name='test3') - - result = db.instance_get_all_by_filters(self.context, - {'display_name': '%test%'}, - marker=None) - self.assertEqual(3, len(result)) - result = db.instance_get_all_by_filters(self.context, - {'display_name': '%test%'}, - sort_dir="asc", - marker=test1['uuid']) - self.assertEqual(2, len(result)) - result = db.instance_get_all_by_filters(self.context, - {'display_name': '%test%'}, - sort_dir="asc", - marker=test2['uuid']) - self.assertEqual(1, len(result)) - result = db.instance_get_all_by_filters(self.context, - {'display_name': '%test%'}, - sort_dir="asc", - marker=test3['uuid']) - self.assertEqual(0, len(result)) - - self.assertRaises(exception.MarkerNotFound, - db.instance_get_all_by_filters, - self.context, {'display_name': '%test%'}, - marker=str(stdlib_uuid.uuid4())) - def test_migration_get_unconfirmed_by_dest_compute(self): ctxt = context.get_admin_context() @@ -1099,6 +1057,54 @@ def _create_aggregate_with_hosts(context=context.get_admin_context(), return result +class NotDbApiTestCase(DbTestCase): + def setUp(self): + super(NotDbApiTestCase, self).setUp() + self.flags(sql_connection="notdb://") + + def test_instance_get_all_by_filters_regex_unsupported_db(self): + # Ensure that the 'LIKE' operator is used for unsupported dbs. + self.create_instances_with_args(display_name='test1') + self.create_instances_with_args(display_name='test.*') + self.create_instances_with_args(display_name='diff') + result = db.instance_get_all_by_filters(self.context, + {'display_name': 'test.*'}) + self.assertEqual(1, len(result)) + result = db.instance_get_all_by_filters(self.context, + {'display_name': '%test%'}) + self.assertEqual(2, len(result)) + + def test_instance_get_all_by_filters_paginate(self): + test1 = self.create_instances_with_args(display_name='test1') + test2 = self.create_instances_with_args(display_name='test2') + test3 = self.create_instances_with_args(display_name='test3') + + result = db.instance_get_all_by_filters(self.context, + {'display_name': '%test%'}, + marker=None) + self.assertEqual(3, len(result)) + result = db.instance_get_all_by_filters(self.context, + {'display_name': '%test%'}, + sort_dir="asc", + marker=test1['uuid']) + self.assertEqual(2, len(result)) + result = db.instance_get_all_by_filters(self.context, + {'display_name': '%test%'}, + sort_dir="asc", + marker=test2['uuid']) + self.assertEqual(1, len(result)) + result = db.instance_get_all_by_filters(self.context, + {'display_name': '%test%'}, + sort_dir="asc", + marker=test3['uuid']) + self.assertEqual(0, len(result)) + + self.assertRaises(exception.MarkerNotFound, + db.instance_get_all_by_filters, + self.context, {'display_name': '%test%'}, + marker=str(stdlib_uuid.uuid4())) + + class AggregateDBApiTestCase(test.TestCase): def setUp(self): super(AggregateDBApiTestCase, self).setUp() |
