summaryrefslogtreecommitdiff
path: root/quantumclient/tests
diff options
context:
space:
mode:
authorSalvatore Orlando <sorlando@nicira.com>2012-11-29 06:51:25 -0800
committerSalvatore Orlando <salv.orlando@gmail.com>2013-02-20 13:40:30 +0100
commitd77f86218e4c0c2f5371accce64605e7cfff41c5 (patch)
tree212edbe8f98459f2f30ad1bac3c6184301484535 /quantumclient/tests
parentee4cb431859046c7be93e09168961d2af3328ef7 (diff)
downloadpython-neutronclient-2.2.0a1.tar.gz
CLI support for network gateway feature2.2.0a1
Blueprint nvp-nwgw-extension-client Adds commands for gateway management, and for connecting networks to gateways. These commands use the nicira-specific extension 'nvp-network-gateway' Change-Id: Iefcba201bc9fd8dce35762514af0f56b29430ccd
Diffstat (limited to 'quantumclient/tests')
-rw-r--r--quantumclient/tests/unit/test_cli20.py6
-rw-r--r--quantumclient/tests/unit/test_cli20_nvpnetworkgateway.py108
2 files changed, 112 insertions, 2 deletions
diff --git a/quantumclient/tests/unit/test_cli20.py b/quantumclient/tests/unit/test_cli20.py
index d2abaf9..4e62eda 100644
--- a/quantumclient/tests/unit/test_cli20.py
+++ b/quantumclient/tests/unit/test_cli20.py
@@ -159,12 +159,13 @@ class CLITestV20Base(testtools.TestCase):
name, myid, args,
position_names, position_values, tenant_id=None,
tags=None, admin_state_up=True, shared=False,
- extra_body=None):
+ extra_body=None, **kwargs):
self.mox.StubOutWithMock(cmd, "get_client")
self.mox.StubOutWithMock(self.client.httpclient, "request")
cmd.get_client().MultipleTimes().AndReturn(self.client)
non_admin_status_resources = ['subnet', 'floatingip', 'security_group',
- 'security_group_rule', 'qos_queue']
+ 'security_group_rule', 'qos_queue',
+ 'network_gateway']
if (resource in non_admin_status_resources):
body = {resource: {}, }
else:
@@ -177,6 +178,7 @@ class CLITestV20Base(testtools.TestCase):
body[resource].update({'shared': shared})
if extra_body:
body[resource].update(extra_body)
+ body[resource].update(kwargs)
for i in xrange(len(position_names)):
body[resource].update({position_names[i]: position_values[i]})
diff --git a/quantumclient/tests/unit/test_cli20_nvpnetworkgateway.py b/quantumclient/tests/unit/test_cli20_nvpnetworkgateway.py
new file mode 100644
index 0000000..7f17571
--- /dev/null
+++ b/quantumclient/tests/unit/test_cli20_nvpnetworkgateway.py
@@ -0,0 +1,108 @@
+# Copyright 2012 Nicira, Inc
+# All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+import sys
+
+from quantumclient.common import exceptions
+from quantumclient.quantum.v2_0 import nvpnetworkgateway
+from quantumclient.tests.unit.test_cli20 import CLITestV20Base
+from quantumclient.tests.unit.test_cli20 import MyApp
+
+
+class CLITestV20NetworkGateway(CLITestV20Base):
+
+ resource = "network_gateway"
+
+ def test_create_gateway(self):
+ cmd = nvpnetworkgateway.CreateNetworkGateway(MyApp(sys.stdout), None)
+ name = 'gw-test'
+ myid = 'myid'
+ args = [name, ]
+ position_names = ['name', ]
+ position_values = [name, ]
+ _str = self._test_create_resource(self.resource, cmd, name, myid, args,
+ position_names, position_values)
+
+ def test_create_gateway_with_tenant(self):
+ cmd = nvpnetworkgateway.CreateNetworkGateway(MyApp(sys.stdout), None)
+ name = 'gw-test'
+ myid = 'myid'
+ args = ['--tenant_id', 'tenantid', name]
+ position_names = ['name', ]
+ position_values = [name, ]
+ _str = self._test_create_resource(self.resource, cmd, name, myid, args,
+ position_names, position_values,
+ tenant_id='tenantid')
+
+ def test_create_gateway_with_device(self):
+ cmd = nvpnetworkgateway.CreateNetworkGateway(MyApp(sys.stdout), None)
+ name = 'gw-test'
+ myid = 'myid'
+ args = ['--device', 'device_id=test', name, ]
+ position_names = ['name', ]
+ position_values = [name, ]
+ _str = self._test_create_resource(self.resource, cmd, name, myid, args,
+ position_names, position_values,
+ devices=[{'device_id': 'test'}])
+
+ def test_list_gateways(self):
+ resources = '%ss' % self.resource
+ cmd = nvpnetworkgateway.ListNetworkGateway(MyApp(sys.stdout), None)
+ self._test_list_resources(resources, cmd, True)
+
+ def test_update_gateway(self):
+ cmd = nvpnetworkgateway.UpdateNetworkGateway(MyApp(sys.stdout), None)
+ self._test_update_resource(self.resource, cmd, 'myid',
+ ['myid', '--name', 'cavani'],
+ {'name': 'cavani'})
+
+ def test_delete_gateway(self):
+ cmd = nvpnetworkgateway.DeleteNetworkGateway(MyApp(sys.stdout), None)
+ myid = 'myid'
+ args = [myid]
+ self._test_delete_resource(self.resource, cmd, myid, args)
+
+ def test_show_gateway(self):
+ cmd = nvpnetworkgateway.ShowNetworkGateway(MyApp(sys.stdout), None)
+ args = ['--fields', 'id', '--fields', 'name', self.test_id]
+ self._test_show_resource(self.resource, cmd, self.test_id, args,
+ ['id', 'name'])
+
+ def test_connect_network_to_gateway(self):
+ cmd = nvpnetworkgateway.ConnectNetworkGateway(MyApp(sys.stdout), None)
+ args = ['gw_id', 'net_id',
+ '--segmentation-type', 'edi',
+ '--segmentation-id', '7']
+ self._test_update_resource_action(self.resource, cmd, 'gw_id',
+ 'connect_network',
+ args,
+ {'network_id': 'net_id',
+ 'segmentation_type': 'edi',
+ 'segmentation_id': '7'})
+
+ def test_disconnect_network_from_gateway(self):
+ cmd = nvpnetworkgateway.DisconnectNetworkGateway(MyApp(sys.stdout),
+ None)
+ args = ['gw_id', 'net_id',
+ '--segmentation-type', 'edi',
+ '--segmentation-id', '7']
+ self._test_update_resource_action(self.resource, cmd, 'gw_id',
+ 'disconnect_network',
+ args,
+ {'network_id': 'net_id',
+ 'segmentation_type': 'edi',
+ 'segmentation_id': '7'})