Merge "Permit deleted instance types to be queried for active instances."

This commit is contained in:
Jenkins
2012-05-23 20:40:46 +00:00
committed by Gerrit Code Review

View File

@@ -152,7 +152,7 @@ class InstanceTypeTestCase(test.TestCase):
'name two', 256, 1, 120, 200, flavorid)
def test_will_not_destroy_with_no_name(self):
"""Ensure destroy sad path of no name raises error"""
"""Ensure destroy said path of no name raises error"""
self.assertRaises(exception.InstanceTypeNotFoundByName,
instance_types.destroy, None)
@@ -201,6 +201,24 @@ class InstanceTypeTestCase(test.TestCase):
fetched = instance_types.get_instance_type_by_flavor_id(flavorid)
self.assertEqual(default_instance_type, fetched)
def test_will_list_deleted_type_for_active_instance(self):
"""Ensure deleted instance types with active instances can be read"""
ctxt = context.get_admin_context()
inst_type = instance_types.create("test", 256, 1, 120, 100, "test1")
instance_params = {"instance_type_id": inst_type["id"]}
instance = db.instance_create(ctxt, instance_params)
# NOTE(jk0): Delete the instance type and reload the instance from the
# DB. The instance_type object will still be available to the active
# instance, otherwise being None.
instance_types.destroy(inst_type["name"])
instance = db.instance_get_by_uuid(ctxt, instance["uuid"])
self.assertRaises(exception.InstanceTypeNotFound,
instance_types.get_instance_type, inst_type["name"])
self.assertTrue(instance["instance_type"])
class InstanceTypeFilteringTest(test.TestCase):
"""Test cases for the filter option available for instance_type_get_all"""