Update GNPy functional test 84/99584/1
authorguillaume.lambert <guillaume.lambert@orange.com>
Thu, 27 Jan 2022 14:28:57 +0000 (15:28 +0100)
committerGilles Thouenon <gilles.thouenon@orange.com>
Fri, 4 Feb 2022 09:12:15 +0000 (10:12 +0100)
- 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 <guillaume.lambert@orange.com>
Change-Id: I605d2cc56c088f8213dda577d46fe4c43cbb3cfd

tests/transportpce_tests/pce/test03_gnpy.py [moved from tests/transportpce_tests/with_docker/test01_gnpy.py with 97% similarity]
tox.ini

similarity index 97%
rename from tests/transportpce_tests/with_docker/test01_gnpy.py
rename to tests/transportpce_tests/pce/test03_gnpy.py
index 99e717f59870cbb7bafe93a8de8075104ee7e597..21b9b42b39f1403d722d71400f2eed7562ca94fd 100644 (file)
@@ -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 d7ceef4664a545a0bf87bd49f6347882d3c2b540..41bc8670a74b545e00cad6015523c1f534eda9c0 100644 (file)
--- 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