summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-04-08 05:30:10 +0000
committerGerrit Code Review <review@openstack.org>2013-04-08 05:30:10 +0000
commit8f2d50381d2796a5b4b5f5df21c65dacd764a264 (patch)
treefeb12013ca10a7ecb8177bba8cfa0acc1cc3c4b9
parent297e2f74a0255bfd0089bde36e3d0de7278fa0f6 (diff)
parent5e4f341140e912092156dd201d28dd35c18cac3a (diff)
Merge "Add missing tests for instance_type_extra_specs_* methods"
-rw-r--r--nova/tests/test_db_api.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index a00a03c6b..b24f76660 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -2132,6 +2132,51 @@ class InstanceTypeTestCase(BaseInstanceTypeTestCase):
self.ctxt, 'nonexists')
+class InstanceTypeExtraSpecsTestCase(BaseInstanceTypeTestCase):
+
+ def setUp(self):
+ super(InstanceTypeExtraSpecsTestCase, self).setUp()
+ values = ({'name': 'n1', 'flavorid': 'f1',
+ 'extra_specs': dict(a='a', b='b', c='c')},
+ {'name': 'n2', 'flavorid': 'f2',
+ 'extra_specs': dict(d='d', e='e', f='f')})
+
+ # NOTE(boris-42): We have already tested instance_type_create method
+ # with extra_specs in InstanceTypeTestCase.
+ self.inst_types = [self._create_inst_type(v) for v in values]
+
+ def test_instance_type_extra_specs_get(self):
+ for it in self.inst_types:
+ real_specs = db.instance_type_extra_specs_get(self.ctxt,
+ it['flavorid'])
+ self._assertEqualObjects(it['extra_specs'], real_specs)
+
+ def test_instance_type_extra_specs_delete(self):
+ for it in self.inst_types:
+ specs = it['extra_specs']
+ key = specs.keys()[0]
+ del specs[key]
+ db.instance_type_extra_specs_delete(self.ctxt, it['flavorid'], key)
+ real_specs = db.instance_type_extra_specs_get(self.ctxt,
+ it['flavorid'])
+ self._assertEqualObjects(it['extra_specs'], real_specs)
+
+ def test_instance_type_extra_specs_update_or_create(self):
+ for it in self.inst_types:
+ current_specs = it['extra_specs']
+ current_specs.update(dict(b='b1', c='c1', d='d1', e='e1'))
+ params = (self.ctxt, it['flavorid'], current_specs)
+ db.instance_type_extra_specs_update_or_create(*params)
+ real_specs = db.instance_type_extra_specs_get(self.ctxt,
+ it['flavorid'])
+ self._assertEqualObjects(current_specs, real_specs)
+
+ def test_instance_type_extra_specs_update_or_create_flavor_not_found(self):
+ self.assertRaises(exception.FlavorNotFound,
+ db.instance_type_extra_specs_update_or_create,
+ self.ctxt, 'nonexists', {})
+
+
class InstanceTypeAccessTestCase(BaseInstanceTypeTestCase):
def _create_inst_type_access(self, instance_type_id, project_id):