summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorBoris Pavlovic <boris@pavlovic.me>2013-04-24 00:41:42 +0400
committerBoris Pavlovic <boris@pavlovic.me>2013-04-25 20:31:30 +0400
commit481d4a767e324e956af4afcb510eac802a9efa7a (patch)
tree1d2726a169dcbc870a63d03c9f1d73d0e1bfd112 /nova/tests
parent923bcb72eac497d454f7ed6f22372557a9c83c71 (diff)
Fix bug in db.instance_type_destroy
Fix db.instance_type_destroy() Corresponding instance_type_projects weren't deleted Fix db.instance_type_acces_get_by_flavor_id method Return [] list if there is no such instance_type instead of AttributeError Fixes bug 1172153 Change-Id: Ib1a9a23aa6e26711c198bf4a5059797044c44426
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_db_api.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index d834d03f9..3faa26e3b 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -2307,6 +2307,26 @@ class InstanceTypeAccessTestCase(BaseInstanceTypeTestCase):
db.instance_type_access_remove,
self.ctxt, inst_type['flavorid'], 'p2')
+ def test_instance_type_access_removed_after_instance_type_destroy(self):
+ inst_type1 = self._create_inst_type({'flavorid': 'f1', 'name': 'n1'})
+ inst_type2 = self._create_inst_type({'flavorid': 'f2', 'name': 'n2'})
+ values = [
+ (inst_type1['flavorid'], 'p1'),
+ (inst_type1['flavorid'], 'p2'),
+ (inst_type2['flavorid'], 'p3')
+ ]
+ for v in values:
+ self._create_inst_type_access(*v)
+
+ db.instance_type_destroy(self.ctxt, inst_type1['name'])
+
+ p = (self.ctxt, inst_type1['flavorid'])
+ self.assertEqual(0, len(db.instance_type_access_get_by_flavor_id(*p)))
+ p = (self.ctxt, inst_type2['flavorid'])
+ self.assertEqual(1, len(db.instance_type_access_get_by_flavor_id(*p)))
+ db.instance_type_destroy(self.ctxt, inst_type2['name'])
+ self.assertEqual(0, len(db.instance_type_access_get_by_flavor_id(*p)))
+
class FixedIPTestCase(BaseInstanceTypeTestCase):
def _timeout_test(self, ctxt, timeout, multi_host):