Fix for excluding gbpservice/tests/contrib/nfp_service/ from UTs
Excluding the gbpservice/tests/contrib/nfp_service/ from python27 tests by moving out the directory permanently to gbpservice/contrib/. Fixed file path references in few files as part of this. Enabled whole gbpservice tests instead of just gbpservice/neutron in .testr.conf. Fixed FW and VPN driver UTs as part of this. Fixed pep8 warnings in reference controller. As part of this, added oslo.i18n installation to nfp reference configurator vm, and used gbpservice._i18n.py for i18n in logs. Fix to mock rmq connection in the advanced controller unit tests Change-Id: I4743e44f86e78b7d19ccd824a7c65195f12f856d Closes-Bug: 1684076
This commit is contained in:
parent
ebd8bcce5a
commit
7db0f27231
@ -2,7 +2,6 @@
|
|||||||
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
|
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
|
||||||
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
|
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
|
||||||
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-120} \
|
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-120} \
|
||||||
# Temporarily exclude gbpservice/neutron contrib tests until nfp tests pass
|
${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./gbpservice} $LISTOPT $IDOPTION
|
||||||
${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./gbpservice/neutron} $LISTOPT $IDOPTION
|
|
||||||
test_id_option=--load-list $IDFILE
|
test_id_option=--load-list $IDFILE
|
||||||
test_list_option=--list
|
test_list_option=--list
|
||||||
|
@ -81,12 +81,14 @@ def dib():
|
|||||||
# element for creating configurator image
|
# element for creating configurator image
|
||||||
if 'nfp-reference-configurator' in dib['elements']:
|
if 'nfp-reference-configurator' in dib['elements']:
|
||||||
image_name = 'nfp_reference_service'
|
image_name = 'nfp_reference_service'
|
||||||
service_dir = "%s/../../../../tests/contrib/nfp_service/" % cur_dir
|
service_dir = "%s/../../../../contrib/nfp_service/" % cur_dir
|
||||||
service_dir = os.path.realpath(service_dir)
|
service_dir = os.path.realpath(service_dir)
|
||||||
pecan_dir = "%s/../../../../nfp/" % cur_dir
|
pecan_dir = "%s/../../../../nfp/" % cur_dir
|
||||||
pecan_dir = os.path.realpath(pecan_dir)
|
pecan_dir = os.path.realpath(pecan_dir)
|
||||||
|
gbpservice_i18n_file = "%s/../../../../_i18n.py" % cur_dir
|
||||||
os.environ['PECAN_GIT_PATH'] = pecan_dir
|
os.environ['PECAN_GIT_PATH'] = pecan_dir
|
||||||
os.environ['SERVICE_GIT_PATH'] = service_dir
|
os.environ['SERVICE_GIT_PATH'] = service_dir
|
||||||
|
os.environ['GBPSERVICE_I18N_FILE'] = gbpservice_i18n_file
|
||||||
if 'devuser' in dib['elements']:
|
if 'devuser' in dib['elements']:
|
||||||
os.environ['DIB_DEV_USER_USERNAME'] = 'ubuntu'
|
os.environ['DIB_DEV_USER_USERNAME'] = 'ubuntu'
|
||||||
os.environ['DIB_DEV_USER_SHELL'] = '/bin/bash'
|
os.environ['DIB_DEV_USER_SHELL'] = '/bin/bash'
|
||||||
|
@ -4,6 +4,7 @@ set -eu
|
|||||||
# copy the reference_configurator and pecan folders to VM at /root/
|
# copy the reference_configurator and pecan folders to VM at /root/
|
||||||
cp -rL ${SERVICE_GIT_PATH}/reference_configurator ${TMP_MOUNT_PATH}/root/
|
cp -rL ${SERVICE_GIT_PATH}/reference_configurator ${TMP_MOUNT_PATH}/root/
|
||||||
cp -rL ${PECAN_GIT_PATH}/pecan ${TMP_MOUNT_PATH}/root/
|
cp -rL ${PECAN_GIT_PATH}/pecan ${TMP_MOUNT_PATH}/root/
|
||||||
|
cp -rL ${GBPSERVICE_I18N_FILE} ${TMP_MOUNT_PATH}/root/
|
||||||
|
|
||||||
ls -lR ${TMP_MOUNT_PATH}/root/
|
ls -lR ${TMP_MOUNT_PATH}/root/
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ set -eu
|
|||||||
|
|
||||||
cd /usr/local/lib/python2.7/dist-packages/
|
cd /usr/local/lib/python2.7/dist-packages/
|
||||||
|
|
||||||
service_path='gbpservice/tests/contrib/nfp_service'
|
service_path='gbpservice/contrib/nfp_service'
|
||||||
pecan_path='gbpservice/nfp'
|
pecan_path='gbpservice/nfp'
|
||||||
mkdir -p $service_path
|
mkdir -p $service_path
|
||||||
mkdir -p $pecan_path
|
mkdir -p $pecan_path
|
||||||
@ -14,6 +14,7 @@ mkdir -p $pecan_path
|
|||||||
find gbpservice/ -type d -exec touch {}/__init__.py \;
|
find gbpservice/ -type d -exec touch {}/__init__.py \;
|
||||||
mv /root/reference_configurator $service_path/
|
mv /root/reference_configurator $service_path/
|
||||||
mv /root/pecan $pecan_path/
|
mv /root/pecan $pecan_path/
|
||||||
|
mv /root/_i18n.py gbpservice/
|
||||||
|
|
||||||
cd $service_path
|
cd $service_path
|
||||||
PWD=`pwd`
|
PWD=`pwd`
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
apt-get install -y --force-yes python-pecan
|
apt-get install -y --force-yes python-pecan
|
||||||
apt-get install -y --force-yes oslo.serialization oslo.log python-yaml
|
apt-get install -y --force-yes oslo.serialization oslo.log oslo.i18n python-yaml
|
||||||
|
|
||||||
ls -lR /home/ubuntu/
|
ls -lR /home/ubuntu/
|
||||||
cd /usr/local/lib/python2.7/dist-packages/gbpservice/nfp/pecan/api && python setup.py develop
|
cd /usr/local/lib/python2.7/dist-packages/gbpservice/nfp/pecan/api && python setup.py develop
|
||||||
|
@ -5,7 +5,7 @@ After=network.target auditd.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=forking
|
||||||
Restart=always
|
Restart=always
|
||||||
ExecStart=/usr/local/lib/python2.7/dist-packages/gbpservice/tests/contrib/nfp_service/reference_configurator/bin/nfp-pecan
|
ExecStart=/usr/local/lib/python2.7/dist-packages/gbpservice/contrib/nfp_service/reference_configurator/bin/nfp-pecan
|
||||||
KillMode=process
|
KillMode=process
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
@ -10,26 +10,27 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
import netaddr
|
import netaddr
|
||||||
import netifaces
|
import netifaces
|
||||||
from oslo_log._i18n import _LE
|
|
||||||
from oslo_log._i18n import _LI
|
|
||||||
from oslo_log import log as logging
|
|
||||||
import oslo_serialization.jsonutils as jsonutils
|
|
||||||
import pecan
|
import pecan
|
||||||
from pecan import rest
|
from pecan import rest
|
||||||
|
import subprocess
|
||||||
import time
|
import time
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
from gbpservice._i18n import _LE
|
||||||
|
from gbpservice._i18n import _LI
|
||||||
|
|
||||||
|
from oslo_log import log as logging
|
||||||
|
import oslo_serialization.jsonutils as jsonutils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
SUCCESS = 'SUCCESS'
|
SUCCESS = 'SUCCESS'
|
||||||
FAILED = 'FAILED'
|
FAILED = 'FAILED'
|
||||||
|
|
||||||
notifications = []
|
notifications = []
|
||||||
FW_SCRIPT_PATH = ("/usr/local/lib/python2.7/dist-packages/" +
|
FW_SCRIPT_PATH = ("/usr/local/lib/python2.7/dist-packages/" +
|
||||||
"gbpservice/tests/contrib/nfp_service/" +
|
"gbpservice/contrib/nfp_service/" +
|
||||||
"reference_configurator/scripts/configure_fw_rules.py")
|
"reference_configurator/scripts/configure_fw_rules.py")
|
||||||
|
|
||||||
|
|
||||||
@ -199,8 +200,8 @@ class Controller(rest.RestController):
|
|||||||
try:
|
try:
|
||||||
source_interface = self._get_if_name_by_cidr(cidr)
|
source_interface = self._get_if_name_by_cidr(cidr)
|
||||||
except Exception:
|
except Exception:
|
||||||
raise Exception("Some of the interfaces do not have "
|
raise Exception(_("Some of the interfaces do not have "
|
||||||
"IP Address")
|
"IP Address"))
|
||||||
try:
|
try:
|
||||||
interface_number_string = source_interface.split("eth", 1)[1]
|
interface_number_string = source_interface.split("eth", 1)[1]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
@ -224,7 +225,7 @@ class Controller(rest.RestController):
|
|||||||
LOG.info(_LI("Static route configuration result: %(output)s"),
|
LOG.info(_LI("Static route configuration result: %(output)s"),
|
||||||
{'output': output})
|
{'output': output})
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
raise Exception("Failed to add static routes: %(ex)s" % {
|
raise Exception(_("Failed to add static routes: %(ex)s") % {
|
||||||
'ex': str(ex)})
|
'ex': str(ex)})
|
||||||
for command in default_route_commands:
|
for command in default_route_commands:
|
||||||
try:
|
try:
|
||||||
@ -233,7 +234,7 @@ class Controller(rest.RestController):
|
|||||||
LOG.info(_LI("Static route configuration result: %(output)s"),
|
LOG.info(_LI("Static route configuration result: %(output)s"),
|
||||||
{'output': out})
|
{'output': out})
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
raise Exception("Failed to add static routes: %(ex)s" % {
|
raise Exception(_("Failed to add static routes: %(ex)s") % {
|
||||||
'ex': str(ex)})
|
'ex': str(ex)})
|
||||||
|
|
||||||
def _get_if_name_by_cidr(self, cidr):
|
def _get_if_name_by_cidr(self, cidr):
|
||||||
@ -264,8 +265,8 @@ class Controller(rest.RestController):
|
|||||||
retry_count = retry_count + 1
|
retry_count = retry_count + 1
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
raise Exception("Some of the interfaces do not have "
|
raise Exception(_("Some of the interfaces do not have "
|
||||||
"IP Address")
|
"IP Address"))
|
||||||
|
|
||||||
def _apply_user_config(self, config_data):
|
def _apply_user_config(self, config_data):
|
||||||
LOG.info(_LI("Applying user config with configuration "
|
LOG.info(_LI("Applying user config with configuration "
|
@ -15,6 +15,7 @@ import mock
|
|||||||
import os
|
import os
|
||||||
import oslo_serialization.jsonutils as jsonutils
|
import oslo_serialization.jsonutils as jsonutils
|
||||||
import pecan
|
import pecan
|
||||||
|
import pika
|
||||||
PECAN_CONFIG_FILE = (os.getcwd() +
|
PECAN_CONFIG_FILE = (os.getcwd() +
|
||||||
"/gbpservice/nfp/pecan/api/config.py")
|
"/gbpservice/nfp/pecan/api/config.py")
|
||||||
|
|
||||||
@ -33,6 +34,7 @@ setattr(pecan, 'mode', constants.advanced)
|
|||||||
from gbpservice.contrib.nfp.configurator.advanced_controller import controller
|
from gbpservice.contrib.nfp.configurator.advanced_controller import controller
|
||||||
from gbpservice.nfp.pecan.api import root_controller
|
from gbpservice.nfp.pecan.api import root_controller
|
||||||
reload(root_controller)
|
reload(root_controller)
|
||||||
|
pika.BlockingConnection = mock.MagicMock(return_value=None)
|
||||||
|
|
||||||
|
|
||||||
class ControllerTestCase(base.BaseTestCase, rest.RestController):
|
class ControllerTestCase(base.BaseTestCase, rest.RestController):
|
||||||
|
@ -45,6 +45,7 @@ class VpnaasIpsecDriverTestCase(base.BaseTestCase):
|
|||||||
self.conf = 'conf'
|
self.conf = 'conf'
|
||||||
self.test_dict = vpn_test_data.VPNTestData()
|
self.test_dict = vpn_test_data.VPNTestData()
|
||||||
self.context = self.test_dict.make_service_context()
|
self.context = self.test_dict.make_service_context()
|
||||||
|
self.headers = self.test_dict.get_header()
|
||||||
self.plugin_rpc = vpn.VpnaasRpcSender(self.test_dict.sc)
|
self.plugin_rpc = vpn.VpnaasRpcSender(self.test_dict.sc)
|
||||||
self.driver = vyos_vpn_driver.VpnaasIpsecDriver(self.conf)
|
self.driver = vyos_vpn_driver.VpnaasIpsecDriver(self.conf)
|
||||||
self.svc_validate = (
|
self.svc_validate = (
|
||||||
@ -90,6 +91,7 @@ class VpnaasIpsecDriverTestCase(base.BaseTestCase):
|
|||||||
mock_post.assert_called_with(
|
mock_post.assert_called_with(
|
||||||
self.test_dict.url_create_ipsec_conn,
|
self.test_dict.url_create_ipsec_conn,
|
||||||
data=jsonutils.dumps(self.test_dict.svc_context),
|
data=jsonutils.dumps(self.test_dict.svc_context),
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.test_dict.timeout)
|
timeout=self.test_dict.timeout)
|
||||||
mock_update_status.assert_called_with(
|
mock_update_status.assert_called_with(
|
||||||
context,
|
context,
|
||||||
@ -129,6 +131,7 @@ class VpnaasIpsecDriverTestCase(base.BaseTestCase):
|
|||||||
mock_delete.assert_called_with(
|
mock_delete.assert_called_with(
|
||||||
url.encode('ascii', 'ignore'),
|
url.encode('ascii', 'ignore'),
|
||||||
timeout=self.test_dict.timeout,
|
timeout=self.test_dict.timeout,
|
||||||
|
headers=self.headers,
|
||||||
data=None)
|
data=None)
|
||||||
|
|
||||||
def test_check_status(self):
|
def test_check_status(self):
|
||||||
@ -158,6 +161,7 @@ class VpnGenericConfigDriverTestCase(base.BaseTestCase):
|
|||||||
self.conf = 'conf'
|
self.conf = 'conf'
|
||||||
self.test_dict = vpn_test_data.VPNTestData()
|
self.test_dict = vpn_test_data.VPNTestData()
|
||||||
self.context = self.test_dict.make_service_context()
|
self.context = self.test_dict.make_service_context()
|
||||||
|
self.headers = self.test_dict.get_header()
|
||||||
self.plugin_rpc = vpn.VpnaasRpcSender(self.test_dict.sc)
|
self.plugin_rpc = vpn.VpnaasRpcSender(self.test_dict.sc)
|
||||||
self.rest_apt = vyos_vpn_driver.RestApi(self.test_dict.vm_mgmt_ip)
|
self.rest_apt = vyos_vpn_driver.RestApi(self.test_dict.vm_mgmt_ip)
|
||||||
self.driver = vyos_vpn_driver.VpnGenericConfigDriver()
|
self.driver = vyos_vpn_driver.VpnGenericConfigDriver()
|
||||||
@ -194,6 +198,7 @@ class VpnGenericConfigDriverTestCase(base.BaseTestCase):
|
|||||||
self.test_dict.url_for_add_inte,
|
self.test_dict.url_for_add_inte,
|
||||||
jsonutils.dumps(
|
jsonutils.dumps(
|
||||||
self.test_dict.data_for_interface),
|
self.test_dict.data_for_interface),
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.test_dict.timeout)
|
timeout=self.test_dict.timeout)
|
||||||
|
|
||||||
def test_clear_interfaces(self):
|
def test_clear_interfaces(self):
|
||||||
@ -217,6 +222,7 @@ class VpnGenericConfigDriverTestCase(base.BaseTestCase):
|
|||||||
self.test_dict.url_for_del_inte,
|
self.test_dict.url_for_del_inte,
|
||||||
data=jsonutils.dumps(
|
data=jsonutils.dumps(
|
||||||
self.test_dict.data_for_interface),
|
self.test_dict.data_for_interface),
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.test_dict.timeout)
|
timeout=self.test_dict.timeout)
|
||||||
|
|
||||||
def test_configure_source_routes(self):
|
def test_configure_source_routes(self):
|
||||||
@ -239,6 +245,7 @@ class VpnGenericConfigDriverTestCase(base.BaseTestCase):
|
|||||||
self.test_dict.url_for_add_src_route,
|
self.test_dict.url_for_add_src_route,
|
||||||
data=jsonutils.dumps(
|
data=jsonutils.dumps(
|
||||||
self.test_dict.data_for_add_src_route),
|
self.test_dict.data_for_add_src_route),
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.test_dict.timeout)
|
timeout=self.test_dict.timeout)
|
||||||
|
|
||||||
def test_delete_source_routes(self):
|
def test_delete_source_routes(self):
|
||||||
@ -260,6 +267,7 @@ class VpnGenericConfigDriverTestCase(base.BaseTestCase):
|
|||||||
self.test_dict.url_for_del_src_route,
|
self.test_dict.url_for_del_src_route,
|
||||||
data=jsonutils.dumps(
|
data=jsonutils.dumps(
|
||||||
self.test_dict.data_for_del_src_route),
|
self.test_dict.data_for_del_src_route),
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.test_dict.timeout)
|
timeout=self.test_dict.timeout)
|
||||||
|
|
||||||
|
|
||||||
@ -318,6 +326,7 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
self.resp = mock.Mock()
|
self.resp = mock.Mock()
|
||||||
self.resp = mock.Mock(status_code=200)
|
self.resp = mock.Mock(status_code=200)
|
||||||
self.test_dict = vpn_test_data.VPNTestData()
|
self.test_dict = vpn_test_data.VPNTestData()
|
||||||
|
self.headers = self.test_dict.get_header()
|
||||||
self.args = {'peer_address': '1.103.2.2'}
|
self.args = {'peer_address': '1.103.2.2'}
|
||||||
self.fake_resp_dict = {'status': None}
|
self.fake_resp_dict = {'status': None}
|
||||||
self.timeout = self.rest_obj.timeout
|
self.timeout = self.rest_obj.timeout
|
||||||
@ -336,10 +345,12 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
mock_post), (
|
mock_post), (
|
||||||
mock.patch.object(jsonutils, 'loads',
|
mock.patch.object(jsonutils, 'loads',
|
||||||
return_value=self.fake_resp_dict)):
|
return_value=self.fake_resp_dict)):
|
||||||
self.rest_obj.post('create-ipsec-site-conn', self.data)
|
self.rest_obj.post('create-ipsec-site-conn',
|
||||||
|
self.data, self.headers)
|
||||||
mock_post.assert_called_with(
|
mock_post.assert_called_with(
|
||||||
self.test_dict.url_create_ipsec_conn,
|
self.test_dict.url_create_ipsec_conn,
|
||||||
data=self.j_data,
|
data=self.j_data,
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.timeout)
|
timeout=self.timeout)
|
||||||
|
|
||||||
def test_put_success(self):
|
def test_put_success(self):
|
||||||
@ -351,10 +362,12 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
self.resp = mock.Mock(status_code=200)
|
self.resp = mock.Mock(status_code=200)
|
||||||
with mock.patch.object(requests, 'put', return_value=self.resp) as (
|
with mock.patch.object(requests, 'put', return_value=self.resp) as (
|
||||||
mock_put):
|
mock_put):
|
||||||
self.rest_obj.put('create-ipsec-site-conn', self.data)
|
self.rest_obj.put('create-ipsec-site-conn',
|
||||||
|
self.data, self.headers)
|
||||||
mock_put.assert_called_with(
|
mock_put.assert_called_with(
|
||||||
self.test_dict.url_create_ipsec_conn,
|
self.test_dict.url_create_ipsec_conn,
|
||||||
data=self.j_data,
|
data=self.j_data,
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.timeout)
|
timeout=self.timeout)
|
||||||
|
|
||||||
def test_put_fail(self):
|
def test_put_fail(self):
|
||||||
@ -367,10 +380,12 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
with mock.patch.object(requests, 'put', return_value=self.resp) as (
|
with mock.patch.object(requests, 'put', return_value=self.resp) as (
|
||||||
mock_put):
|
mock_put):
|
||||||
|
|
||||||
self.rest_obj.put('create-ipsec-site-conn', self.data)
|
self.rest_obj.put('create-ipsec-site-conn',
|
||||||
|
self.data, self.headers)
|
||||||
mock_put.assert_called_with(
|
mock_put.assert_called_with(
|
||||||
self.test_dict.url_create_ipsec_conn,
|
self.test_dict.url_create_ipsec_conn,
|
||||||
data=jsonutils.dumps(self.data),
|
data=jsonutils.dumps(self.data),
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.timeout)
|
timeout=self.timeout)
|
||||||
|
|
||||||
def test_delete_success(self):
|
def test_delete_success(self):
|
||||||
@ -386,11 +401,12 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
return_value=self.fake_resp_dict)):
|
return_value=self.fake_resp_dict)):
|
||||||
self.rest_obj.delete('delete-ipsec-site-conn',
|
self.rest_obj.delete('delete-ipsec-site-conn',
|
||||||
self.args,
|
self.args,
|
||||||
self.data)
|
self.headers)
|
||||||
mock_delete.assert_called_with(
|
mock_delete.assert_called_with(
|
||||||
self.test_dict.url_delete_ipsec_conn,
|
self.test_dict.url_delete_ipsec_conn,
|
||||||
timeout=self.timeout,
|
timeout=self.timeout,
|
||||||
data=self.j_data)
|
data=None,
|
||||||
|
headers=self.headers)
|
||||||
|
|
||||||
def test_get_success(self):
|
def test_get_success(self):
|
||||||
"""
|
"""
|
||||||
@ -401,10 +417,12 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
self.resp = mock.Mock(status_code=200)
|
self.resp = mock.Mock(status_code=200)
|
||||||
with mock.patch.object(requests, 'get', return_value=self.resp) as (
|
with mock.patch.object(requests, 'get', return_value=self.resp) as (
|
||||||
mock_get):
|
mock_get):
|
||||||
self.rest_obj.get('create-ipsec-site-tunnel', self.data)
|
self.rest_obj.get('create-ipsec-site-tunnel',
|
||||||
|
self.data, self.headers)
|
||||||
mock_get.assert_called_with(
|
mock_get.assert_called_with(
|
||||||
self.test_dict.url_create_ipsec_tunnel,
|
self.test_dict.url_create_ipsec_tunnel,
|
||||||
params=self.data,
|
params=self.data,
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.timeout)
|
timeout=self.timeout)
|
||||||
|
|
||||||
def test_get_fail(self):
|
def test_get_fail(self):
|
||||||
@ -416,8 +434,10 @@ class RestApiTestCase(base.BaseTestCase):
|
|||||||
self.resp = mock.Mock(status_code=404)
|
self.resp = mock.Mock(status_code=404)
|
||||||
with mock.patch.object(requests, 'get', return_value=self.resp) as (
|
with mock.patch.object(requests, 'get', return_value=self.resp) as (
|
||||||
mock_get):
|
mock_get):
|
||||||
self.rest_obj.get('create-ipsec-site-tunnel', self.data)
|
self.rest_obj.get('create-ipsec-site-tunnel',
|
||||||
|
self.data, self.headers)
|
||||||
mock_get.assert_called_with(
|
mock_get.assert_called_with(
|
||||||
self.test_dict.url_create_ipsec_tunnel,
|
self.test_dict.url_create_ipsec_tunnel,
|
||||||
params=self.data,
|
params=self.data,
|
||||||
|
headers=self.headers,
|
||||||
timeout=self.timeout)
|
timeout=self.timeout)
|
||||||
|
@ -470,7 +470,9 @@ class FakeEventGenericConfig(object):
|
|||||||
'notification_data': {},
|
'notification_data': {},
|
||||||
'resource_type': 'firewall',
|
'resource_type': 'firewall',
|
||||||
'service_vendor': 'vyos',
|
'service_vendor': 'vyos',
|
||||||
'context': 'APIcontext'},
|
'context': {'service_vm_context': {'vyos': {
|
||||||
|
'username': 'name',
|
||||||
|
'password': 'password'}}}},
|
||||||
'firewall': fo._fake_firewall_obj(),
|
'firewall': fo._fake_firewall_obj(),
|
||||||
'host': fo.host,
|
'host': fo.host,
|
||||||
'resource_data': kwargs}
|
'resource_data': kwargs}
|
||||||
|
@ -27,7 +27,10 @@ class VPNTestData(object):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
||||||
self.context_device = {'notification_data': {},
|
self.context_device = {'notification_data': {},
|
||||||
'resource': 'interfaces'}
|
'resource': 'interfaces',
|
||||||
|
'service_vm_context': {'vyos': {
|
||||||
|
'username': 'username',
|
||||||
|
'password': 'password'}}}
|
||||||
self.sc = 'sc'
|
self.sc = 'sc'
|
||||||
self.conf = 'conf'
|
self.conf = 'conf'
|
||||||
self.msg = 'msg'
|
self.msg = 'msg'
|
||||||
@ -384,6 +387,12 @@ class VPNTestData(object):
|
|||||||
"floating_ip": ""}]}
|
"floating_ip": ""}]}
|
||||||
]}]}}
|
]}]}}
|
||||||
|
|
||||||
|
def get_header(self):
|
||||||
|
header = {'username': 'username',
|
||||||
|
'password': 'password',
|
||||||
|
'Content-Type': 'application/json'}
|
||||||
|
return header
|
||||||
|
|
||||||
def make_service_context(self, operation_type=None):
|
def make_service_context(self, operation_type=None):
|
||||||
'''
|
'''
|
||||||
Prepares a simple service_info dictionary and appends it to
|
Prepares a simple service_info dictionary and appends it to
|
||||||
@ -391,6 +400,10 @@ class VPNTestData(object):
|
|||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
agent_info = {'context': {'service_vm_context': {
|
||||||
|
'vyos': {
|
||||||
|
'username': 'username',
|
||||||
|
'password': 'password'}}}}
|
||||||
self.service_info = {}
|
self.service_info = {}
|
||||||
self.service_info.update({'vpnservices': self.vpnservice})
|
self.service_info.update({'vpnservices': self.vpnservice})
|
||||||
if operation_type is None:
|
if operation_type is None:
|
||||||
@ -401,6 +414,7 @@ class VPNTestData(object):
|
|||||||
|
|
||||||
self.service_info.update({'subnets': self.subnet})
|
self.service_info.update({'subnets': self.subnet})
|
||||||
self.context.update({'service_info': self.service_info})
|
self.context.update({'service_info': self.service_info})
|
||||||
|
self.context.update({'agent_info': agent_info})
|
||||||
return self.context
|
return self.context
|
||||||
|
|
||||||
def _create_vpnservice_obj(self):
|
def _create_vpnservice_obj(self):
|
||||||
|
@ -28,7 +28,7 @@ controller_mode_map = {
|
|||||||
|
|
||||||
controllers = {
|
controllers = {
|
||||||
controller_mode_map[base]: 'gbpservice.nfp.base_configurator.controllers',
|
controller_mode_map[base]: 'gbpservice.nfp.base_configurator.controllers',
|
||||||
controller_mode_map[base_with_vm]: ('gbpservice.tests.contrib'
|
controller_mode_map[base_with_vm]: ('gbpservice.contrib'
|
||||||
'.nfp_service.reference_configurator.controllers'),
|
'.nfp_service.reference_configurator.controllers'),
|
||||||
controller_mode_map[advanced]: ('gbpservice.contrib.nfp.configurator'
|
controller_mode_map[advanced]: ('gbpservice.contrib.nfp.configurator'
|
||||||
'.advanced_controller.controller_loader')
|
'.advanced_controller.controller_loader')
|
||||||
|
Loading…
Reference in New Issue
Block a user