diff options
| author | Hisaharu Ishii <ishii.hisaharu@lab.ntt.co.jp> | 2011-08-17 09:57:15 -0700 |
|---|---|---|
| committer | Hisaharu Ishii <ishii.hisaharu@lab.ntt.co.jp> | 2011-08-17 09:57:15 -0700 |
| commit | 9ad17dec99608b3738d662d91c49964b3f207d02 (patch) | |
| tree | 9e835543b070b0460dee95c52f518c40daa17c90 | |
| parent | fe0bde67193ce76376e72a7263b89240a63722a8 (diff) | |
Add NetworkCommandsTestCase into unit test of nova-manage
| -rw-r--r-- | nova/tests/test_nova_manage.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nova/tests/test_nova_manage.py b/nova/tests/test_nova_manage.py index 9c6563f14..69e73367f 100644 --- a/nova/tests/test_nova_manage.py +++ b/nova/tests/test_nova_manage.py @@ -15,6 +15,7 @@ # License for the specific language governing permissions and limitations # under the License. +import gettext import os import sys @@ -24,16 +25,20 @@ TOPDIR = os.path.normpath(os.path.join( os.pardir)) NOVA_MANAGE_PATH = os.path.join(TOPDIR, 'bin', 'nova-manage') +gettext.install('nova', unicode=1) + sys.dont_write_bytecode = True import imp nova_manage = imp.load_source('nova_manage.py', NOVA_MANAGE_PATH) sys.dont_write_bytecode = False import netaddr +import StringIO from nova import context from nova import db from nova import flags from nova import test +from nova import exception FLAGS = flags.FLAGS @@ -80,3 +85,71 @@ class FixedIpCommandsTestCase(test.TestCase): address = db.fixed_ip_get_by_address(context.get_admin_context(), '10.0.0.100') self.assertEqual(address['reserved'], False) + +class NetworkCommandsTestCase(test.TestCase): + def setUp(self): +# print 'piyo' + super(NetworkCommandsTestCase, self).setUp() + self.commands = nova_manage.NetworkCommands() + self.context = context.get_admin_context() + nets = db.network_get_all(self.context) + for net in nets: + db.network_delete_safe(self.context, net['id']) + + def tearDown(self): + super(NetworkCommandsTestCase, self).tearDown() + + def test_create(self): + self.commands.create( + label = 'Test', + fixed_range_v4 = '10.2.0.0/24', + fixed_range_v6 = 'fd00:2::/64', + num_networks = 1, + network_size = 256, + vlan_start = 200, + bridge_interface = 'eth0', + ) + net = db.network_get_by_cidr(self.context, '10.2.0.0/24') + self.assertEqual(net['label'], 'Test') + self.assertEqual(net['cidr'], '10.2.0.0/24') + self.assertEqual(net['netmask'], '255.255.255.0') + self.assertEqual(net['cidr_v6'], 'fd00:2::/64') + self.assertEqual(net['bridge_interface'], 'eth0') + self.assertEqual(net['vlan'], 200) + + def test_list(self): + format = "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" + head = format % ( + _('IPv4'), + _('IPv6'), + _('start address'), + _('DNS1'), + _('DNS2'), + _('VlanID'), + _('project')) + body = format % ( + '10.2.0.0/24', + 'fd00:2::/64', + '10.2.0.3', + 'None', + 'None', + '200', + 'None',) + self.test_create() + output = StringIO.StringIO() + sys.stdout = output + self.commands.list() + sys.stdout = sys.__stdout__ + result = output.getvalue() + answer = '%s\n%s\n' % (head, body) + self.assertEqual(result, answer) + + def test_delete(self): + self.test_create() + self.commands.delete(fixed_range = '10.2.0.0/24') + net_exist = True + try: + net = db.network_get_by_cidr(self.context, '10.2.0.0/24') + except exception.NetworkNotFoundForCidr, e: + net_exist = False + self.assertEqual(net_exist, False) |
