summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisaharu Ishii <ishii.hisaharu@lab.ntt.co.jp>2011-08-17 09:57:15 -0700
committerHisaharu Ishii <ishii.hisaharu@lab.ntt.co.jp>2011-08-17 09:57:15 -0700
commit9ad17dec99608b3738d662d91c49964b3f207d02 (patch)
tree9e835543b070b0460dee95c52f518c40daa17c90
parentfe0bde67193ce76376e72a7263b89240a63722a8 (diff)
Add NetworkCommandsTestCase into unit test of nova-manage
-rw-r--r--nova/tests/test_nova_manage.py73
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)