From a2f92b4361655d58e7a68d084344322618513855 Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Sat, 10 Dec 2022 14:34:21 +0100 Subject: [PATCH] Refactor functional tests lighty support Signed-off-by: guillaume.lambert Change-Id: I0fdea693c3c80ca396c053c8fcbea80cf35ca0eb --- tests/transportpce_tests/common/test_utils.py | 49 ++++--------------- tox.ini | 14 +++--- 2 files changed, 16 insertions(+), 47 deletions(-) diff --git a/tests/transportpce_tests/common/test_utils.py b/tests/transportpce_tests/common/test_utils.py index 5a043a7f0..75c523abf 100644 --- a/tests/transportpce_tests/common/test_utils.py +++ b/tests/transportpce_tests/common/test_utils.py @@ -58,8 +58,10 @@ else: RESTCONF_PORT = 8181 RESTCONF_PATH_PREFIX = {'rfc8040': '/rests', - 'lighty': '/restconf', 'draft-bierman02': '/restconf'} +if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': + RESTCONF_PATH_PREFIX['rfc8040'] = '/restconf' + if 'USE_ODL_RESTCONF_VERSION' in os.environ: RESTCONF_VERSION = os.environ['USE_ODL_RESTCONF_VERSION'] if RESTCONF_VERSION not in RESTCONF_PATH_PREFIX: @@ -281,7 +283,6 @@ class TimeOut: def mount_device(node: str, sim: str): url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}', - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}', 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}'} body = {'node': [{ 'node-id': node, @@ -304,7 +305,6 @@ def mount_device(node: str, sim: str): def unmount_device(node: str): url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}', - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}', 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}'} response = delete_request(url[RESTCONF_VERSION].format('{}', node)) if wait_until_log_contains(TPCE_LOG, re.escape("onDeviceDisConnected: " + node), 180): @@ -316,12 +316,10 @@ def unmount_device(node: str): def check_device_connection(node: str): url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}?content=nonconfig', 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}'} response = get_request(url[RESTCONF_VERSION].format('{}', node)) res = response.json() return_key = {'rfc8040': 'network-topology:node', - 'lighty': 'network-topology:node', 'draft-bierman02': 'node'} if return_key[RESTCONF_VERSION] in res.keys(): connection_status = res[return_key[RESTCONF_VERSION]][0]['netconf-node-topology:connection-status'] @@ -334,12 +332,10 @@ def check_device_connection(node: str): def check_node_request(node: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device?content=config', # nopep8 - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node)) res = response.json() return_key = {'rfc8040': 'org-openroadm-device:org-openroadm-device', - 'lighty': 'org-openroadm-device:org-openroadm-device', 'draft-bierman02': 'org-openroadm-device'} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] @@ -352,12 +348,10 @@ def check_node_request(node: str): def check_node_attribute_request(node: str, attribute: str, attribute_value: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}?content=nonconfig', # nopep8 - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}?content=nonconfig', # nopep8 'draft-bierman02': '{}/operational/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value)) res = response.json() return_key = {'rfc8040': 'org-openroadm-device:' + attribute, - 'lighty': 'org-openroadm-device:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] @@ -370,7 +364,6 @@ def check_node_attribute_request(node: str, attribute: str, attribute_value: str def check_node_attribute2_request(node: str, attribute: str, attribute_value: str, attribute2: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}/{}?content=config', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}/{}'} # nopep8 response = get_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value, attribute2)) res = response.json() @@ -385,7 +378,6 @@ def check_node_attribute2_request(node: str, attribute: str, attribute_value: st def del_node_attribute_request(node: str, attribute: str, attribute_value: str): # pylint: disable=line-too-long url = {'rfc8040': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}', # nopep8 - 'lighty': '{}/data/network-topology:network-topology/topology=topology-netconf/node={}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}={}', # nopep8 'draft-bierman02': '{}/config/network-topology:network-topology/topology/topology-netconf/node/{}/yang-ext:mount/org-openroadm-device:org-openroadm-device/{}/{}'} # nopep8 response = delete_request(url[RESTCONF_VERSION].format('{}', node, attribute, attribute_value)) return response @@ -397,7 +389,6 @@ def del_node_attribute_request(node: str, attribute: str, attribute_value: str): def post_portmapping(payload: str): url = {'rfc8040': '{}/data/transportpce-portmapping:network', - 'lighty': '{}/data/transportpce-portmapping:network', 'draft-bierman02': '{}/config/transportpce-portmapping:network'} json_payload = json.loads(payload) response = post_request(url[RESTCONF_VERSION].format('{}'), json_payload) @@ -406,7 +397,6 @@ def post_portmapping(payload: str): def del_portmapping(): url = {'rfc8040': '{}/data/transportpce-portmapping:network', - 'lighty': '{}/data/transportpce-portmapping:network', 'draft-bierman02': '{}/config/transportpce-portmapping:network'} response = delete_request(url[RESTCONF_VERSION].format('{}')) return {'status_code': response.status_code} @@ -415,20 +405,18 @@ def del_portmapping(): def get_portmapping_node_attr(node: str, attr: str, value: str): # pylint: disable=consider-using-f-string url = {'rfc8040': '{}/data/transportpce-portmapping:network/nodes={}', - 'lighty': '{}/data/transportpce-portmapping:network/nodes={}', 'draft-bierman02': '{}/config/transportpce-portmapping:network/nodes/{}'} target_url = url[RESTCONF_VERSION].format('{}', node) if attr is not None: target_url = (target_url + '/{}').format('{}', attr) if value is not None: - suffix = {'rfc8040': '={}', 'lighty': '={}', 'draft-bierman02': '/{}'} + suffix = {'rfc8040': '={}', 'draft-bierman02': '/{}'} target_url = (target_url + suffix[RESTCONF_VERSION]).format('{}', value) else: attr = 'nodes' response = get_request(target_url) res = response.json() return_key = {'rfc8040': 'transportpce-portmapping:' + attr, - 'lighty': 'transportpce-portmapping:' + attr, 'draft-bierman02': attr} if return_key[RESTCONF_VERSION] in res.keys(): return_output = res[return_key[RESTCONF_VERSION]] @@ -444,9 +432,8 @@ def get_portmapping_node_attr(node: str, attr: str, value: str): def get_ietf_network_request(network: str, content: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}?content={}', - 'lighty': '{}/data/ietf-network:networks/network={}?content={}', 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}'} - if RESTCONF_VERSION in ('rfc8040', 'lighty'): + if RESTCONF_VERSION in ('rfc8040'): format_args = ('{}', network, content) elif content == 'config': format_args = ('{}', content, network) @@ -456,7 +443,6 @@ def get_ietf_network_request(network: str, content: str): if bool(response): res = response.json() return_key = {'rfc8040': 'ietf-network:network', - 'lighty': 'ietf-network:network', 'draft-bierman02': 'network'} networks = res[return_key[RESTCONF_VERSION]] else: @@ -467,7 +453,6 @@ def get_ietf_network_request(network: str, content: str): def put_ietf_network(network: str, payload: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}', - 'lighty': '{}/data/ietf-network:networks/network={}', 'draft-bierman02': '{}/config/ietf-network:networks/network/{}'} json_payload = json.loads(payload) response = put_request(url[RESTCONF_VERSION].format('{}', network), json_payload) @@ -476,7 +461,6 @@ def put_ietf_network(network: str, payload: str): def del_ietf_network(network: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}', - 'lighty': '{}/data/ietf-network:networks/network={}', 'draft-bierman02': '{}/config/ietf-network:networks/network/{}'} response = delete_request(url[RESTCONF_VERSION].format('{}', network)) return {'status_code': response.status_code} @@ -484,9 +468,8 @@ def del_ietf_network(network: str): def get_ietf_network_link_request(network: str, link: str, content: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}?content={}', - 'lighty': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}?content={}', 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}/ietf-network-topology:link/{}'} - if RESTCONF_VERSION in ('rfc8040', 'lighty'): + if RESTCONF_VERSION in ('rfc8040'): format_args = ('{}', network, link, content) elif content == 'config': format_args = ('{}', content, network, link) @@ -495,7 +478,6 @@ def get_ietf_network_link_request(network: str, link: str, content: str): response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'ietf-network-topology:link', - 'lighty': 'ietf-network-topology:link', 'draft-bierman02': 'ietf-network-topology:link'} link = res[return_key[RESTCONF_VERSION]][0] return {'status_code': response.status_code, @@ -504,9 +486,8 @@ def get_ietf_network_link_request(network: str, link: str, content: str): def del_ietf_network_link_request(network: str, link: str, content: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}?content={}', - 'lighty': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}?content={}', 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}/ietf-network-topology:link/{}'} - if RESTCONF_VERSION in ('rfc8040', 'lighty'): + if RESTCONF_VERSION in ('rfc8040'): format_args = ('{}', network, link, content) elif content == 'config': format_args = ('{}', content, network, link) @@ -518,7 +499,6 @@ def del_ietf_network_link_request(network: str, link: str, content: str): def add_oms_attr_request(link: str, oms_attr: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}', - 'lighty': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}', 'draft-bierman02': '{}/config/ietf-network:networks/network/{}/ietf-network-topology:link/{}'} url2 = url[RESTCONF_VERSION] + '/org-openroadm-network-topology:OMS-attributes/span' network = 'openroadm-topology' @@ -528,7 +508,6 @@ def add_oms_attr_request(link: str, oms_attr: str): def del_oms_attr_request(link: str,): url = {'rfc8040': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}', - 'lighty': '{}/data/ietf-network:networks/network={}/ietf-network-topology:link={}', 'draft-bierman02': '{}/config/ietf-network:networks/network/{}/ietf-network-topology:link/{}'} url2 = url[RESTCONF_VERSION] + '/org-openroadm-network-topology:OMS-attributes/span' network = 'openroadm-topology' @@ -538,9 +517,8 @@ def del_oms_attr_request(link: str,): def get_ietf_network_node_request(network: str, node: str, content: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}/node={}?content={}', - 'lighty': '{}/data/ietf-network:networks/network={}/node={}?content={}', 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}/node/{}'} - if RESTCONF_VERSION in ('rfc8040', 'lighty'): + if RESTCONF_VERSION in ('rfc8040'): format_args = ('{}', network, node, content) elif content == 'config': format_args = ('{}', content, network, node) @@ -550,7 +528,6 @@ def get_ietf_network_node_request(network: str, node: str, content: str): if bool(response): res = response.json() return_key = {'rfc8040': 'ietf-network:node', - 'lighty': 'ietf-network:node', 'draft-bierman02': 'node'} node = res[return_key[RESTCONF_VERSION]][0] else: @@ -561,9 +538,8 @@ def get_ietf_network_node_request(network: str, node: str, content: str): def del_ietf_network_node_request(network: str, node: str, content: str): url = {'rfc8040': '{}/data/ietf-network:networks/network={}/node={}?content={}', - 'lighty': '{}/data/ietf-network:networks/network={}/node={}?content={}', 'draft-bierman02': '{}/{}/ietf-network:networks/network/{}/node/{}'} - if RESTCONF_VERSION in ('rfc8040', 'lighty'): + if RESTCONF_VERSION in ('rfc8040'): format_args = ('{}', network, node, content) elif content == 'config': format_args = ('{}', content, network, node) @@ -580,12 +556,10 @@ def del_ietf_network_node_request(network: str, node: str, content: str): def get_ordm_serv_list_request(): url = {'rfc8040': '{}/data/org-openroadm-service:service-list?content=nonconfig', - 'lighty': '{}/data/org-openroadm-service:service-list?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/'} response = get_request(url[RESTCONF_VERSION]) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:service-list', - 'lighty': 'org-openroadm-service:service-list', 'draft-bierman02': 'service-list'} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] @@ -597,13 +571,11 @@ def get_ordm_serv_list_request(): def get_ordm_serv_list_attr_request(attribute: str, value: str): url = {'rfc8040': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', - 'lighty': '{}/data/org-openroadm-service:service-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/org-openroadm-service:service-list/{}/{}'} format_args = ('{}', attribute, value) response = get_request(url[RESTCONF_VERSION].format(*format_args)) res = response.json() return_key = {'rfc8040': 'org-openroadm-service:' + attribute, - 'lighty': 'org-openroadm-service:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] @@ -615,12 +587,10 @@ def get_ordm_serv_list_attr_request(attribute: str, value: str): def get_serv_path_list_attr(attribute: str, value: str): url = {'rfc8040': '{}/data/transportpce-service-path:service-path-list/{}={}?content=nonconfig', - 'lighty': '{}/data/transportpce-service-path:service-path-list/{}={}?content=nonconfig', 'draft-bierman02': '{}/operational/transportpce-service-path:service-path-list/{}/{}'} response = get_request(url[RESTCONF_VERSION].format('{}', attribute, value)) res = response.json() return_key = {'rfc8040': 'transportpce-service-path:' + attribute, - 'lighty': 'transportpce-service-path:' + attribute, 'draft-bierman02': attribute} if return_key[RESTCONF_VERSION] in res.keys(): response_attribute = res[return_key[RESTCONF_VERSION]] @@ -664,7 +634,6 @@ def transportpce_api_rpc_request(api_module: str, rpc: str, payload: dict): else: res = response.json() return_key = {'rfc8040': api_module + ':output', - 'lighty': api_module + ':output', 'draft-bierman02': 'output'} if response.status_code == requests.codes.internal_server_error: return_output = res diff --git a/tox.ini b/tox.ini index c8d378db8..7b18494ce 100644 --- a/tox.ini +++ b/tox.ini @@ -60,7 +60,7 @@ depends = buildcontroller setenv = PIP_EXTRA_INDEX_URL = https://gitlab.com/api/v4/projects/33090323/packages/pypi/simple USE_LIGHTY=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 deps = -r{toxinidir}/tests/requirements.txt -r{toxinidir}/tests/test-requirements.txt @@ -91,7 +91,7 @@ whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION setenv = USE_LIGHTY=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 USE_ODL_ALT_KARAF_ENV=./karaf121.env USE_ODL_ALT_KARAF_INSTALL_DIR=karaf121 commands = @@ -124,7 +124,7 @@ whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION setenv = USE_LIGHTY=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 USE_ODL_ALT_KARAF_ENV=./karaf221.env USE_ODL_ALT_KARAF_INSTALL_DIR=karaf221 commands = @@ -148,7 +148,7 @@ whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION setenv = USE_LIGHTY=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 USE_ODL_ALT_KARAF_ENV=./karaf71.env USE_ODL_ALT_KARAF_INSTALL_DIR=karaf71 commands = @@ -172,7 +172,7 @@ whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION setenv = USE_LIGHTY=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 USE_ODL_ALT_KARAF_ENV=./karaf121.env USE_ODL_ALT_KARAF_INSTALL_DIR=karaf_hybrid commands = @@ -185,7 +185,7 @@ whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY OLM_TIMER1 OLM_TIMER2 USE_ODL_RESTCONF_VERSION setenv = USE_LIGHTY=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 USE_ODL_ALT_KARAF_ENV=./karaf221.env USE_ODL_ALT_KARAF_INSTALL_DIR=karaf221 INSTALL_TAPI=True @@ -205,7 +205,7 @@ setenv = OLM_TIMER2=2000 INSTALL_TAPI=True INSTALL_NBINOTIFICATIONS=True - USE_ODL_RESTCONF_VERSION=lighty +# USE_ODL_RESTCONF_VERSION=draft-bierman02 commands = ./dockercmd.sh run -d -p 2181:2181 -p 9092:9092 --env ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 --name tpce_kafka1 teivah/kafka:2.0.0 -- 2.36.6