
Imports python-neutornclient whose changeset is as follows > commit 1bce6e437e2dd1fa5de6fc2ccdd0ee8ac3f44d18 > Merge: 9c77675 cbdd56d > Author: Jenkins <jenkins@review.openstack.org> > Date: Sat Jun 14 04:46:39 2014 +0000 > > Merge "Add OverQuotaClient as exception to neutronclient" Change-Id: I596915c60d349eb5afbc3de245f580f2dd37e270
308 lines
12 KiB
Python
308 lines
12 KiB
Python
# (c) Copyright 2013 Hewlett-Packard Development Company, L.P.
|
|
# 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.
|
|
#
|
|
# @author: Swaminathan Vasudevan, Hewlett Packard.
|
|
|
|
import sys
|
|
|
|
from neutronclient.common import exceptions
|
|
from neutronclient.neutron.v2_0.vpn import ipsec_site_connection
|
|
from neutronclient.tests.unit import test_cli20
|
|
|
|
|
|
class CLITestV20IPsecSiteConnectionJSON(test_cli20.CLITestV20Base):
|
|
|
|
def test_create_ipsec_site_connection_all_params(self):
|
|
"""ipsecsite-connection-create all params."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.CreateIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
tenant_id = 'mytenant_id'
|
|
name = 'connection1'
|
|
my_id = 'my_id'
|
|
peer_address = '192.168.2.10'
|
|
peer_id = '192.168.2.10'
|
|
psk = 'abcd'
|
|
mtu = '1500'
|
|
initiator = 'bi-directional'
|
|
vpnservice_id = 'vpnservice_id'
|
|
ikepolicy_id = 'ikepolicy_id'
|
|
ipsecpolicy_id = 'ipsecpolicy_id'
|
|
peer_cidrs = ['192.168.3.0/24', '192.168.2.0/24']
|
|
admin_state = True
|
|
description = 'my-vpn-connection'
|
|
dpd = 'action=restart,interval=30,timeout=120'
|
|
|
|
args = ['--tenant-id', tenant_id,
|
|
'--peer-address', peer_address, '--peer-id', peer_id,
|
|
'--psk', psk, '--initiator', initiator,
|
|
'--vpnservice-id', vpnservice_id,
|
|
'--ikepolicy-id', ikepolicy_id, '--name', name,
|
|
'--ipsecpolicy-id', ipsecpolicy_id, '--mtu', mtu,
|
|
'--description', description,
|
|
'--peer-cidr', '192.168.3.0/24',
|
|
'--peer-cidr', '192.168.2.0/24',
|
|
'--dpd', dpd]
|
|
|
|
position_names = ['name', 'tenant_id', 'admin_state_up',
|
|
'peer_address', 'peer_id', 'peer_cidrs',
|
|
'psk', 'mtu', 'initiator', 'description',
|
|
'vpnservice_id', 'ikepolicy_id',
|
|
'ipsecpolicy_id']
|
|
|
|
position_values = [name, tenant_id, admin_state, peer_address,
|
|
peer_id, peer_cidrs, psk, mtu,
|
|
initiator, description,
|
|
vpnservice_id, ikepolicy_id, ipsecpolicy_id]
|
|
extra_body = {
|
|
'dpd': {
|
|
'action': 'restart',
|
|
'interval': 30,
|
|
'timeout': 120,
|
|
},
|
|
}
|
|
|
|
self._test_create_resource(resource, cmd, name, my_id, args,
|
|
position_names, position_values,
|
|
extra_body=extra_body)
|
|
|
|
def test_create_ipsec_site_connection_with_limited_params(self):
|
|
"""ipsecsite-connection-create with limited params."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.CreateIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
tenant_id = 'mytenant_id'
|
|
my_id = 'my_id'
|
|
peer_address = '192.168.2.10'
|
|
peer_id = '192.168.2.10'
|
|
psk = 'abcd'
|
|
mtu = '1500'
|
|
initiator = 'bi-directional'
|
|
vpnservice_id = 'vpnservice_id'
|
|
ikepolicy_id = 'ikepolicy_id'
|
|
ipsecpolicy_id = 'ipsecpolicy_id'
|
|
peer_cidrs = ['192.168.3.0/24', '192.168.2.0/24']
|
|
admin_state = True
|
|
|
|
args = ['--tenant-id', tenant_id,
|
|
'--peer-address', peer_address,
|
|
'--peer-id', peer_id,
|
|
'--psk', psk,
|
|
'--vpnservice-id', vpnservice_id,
|
|
'--ikepolicy-id', ikepolicy_id,
|
|
'--ipsecpolicy-id', ipsecpolicy_id,
|
|
'--peer-cidr', '192.168.3.0/24',
|
|
'--peer-cidr', '192.168.2.0/24']
|
|
|
|
position_names = ['tenant_id', 'admin_state_up',
|
|
'peer_address', 'peer_id', 'peer_cidrs',
|
|
'psk', 'mtu', 'initiator',
|
|
'vpnservice_id', 'ikepolicy_id',
|
|
'ipsecpolicy_id']
|
|
|
|
position_values = [tenant_id, admin_state, peer_address,
|
|
peer_id, peer_cidrs, psk, mtu,
|
|
initiator,
|
|
vpnservice_id, ikepolicy_id, ipsecpolicy_id]
|
|
|
|
self._test_create_resource(resource, cmd, None, my_id, args,
|
|
position_names, position_values)
|
|
|
|
def _test_dpd_values(self, dpd):
|
|
"""ipsecsite-connection-create with invalid dpd values."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.CreateIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
tenant_id = 'mytenant_id'
|
|
name = 'connection1'
|
|
my_id = 'my_id'
|
|
peer_address = '192.168.2.10'
|
|
peer_id = '192.168.2.10'
|
|
psk = 'abcd'
|
|
mtu = '1500'
|
|
initiator = 'bi-directional'
|
|
vpnservice_id = 'vpnservice_id'
|
|
ikepolicy_id = 'ikepolicy_id'
|
|
ipsecpolicy_id = 'ipsecpolicy_id'
|
|
peer_cidrs = ['192.168.3.0/24', '192.168.2.0/24']
|
|
admin_state = True
|
|
description = 'my-vpn-connection'
|
|
|
|
args = ['--tenant-id', tenant_id,
|
|
'--peer-address', peer_address, '--peer-id', peer_id,
|
|
'--psk', psk, '--initiator', initiator,
|
|
'--vpnservice-id', vpnservice_id,
|
|
'--ikepolicy-id', ikepolicy_id, '--name', name,
|
|
'--ipsecpolicy-id', ipsecpolicy_id, '--mtu', mtu,
|
|
'--description', description,
|
|
'--peer-cidr', '192.168.3.0/24',
|
|
'--peer-cidr', '192.168.2.0/24',
|
|
'--dpd', dpd]
|
|
|
|
position_names = ['name', 'tenant_id', 'admin_state_up',
|
|
'peer_address', 'peer_id', 'peer_cidrs',
|
|
'psk', 'mtu', 'initiator', 'description',
|
|
'vpnservice_id', 'ikepolicy_id',
|
|
'ipsecpolicy_id']
|
|
|
|
position_values = [name, tenant_id, admin_state, peer_address,
|
|
peer_id, peer_cidrs, psk, mtu,
|
|
initiator, description,
|
|
vpnservice_id, ikepolicy_id, ipsecpolicy_id]
|
|
self.assertRaises(
|
|
exceptions.CommandError,
|
|
self._test_create_resource,
|
|
resource, cmd, name, my_id, args,
|
|
position_names, position_values)
|
|
|
|
def test_invalid_mtu(self):
|
|
"""ipsecsite-connection-create with invalid dpd values."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.CreateIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
tenant_id = 'mytenant_id'
|
|
name = 'connection1'
|
|
my_id = 'my_id'
|
|
peer_address = '192.168.2.10'
|
|
peer_id = '192.168.2.10'
|
|
psk = 'abcd'
|
|
mtu = '67'
|
|
initiator = 'bi-directional'
|
|
vpnservice_id = 'vpnservice_id'
|
|
ikepolicy_id = 'ikepolicy_id'
|
|
ipsecpolicy_id = 'ipsecpolicy_id'
|
|
peer_cidrs = ['192.168.3.0/24', '192.168.2.0/24']
|
|
admin_state = True
|
|
description = 'my-vpn-connection'
|
|
|
|
args = ['--tenant-id', tenant_id,
|
|
'--peer-address', peer_address, '--peer-id', peer_id,
|
|
'--psk', psk, '--initiator', initiator,
|
|
'--vpnservice-id', vpnservice_id,
|
|
'--ikepolicy-id', ikepolicy_id, '--name', name,
|
|
'--ipsecpolicy-id', ipsecpolicy_id, '--mtu', mtu,
|
|
'--description', description,
|
|
'--peer-cidr', '192.168.3.0/24',
|
|
'--peer-cidr', '192.168.2.0/24']
|
|
|
|
position_names = ['name', 'tenant_id', 'admin_state_up',
|
|
'peer_address', 'peer_id', 'peer_cidrs',
|
|
'psk', 'mtu', 'initiator', 'description',
|
|
'vpnservice_id', 'ikepolicy_id',
|
|
'ipsecpolicy_id']
|
|
|
|
position_values = [name, tenant_id, admin_state, peer_address,
|
|
peer_id, peer_cidrs, psk, mtu,
|
|
initiator, description,
|
|
vpnservice_id, ikepolicy_id, ipsecpolicy_id]
|
|
self.assertRaises(
|
|
exceptions.CommandError,
|
|
self._test_create_resource,
|
|
resource, cmd, name, my_id, args,
|
|
position_names, position_values)
|
|
|
|
def test_create_ipsec_site_connection_with_invalid_dpd_keys(self):
|
|
dpd = 'act=restart,interval=30,time=120'
|
|
self._test_dpd_values(dpd)
|
|
|
|
def test_create_ipsec_site_connection_with_invalid_dpd_values(self):
|
|
dpd = 'action=hold,interval=30,timeout=-1'
|
|
self._test_dpd_values(dpd)
|
|
|
|
def test_list_ipsec_site_connection(self):
|
|
"""ipsecsite-connection-list."""
|
|
resources = "ipsec_site_connections"
|
|
cmd = ipsec_site_connection.ListIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
self._test_list_resources(resources, cmd, True)
|
|
|
|
def test_list_ipsec_site_connection_pagination(self):
|
|
"""ipsecsite-connection-list."""
|
|
resources = "ipsec_site_connections"
|
|
cmd = ipsec_site_connection.ListIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
self._test_list_resources_with_pagination(resources, cmd)
|
|
|
|
def test_list_ipsec_site_connection_sort(self):
|
|
"""ipsecsite-connection-list.
|
|
--sort-key name --sort-key id --sort-key asc --sort-key desc
|
|
"""
|
|
resources = "ipsec_site_connections"
|
|
cmd = ipsec_site_connection.ListIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
self._test_list_resources(resources, cmd,
|
|
sort_key=["name", "id"],
|
|
sort_dir=["asc", "desc"])
|
|
|
|
def test_list_ipsec_site_connection_limit(self):
|
|
"""ipsecsite-connection-list -P."""
|
|
resources = "ipsec_site_connections"
|
|
cmd = ipsec_site_connection.ListIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
self._test_list_resources(resources, cmd, page_size=1000)
|
|
|
|
def test_delete_ipsec_site_connection(self):
|
|
"""ipsecsite-connection-delete my-id."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.DeleteIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
my_id = 'my-id'
|
|
args = [my_id]
|
|
self._test_delete_resource(resource, cmd, my_id, args)
|
|
|
|
def test_update_ipsec_site_connection(self):
|
|
"""ipsecsite-connection-update myid --name myname --tags a b."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.UpdateIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
self._test_update_resource(resource, cmd, 'myid',
|
|
['myid', '--name', 'Branch-new',
|
|
'--tags', 'a', 'b'],
|
|
{'name': 'Branch-new',
|
|
'tags': ['a', 'b'], })
|
|
|
|
def test_show_ipsec_site_connection_id(self):
|
|
"""ipsecsite-connection-show test_id."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.ShowIPsecSiteConnection(
|
|
test_cli20.MyApp(sys.stdout), None
|
|
)
|
|
args = ['--fields', 'id', self.test_id]
|
|
self._test_show_resource(resource, cmd, self.test_id, args, ['id'])
|
|
|
|
def test_show_ipsec_site_connection_id_name(self):
|
|
"""ipsecsite-connection-show."""
|
|
resource = 'ipsec_site_connection'
|
|
cmd = ipsec_site_connection.ShowIPsecSiteConnection(
|
|
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'])
|
|
|
|
|
|
class CLITestV20IPsecSiteConnectionXML(CLITestV20IPsecSiteConnectionJSON):
|
|
format = 'xml'
|