summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorSoren Hansen <soren@linux2go.dk>2011-07-22 22:41:29 +0200
committerSoren Hansen <soren@linux2go.dk>2011-07-22 22:41:29 +0200
commitc3cdcc1eb0c9fd37f49701d976c7ceae8df44caf (patch)
tree09fb706f6c3294e553ac2d81b02a30ce7b0a0b21 /nova/tests
parentfa2cdbc5d4201ace6c1a6459bbd653b0b63b7667 (diff)
This is me being all cocky, thinking I'll make it use ipsets...
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_iptables_network.py39
1 files changed, 37 insertions, 2 deletions
diff --git a/nova/tests/test_iptables_network.py b/nova/tests/test_iptables_network.py
index 918034269..d0a8c052c 100644
--- a/nova/tests/test_iptables_network.py
+++ b/nova/tests/test_iptables_network.py
@@ -17,11 +17,46 @@
# under the License.
"""Unit Tests for network code."""
-import os
-
from nova import test
from nova.network import linux_net
+class IpSetTestCase(test.TestCase):
+ def test_add(self):
+ """Adding an address"""
+ ipset = linux_net.IpSet('somename')
+
+ ipset.add_ip('1.2.3.4')
+ self.assertTrue('1.2.3.4' in ipset)
+
+
+ def test_add_remove(self):
+ """Adding and then removing an address"""
+
+ self.verify_cmd_call_count = 0
+ def verify_cmd(*args):
+ self.assertEquals(args, self.expected_cmd)
+ self.verify_cmd_call_count += 1
+
+ self.expected_cmd = ('ipset', '-A', 'run_tests.py-somename', '1.2.3.4')
+ ipset = linux_net.IpSet('somename',execute=verify_cmd)
+ ipset.add_ip('1.2.3.4')
+ self.assertTrue('1.2.3.4' in ipset)
+
+ self.expected_cmd = ('ipset', '-D', 'run_tests.py-somename', '1.2.3.4')
+ ipset.remove_ip('1.2.3.4')
+ self.assertTrue('1.2.3.4' not in ipset)
+ self.assertEquals(self.verify_cmd_call_count, 2)
+
+
+ def test_two_adds_one_remove(self):
+ """Adding the same address twice works. Removing it once removes it entirely."""
+ ipset = linux_net.IpSet('somename')
+
+ ipset.add_ip('1.2.3.4')
+ ipset.add_ip('1.2.3.4')
+ ipset.remove_ip('1.2.3.4')
+ self.assertTrue('1.2.3.4' not in ipset)
+
class IptablesManagerTestCase(test.TestCase):
sample_filter = ['#Generated by iptables-save on Fri Feb 18 15:17:05 2011',