summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-04-10 00:18:57 +0000
committerGerrit Code Review <review@openstack.org>2012-04-10 00:18:57 +0000
commit384b758166ed72fc16da7c5ad18eedc044bbc633 (patch)
treeca4cafabbd7357c949b4b3c5036bdf8cb803afd3 /nova/tests
parent24effa38bdfb846ab52ff6654503c3e65bd613d3 (diff)
parent761e4e0cbe12b9d196f8e63146dce9513718ece1 (diff)
Merge "Delete fixed_ips when network is deleted"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_db_api.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index fcf4938c7..d54fcda81 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -136,6 +136,25 @@ class DbApiTestCase(test.TestCase):
db_network = db.network_get(ctxt, network.id)
self.assertEqual(network.uuid, db_network.uuid)
+ def test_network_delete_safe(self):
+ ctxt = context.get_admin_context()
+ values = {'host': 'localhost', 'project_id': 'project1'}
+ network = db.network_create_safe(ctxt, values)
+ db_network = db.network_get(ctxt, network.id)
+ values = {'network_id': network['id'], 'address': 'fake1'}
+ address1 = db.fixed_ip_create(ctxt, values)
+ values = {'network_id': network['id'],
+ 'address': 'fake2',
+ 'allocated': True}
+ address2 = db.fixed_ip_create(ctxt, values)
+ self.assertRaises(exception.NetworkInUse,
+ db.network_delete_safe, ctxt, network['id'])
+ db.fixed_ip_update(ctxt, address2, {'allocated': False})
+ network = db.network_delete_safe(ctxt, network['id'])
+ ctxt = ctxt.elevated(read_deleted='yes')
+ fixed_ip = db.fixed_ip_get_by_address(ctxt, address1)
+ self.assertTrue(fixed_ip['deleted'])
+
def test_network_create_with_duplicate_vlan(self):
ctxt = context.get_admin_context()
values1 = {'host': 'localhost', 'project_id': 'project1', 'vlan': 1}