From c707007295c95f695fded228a381c7b2c59408de Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Thu, 27 Jan 2022 15:28:57 +0100 Subject: [PATCH] Update GNPy functional test - use a python package retrieved from Orange opensource GitLab repo instead of a docker image to launch the GNPy REST server - update test code accordingly and move it to the PCE test suite - update tox.ini accordingly JIRA: TRNSPRTPCE-571 Signed-off-by: guillaume.lambert Change-Id: I605d2cc56c088f8213dda577d46fe4c43cbb3cfd --- .../test01_gnpy.py => pce/test03_gnpy.py} | 8 +++++++- tox.ini | 19 ++++++++----------- 2 files changed, 15 insertions(+), 12 deletions(-) rename tests/transportpce_tests/{with_docker/test01_gnpy.py => pce/test03_gnpy.py} (97%) diff --git a/tests/transportpce_tests/with_docker/test01_gnpy.py b/tests/transportpce_tests/pce/test03_gnpy.py similarity index 97% rename from tests/transportpce_tests/with_docker/test01_gnpy.py rename to tests/transportpce_tests/pce/test03_gnpy.py index 99e717f59..21b9b42b3 100644 --- a/tests/transportpce_tests/with_docker/test01_gnpy.py +++ b/tests/transportpce_tests/pce/test03_gnpy.py @@ -16,6 +16,7 @@ import unittest import os # pylint: disable=wrong-import-order import sys +import subprocess import time import requests sys.path.append('transportpce_tests/common/') @@ -30,7 +31,7 @@ class TransportGNPYtesting(unittest.TestCase): topo_ordnet_data = None topo_ordtopo_data = None port_mapping_data = None - processes = None + processes = [] @classmethod def setUpClass(cls): @@ -69,6 +70,11 @@ class TransportGNPYtesting(unittest.TestCase): if sample_files_parsed: print("sample files content loaded") + with open('gnpy.log', 'w', encoding='utf-8') as outfile: + print('starting GNPy REST server...') + # pylint: disable=consider-using-with + test_utils.process_list.append(subprocess.Popen( + ['path_requests_run.py', '--rest'], stdout=outfile, stderr=outfile, stdin=None)) cls.processes = test_utils.start_tpce() @classmethod diff --git a/tox.ini b/tox.ini index d7ceef466..41bc8670a 100644 --- a/tox.ini +++ b/tox.ini @@ -57,6 +57,14 @@ commands = [testenv:testsPCE] depends = buildcontroller +#the following lines retrieve unofficial package of GNPy with REST support from Orange opensource Gitlab repo +setenv = + PIP_EXTRA_INDEX_URL = https://gitlab.com/api/v4/projects/33090323/packages/pypi/simple +deps = + -r{toxinidir}/tests/requirements.txt + -r{toxinidir}/tests/test-requirements.txt + setuptools>=7.0 + gnpy4tpce whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION #setenv = @@ -171,17 +179,6 @@ commands = # nosetests --with-xunit transportpce_tests/hybrid/test01_device_change_notifications.py ./launch_tests.sh hybrid {posargs:} -[testenv:gnpy] -depends = buildcontroller -whitelist_externals = launch_tests.sh - dockercmd.sh -passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION -commands = - #sudo docker pull atriki/gnpyrest:v1.2 - ./dockercmd.sh run -d -p 8008:5000 --name gnpy_tpce_rest1 atriki/gnpyrest:v1.2 - ./launch_tests.sh with_docker gnpy - ./dockercmd.sh container rm -f gnpy_tpce_rest1 - [testenv:nbinotifications] depends = buildcontroller,sims221 whitelist_externals = launch_tests.sh -- 2.36.6