/
usr
/
lib
/
python2.6
/
site-packages
/
neutronclient
/
tests
/
unit
/
/usr/lib/python2.6/site-packages/neutronclient/tests/unit
mkdir
upload
Name
Size
Mode
Actions
fw/
-
0755
rm
lb/
-
0755
rm
qos/
-
0755
rm
vpn/
-
0755
rm
test_auth.py
15714
0644
edit
dl
rm
test_auth.pyc
14626
0644
edit
dl
rm
test_casual_args.py
4993
0644
edit
dl
rm
test_casual_args.pyc
6781
0644
edit
dl
rm
test_cli20.py
31706
0644
edit
dl
rm
test_cli20.pyc
29553
0644
edit
dl
rm
test_cli20_address_scope.py
6024
0644
edit
dl
rm
test_cli20_address_scope.pyc
6576
0644
edit
dl
rm
test_cli20_agents.py
3052
0644
edit
dl
rm
test_cli20_agents.pyc
3543
0644
edit
dl
rm
test_cli20_agentschedulers.py
8631
0644
edit
dl
rm
test_cli20_agentschedulers.pyc
10044
0644
edit
dl
rm
test_cli20_credential.py
3301
0644
edit
dl
rm
test_cli20_credential.pyc
3684
0644
edit
dl
rm
test_cli20_extensions.py
1945
0644
edit
dl
rm
test_cli20_extensions.pyc
1834
0644
edit
dl
rm
test_cli20_floatingips.py
6258
0755
edit
dl
rm
test_cli20_floatingips.pyc
6875
0644
edit
dl
rm
test_cli20_metering.py
3974
0644
edit
dl
rm
test_cli20_metering.pyc
4670
0644
edit
dl
rm
test_cli20_network.py
26443
0644
edit
dl
rm
test_cli20_network.pyc
27226
0644
edit
dl
rm
test_cli20_networkprofile.py
6186
0644
edit
dl
rm
test_cli20_networkprofile.pyc
6011
0644
edit
dl
rm
test_cli20_nsx_networkgateway.py
11974
0644
edit
dl
rm
test_cli20_nsx_networkgateway.pyc
12566
0644
edit
dl
rm
test_cli20_nsx_queue.py
3124
0755
edit
dl
rm
test_cli20_nsx_queue.pyc
3714
0644
edit
dl
rm
test_cli20_nuage_netpartition.py
2252
0644
edit
dl
rm
test_cli20_nuage_netpartition.pyc
2732
0644
edit
dl
rm
test_cli20_policyprofile.py
3299
0644
edit
dl
rm
test_cli20_policyprofile.pyc
3305
0644
edit
dl
rm
test_cli20_port.py
26748
0644
edit
dl
rm
test_cli20_port.pyc
25239
0644
edit
dl
rm
test_cli20_rbac.py
5239
0644
edit
dl
rm
test_cli20_rbac.pyc
5633
0644
edit
dl
rm
test_cli20_router.py
14364
0644
edit
dl
rm
test_cli20_router.pyc
15580
0644
edit
dl
rm
test_cli20_securitygroup.py
27847
0755
edit
dl
rm
test_cli20_securitygroup.pyc
27420
0644
edit
dl
rm
test_cli20_servicetype.py
2268
0644
edit
dl
rm
test_cli20_servicetype.pyc
2768
0644
edit
dl
rm
test_cli20_subnet.py
30402
0644
edit
dl
rm
test_cli20_subnet.pyc
28179
0644
edit
dl
rm
test_cli20_subnetpool.py
7603
0644
edit
dl
rm
test_cli20_subnetpool.pyc
8094
0644
edit
dl
rm
test_client_extension.py
9253
0644
edit
dl
rm
test_client_extension.pyc
12179
0644
edit
dl
rm
test_command_meta.py
1496
0644
edit
dl
rm
test_command_meta.pyc
1848
0644
edit
dl
rm
test_http.py
4261
0644
edit
dl
rm
test_http.pyc
6393
0644
edit
dl
rm
test_name_or_id.py
8241
0644
edit
dl
rm
test_name_or_id.pyc
7399
0644
edit
dl
rm
test_quota.py
1680
0755
edit
dl
rm
test_quota.pyc
1951
0644
edit
dl
rm
test_shell.py
20714
0644
edit
dl
rm
test_shell.pyc
18083
0644
edit
dl
rm
test_ssl.py
6303
0644
edit
dl
rm
test_ssl.pyc
5229
0644
edit
dl
rm
test_utils.py
4368
0644
edit
dl
rm
test_utils.pyc
7650
0644
edit
dl
rm
test_validators.py
4101
0644
edit
dl
rm
test_validators.pyc
4238
0644
edit
dl
rm
__init__.py
0
0644
edit
dl
rm
__init__.pyc
166
0644
edit
dl
rm
Edit:
/usr/lib/python2.6/site-packages/neutronclient/tests/unit/test_cli20_subnet.py
(30402B)
# Copyright 2012 OpenStack Foundation. # 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. # import sys from mox3 import mox from neutronclient.common import exceptions from neutronclient.neutron import v2_0 as neutronV20 from neutronclient.neutron.v2_0 import subnet from neutronclient.tests.unit import test_cli20 class CLITestV20SubnetJSON(test_cli20.CLITestV20Base): def setUp(self): super(CLITestV20SubnetJSON, self).setUp(plurals={'tags': 'tag'}) def test_create_subnet(self): """Create subnet: --gateway gateway netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = '10.10.10.0/24' gateway = 'gatewayvalue' args = ['--gateway', gateway, netid, cidr] position_names = ['ip_version', 'network_id', 'cidr', 'gateway_ip'] position_values = [4, netid, cidr, gateway] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values) def test_create_subnet_network_cidr_seperated(self): # For positional value, network_id and cidr can be separated. """Create subnet: --gateway gateway netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = '10.10.10.0/24' gateway = 'gatewayvalue' args = [netid, '--gateway', gateway, cidr] position_names = ['ip_version', 'network_id', 'cidr', 'gateway_ip'] position_values = [4, netid, cidr, gateway] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values) def test_create_subnet_with_no_gateway(self): """Create subnet: --no-gateway netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'cidrvalue' args = ['--no-gateway', netid, cidr] position_names = ['ip_version', 'network_id', 'cidr', 'gateway_ip'] position_values = [4, netid, cidr, None] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values) def test_create_subnet_with_bad_gateway_option(self): """Create sbunet: --no-gateway netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'cidrvalue' gateway = 'gatewayvalue' args = ['--gateway', gateway, '--no-gateway', netid, cidr] position_names = ['ip_version', 'network_id', 'cidr', 'gateway_ip'] position_values = [4, netid, cidr, None] self.assertRaises( SystemExit, self._test_create_resource, resource, cmd, name, myid, args, position_names, position_values) def _test_create_resource_and_catch_command_error(self, should_fail, *args): if should_fail: params = {'no_api_call': True, 'expected_exception': exceptions.CommandError} else: params = {} self._test_create_resource(*args, **params) def test_create_subnet_with_enable_and_disable_dhcp(self): """Create subnet: --enable-dhcp and --disable-dhcp.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'cidrvalue' position_names = ['ip_version', 'network_id', 'cidr', 'enable_dhcp'] # enable_dhcp value is appended later inside the loop position_values = [4, netid, cidr] for enable_dhcp_arg, should_fail in ( ('--enable-dhcp=False', False), ('--enable-dhcp=True', True), ('--enable-dhcp', True) ): tested_args = [enable_dhcp_arg, '--disable-dhcp'] args = tested_args + [netid, cidr] pos_values = position_values + [should_fail] self._test_create_resource_and_catch_command_error( should_fail, resource, cmd, name, myid, args, position_names, pos_values) def test_create_subnet_with_multiple_enable_dhcp(self): """Create subnet with multiple --enable-dhcp arguments passed.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'cidrvalue' position_names = ['ip_version', 'network_id', 'cidr', 'enable_dhcp'] # enable_dhcp value is appended later inside the loop position_values = [4, netid, cidr] _ = 'UNUSED_MARKER' for tested_args, should_fail, pos_value in ( (['--enable-dhcp', '--enable-dhcp=True'], False, True), (['--enable-dhcp', '--enable-dhcp=False'], True, _), (['--enable-dhcp=False', '--enable-dhcp'], True, _), (['--enable-dhcp=True', '--enable-dhcp=False'], True, _), (['--enable-dhcp=False', '--enable-dhcp=True'], True, _) ): args = tested_args + [netid, cidr] pos_values = position_values + [pos_value] self._test_create_resource_and_catch_command_error( should_fail, resource, cmd, name, myid, args, position_names, pos_values) def test_create_subnet_tenant(self): """Create subnet: --tenant_id tenantid netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', netid, cidr] position_names = ['ip_version', 'network_id', 'cidr'] position_values = [4, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_tags(self): """Create subnet: netid cidr --tags a b.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = [netid, cidr, '--tags', 'a', 'b'] position_names = ['ip_version', 'network_id', 'cidr'] position_values = [4, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tags=['a', 'b']) def test_create_subnet_allocation_pool(self): """Create subnet: --tenant_id tenantid <allocation_pool> netid cidr. The <allocation_pool> is --allocation_pool start=1.1.1.10,end=1.1.1.20 """ resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--allocation_pool', 'start=1.1.1.10,end=1.1.1.20', netid, cidr] position_names = ['ip_version', 'allocation_pools', 'network_id', 'cidr'] pool = [{'start': '1.1.1.10', 'end': '1.1.1.20'}] position_values = [4, pool, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_allocation_pools(self): """Create subnet: --tenant-id tenantid <pools> netid cidr. The <pools> are --allocation_pool start=1.1.1.10,end=1.1.1.20 and --allocation_pool start=1.1.1.30,end=1.1.1.40 """ resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--allocation_pool', 'start=1.1.1.10,end=1.1.1.20', '--allocation_pool', 'start=1.1.1.30,end=1.1.1.40', netid, cidr] position_names = ['ip_version', 'allocation_pools', 'network_id', 'cidr'] pools = [{'start': '1.1.1.10', 'end': '1.1.1.20'}, {'start': '1.1.1.30', 'end': '1.1.1.40'}] position_values = [4, pools, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_host_route(self): """Create subnet: --tenant_id tenantid <host_route> netid cidr. The <host_route> is --host-route destination=172.16.1.0/24,nexthop=1.1.1.20 """ resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--host-route', 'destination=172.16.1.0/24,nexthop=1.1.1.20', netid, cidr] position_names = ['ip_version', 'host_routes', 'network_id', 'cidr'] route = [{'destination': '172.16.1.0/24', 'nexthop': '1.1.1.20'}] position_values = [4, route, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_host_routes(self): """Create subnet: --tenant-id tenantid <host_routes> netid cidr. The <host_routes> are --host-route destination=172.16.1.0/24,nexthop=1.1.1.20 and --host-route destination=172.17.7.0/24,nexthop=1.1.1.40 """ resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--host-route', 'destination=172.16.1.0/24,nexthop=1.1.1.20', '--host-route', 'destination=172.17.7.0/24,nexthop=1.1.1.40', netid, cidr] position_names = ['ip_version', 'host_routes', 'network_id', 'cidr'] routes = [{'destination': '172.16.1.0/24', 'nexthop': '1.1.1.20'}, {'destination': '172.17.7.0/24', 'nexthop': '1.1.1.40'}] position_values = [4, routes, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_dns_nameservers(self): """Create subnet: --tenant-id tenantid <dns-nameservers> netid cidr. The <dns-nameservers> are --dns-nameserver 1.1.1.20 and --dns-nameserver 1.1.1.40 """ resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--dns-nameserver', '1.1.1.20', '--dns-nameserver', '1.1.1.40', netid, cidr] position_names = ['ip_version', 'dns_nameservers', 'network_id', 'cidr'] nameservers = ['1.1.1.20', '1.1.1.40'] position_values = [4, nameservers, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_with_disable_dhcp(self): """Create subnet: --tenant-id tenantid --disable-dhcp netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--disable-dhcp', netid, cidr] position_names = ['ip_version', 'enable_dhcp', 'network_id', 'cidr'] position_values = [4, False, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_merge_single_plurar(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--allocation-pool', 'start=1.1.1.10,end=1.1.1.20', netid, cidr, '--allocation-pools', 'list=true', 'type=dict', 'start=1.1.1.30,end=1.1.1.40'] position_names = ['ip_version', 'allocation_pools', 'network_id', 'cidr'] pools = [{'start': '1.1.1.10', 'end': '1.1.1.20'}, {'start': '1.1.1.30', 'end': '1.1.1.40'}] position_values = [4, pools, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_merge_plurar(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', netid, cidr, '--allocation-pools', 'list=true', 'type=dict', 'start=1.1.1.30,end=1.1.1.40'] position_names = ['ip_version', 'allocation_pools', 'network_id', 'cidr'] pools = [{'start': '1.1.1.30', 'end': '1.1.1.40'}] position_values = [4, pools, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_merge_single_single(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--allocation-pool', 'start=1.1.1.10,end=1.1.1.20', netid, cidr, '--allocation-pool', 'start=1.1.1.30,end=1.1.1.40'] position_names = ['ip_version', 'allocation_pools', 'network_id', 'cidr'] pools = [{'start': '1.1.1.10', 'end': '1.1.1.20'}, {'start': '1.1.1.30', 'end': '1.1.1.40'}] position_values = [4, pools, netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_max_v4_cidr(self): """Create subnet: --gateway gateway netid cidr.""" resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = '192.168.0.1/32' gateway = 'gatewayvalue' args = ['--gateway', gateway, netid, cidr] position_names = ['ip_version', 'network_id', 'cidr', 'gateway_ip'] position_values = [4, netid, cidr, gateway] self.mox.StubOutWithMock(cmd.log, 'warning') cmd.log.warning(mox.IgnoreArg()) self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values) self.mox.VerifyAll() self.mox.UnsetStubs() def test_create_subnet_with_ipv6_ra_mode(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--ip-version', '6', '--ipv6-ra-mode', 'dhcpv6-stateful', netid, cidr] position_names = ['ip_version', 'ipv6_ra_mode', 'network_id', 'cidr'] position_values = [6, 'dhcpv6-stateful', netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_with_ipv6_address_mode(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--ip-version', '6', '--ipv6-address-mode', 'dhcpv6-stateful', netid, cidr] position_names = ['ip_version', 'ipv6_address_mode', 'network_id', 'cidr'] position_values = [6, 'dhcpv6-stateful', netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_with_ipv6_modes(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--ip-version', '6', '--ipv6-address-mode', 'slaac', '--ipv6-ra-mode', 'slaac', netid, cidr] position_names = ['ip_version', 'ipv6_address_mode', 'ipv6_ra_mode', 'network_id', 'cidr'] position_values = [6, 'slaac', 'slaac', netid, cidr] self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_with_ipv6_ra_mode_ipv4(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--ip-version', '4', '--ipv6-ra-mode', 'slaac', netid, cidr] position_names = ['ip_version', 'ipv6_ra_mode', 'network_id', 'cidr'] position_values = [4, None, netid, cidr] self._test_create_resource( resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid', no_api_call=True, expected_exception=exceptions.CommandError) def test_create_subnet_with_ipv6_address_mode_ipv4(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'prefixvalue' args = ['--tenant_id', 'tenantid', '--ip-version', '4', '--ipv6-address-mode', 'slaac', netid, cidr] position_names = ['ip_version', 'ipv6_address_mode', 'network_id', 'cidr'] position_values = [4, None, netid, cidr] self._test_create_resource( resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid', no_api_call=True, expected_exception=exceptions.CommandError) def test_create_subnet_with_subnetpool_ipv6_and_ip_ver_ignored(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' args = ['--tenant_id', 'tenantid', '--ip-version', '4', '--subnetpool', 'subnetpool_id', netid] position_names = ['ip_version', 'network_id', 'subnetpool_id'] position_values = [6, netid, 'subnetpool_id'] self.mox.StubOutWithMock(neutronV20, 'find_resource_by_name_or_id') neutronV20.find_resource_by_name_or_id( self.client, 'subnetpool', 'subnetpool_id').AndReturn({'id': 'subnetpool_id', 'ip_version': 6}) self._test_create_resource( resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid') def test_create_subnet_with_subnetpool_ipv4_with_cidr_wildcard(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' cidr = 'cidrwildcard' args = ['--tenant_id', 'tenantid', '--ip-version', '4', '--ipv6-address-mode', 'slaac', '--subnetpool', 'subnetpool_id', netid, cidr] position_names = ['ip_version', 'ipv6_address_mode', 'network_id', 'subnetpool_id', 'cidr'] position_values = [4, None, netid, 'subnetpool_id', cidr] self.mox.StubOutWithMock(neutronV20, 'find_resource_by_name_or_id') neutronV20.find_resource_by_name_or_id( self.client, 'subnetpool', 'subnetpool_id').AndReturn({'id': 'subnetpool_id', 'ip_version': 4}) self._test_create_resource( resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid', no_api_call=True, expected_exception=exceptions.CommandError) def test_create_subnet_with_subnetpool_ipv4_with_prefixlen(self): resource = 'subnet' cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None) name = 'myname' myid = 'myid' netid = 'netid' args = ['--tenant_id', 'tenantid', '--ip-version', '4', '--ipv6-address-mode', 'slaac', '--subnetpool', 'subnetpool_id', '--prefixlen', '31', netid] position_names = ['ip_version', 'ipv6_address_mode', 'network_id', 'subnetpool_id'] position_values = [4, None, netid, 'subnetpool_id'] self.mox.StubOutWithMock(neutronV20, 'find_resource_by_name_or_id') neutronV20.find_resource_by_name_or_id( self.client, 'subnetpool', 'subnetpool_id').AndReturn({'id': 'subnetpool_id', 'ip_version': 4}) self._test_create_resource( resource, cmd, name, myid, args, position_names, position_values, tenant_id='tenantid', no_api_call=True, expected_exception=exceptions.CommandError) def test_list_subnets_detail(self): """List subnets: -D.""" resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, True) def test_list_subnets_tags(self): """List subnets: -- --tags a b.""" resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, tags=['a', 'b']) def test_list_subnets_known_option_after_unknown(self): """List subnets: -- --tags a b --request-format xml.""" resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, tags=['a', 'b']) def test_list_subnets_detail_tags(self): """List subnets: -D -- --tags a b.""" resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, detail=True, tags=['a', 'b']) def test_list_subnets_fields(self): """List subnets: --fields a --fields b -- --fields c d.""" resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, fields_1=['a', 'b'], fields_2=['c', 'd']) def test_list_subnets_pagination(self): resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources_with_pagination(resources, cmd) def test_list_subnets_sort(self): """List subnets: --sort-key name --sort-key id --sort-key asc --sort-key desc """ resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, sort_key=["name", "id"], sort_dir=["asc", "desc"]) def test_list_subnets_limit(self): """List subnets: -P.""" resources = "subnets" cmd = subnet.ListSubnet(test_cli20.MyApp(sys.stdout), None) self._test_list_resources(resources, cmd, page_size=1000) def test_update_subnet(self): """Update subnet: myid --name myname --tags a b.""" resource = 'subnet' cmd = subnet.UpdateSubnet(test_cli20.MyApp(sys.stdout), None) self._test_update_resource(resource, cmd, 'myid', ['myid', '--name', 'myname', '--tags', 'a', 'b'], {'name': 'myname', 'tags': ['a', 'b'], } ) def test_update_subnet_known_option_before_id(self): """Update subnet: --request-format json myid --name myname.""" # --request-format xml is known option resource = 'subnet' cmd = subnet.UpdateSubnet(test_cli20.MyApp(sys.stdout), None) self._test_update_resource(resource, cmd, 'myid', ['--request-format', 'json', 'myid', '--name', 'myname'], {'name': 'myname', } ) def test_update_subnet_known_option_after_id(self): """Update subnet: myid --name myname --request-format json.""" # --request-format xml is known option resource = 'subnet' cmd = subnet.UpdateSubnet(test_cli20.MyApp(sys.stdout), None) self._test_update_resource(resource, cmd, 'myid', ['myid', '--name', 'myname', '--request-format', 'json'], {'name': 'myname', } ) def test_update_subnet_allocation_pools(self): """Update subnet: myid --name myname --tags a b.""" resource = 'subnet' cmd = subnet.UpdateSubnet(test_cli20.MyApp(sys.stdout), None) self._test_update_resource(resource, cmd, 'myid', ['myid', '--allocation-pool', 'start=1.2.0.2,end=1.2.0.127', '--request-format', 'json'], {'allocation_pools': [{'start': '1.2.0.2', 'end': '1.2.0.127'}]} ) def test_update_subnet_enable_disable_dhcp(self): """Update sbunet: --enable-dhcp and --disable-dhcp.""" resource = 'subnet' cmd = subnet.UpdateSubnet(test_cli20.MyApp(sys.stdout), None) try: self._test_update_resource(resource, cmd, 'myid', ['myid', '--name', 'myname', '--enable-dhcp', '--disable-dhcp'], {'name': 'myname', } ) except exceptions.CommandError: return self.fail('No exception for --enable-dhcp --disable-dhcp option') def test_show_subnet(self): """Show subnet: --fields id --fields name myid.""" resource = 'subnet' cmd = subnet.ShowSubnet(test_cli20.MyApp(sys.stdout), None) args = ['--fields', 'id', '--fields', 'name', self.test_id] self._test_show_resource(resource, cmd, self.test_id, args, ['id', 'name']) def test_delete_subnet(self): """Delete subnet: subnetid.""" resource = 'subnet' cmd = subnet.DeleteSubnet(test_cli20.MyApp(sys.stdout), None) myid = 'myid' args = [myid] self._test_delete_resource(resource, cmd, myid, args) class CLITestV20SubnetXML(CLITestV20SubnetJSON): format = 'xml'
Save
cmd:
run