summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-01-18 22:06:19 +0000
committerGerrit Code Review <review@openstack.org>2012-01-18 22:06:19 +0000
commit0ed09a3f4e34f8039e471242517dca14b278bcdb (patch)
tree7785c91e6401a2e2af244ae17478bee61a9027d7 /nova/tests
parentec244a1d940d0dbe56527b290f4b5052fba96739 (diff)
parent53abee197dfc5dd7a77b746141d8321c20722092 (diff)
Merge "Automatically clean up DNS when a floating IP is deallocated."
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_network.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/nova/tests/test_network.py b/nova/tests/test_network.py
index 7b8bd3aa3..351876a41 100644
--- a/nova/tests/test_network.py
+++ b/nova/tests/test_network.py
@@ -1365,6 +1365,50 @@ class FloatingIPTestCase(test.TestCase):
entryname, domain1)
self.assertFalse(entries)
+ def test_delete_all_by_ip(self):
+ domain1 = "example.org"
+ domain2 = "example.com"
+ address = "10.10.10.10"
+ name1 = "foo"
+ name2 = "bar"
+
+ def fake_domains(context):
+ return [{'domain': 'example.org', 'scope': 'public'},
+ {'domain': 'example.com', 'scope': 'public'},
+ {'domain': 'test.example.org', 'scope': 'public'}]
+
+ self.stubs.Set(self.network, 'get_dns_zones', fake_domains)
+
+ context_admin = context.RequestContext('testuser', 'testproject',
+ is_admin=True)
+
+ self.network.create_public_dns_domain(context_admin, domain1,
+ 'testproject')
+ self.network.create_public_dns_domain(context_admin, domain2,
+ 'fakeproject')
+
+ domains = self.network.get_dns_zones(self.context)
+ for domain in domains:
+ self.network.add_dns_entry(self.context, address,
+ name1, "A", domain['domain'])
+ self.network.add_dns_entry(self.context, address,
+ name2, "A", domain['domain'])
+ entries = self.network.get_dns_entries_by_address(self.context,
+ address,
+ domain['domain'])
+ self.assertEquals(len(entries), 2)
+
+ self.network._delete_all_entries_for_ip(self.context, address)
+
+ for domain in domains:
+ entries = self.network.get_dns_entries_by_address(self.context,
+ address,
+ domain['domain'])
+ self.assertFalse(entries)
+
+ self.network.delete_dns_domain(context_admin, domain1)
+ self.network.delete_dns_domain(context_admin, domain2)
+
class NetworkPolicyTestCase(test.TestCase):
def setUp(self):