From 32e2e6df702c67494f87e3282a1ae747cb5702c8 Mon Sep 17 00:00:00 2001
From: Carlos Natalino <carlos.natalino@chalmers.se>
Date: Thu, 27 Oct 2022 14:29:55 +0200
Subject: [PATCH] Consolidating commong fixtures in a single file at the root
 of the tests folder. Updating ECOC'22 and OFC'22 tests to use it.

---
 src/tests/Fixtures.py                         | 24 +++++++++++++++++++
 src/tests/ecoc22/tests/Fixtures.py            | 21 ----------------
 .../ecoc22/tests/test_functional_bootstrap.py |  2 +-
 .../ecoc22/tests/test_functional_cleanup.py   |  2 +-
 .../tests/test_functional_create_service.py   |  3 ++-
 .../tests/test_functional_delete_service.py   |  3 ++-
 .../tests/test_functional_bootstrap.py        | 13 +++++++++-
 .../tests/test_functional_cleanup.py          | 14 ++++++++++-
 .../tests/test_functional_create_service.py   | 13 +++++++++-
 .../tests/test_functional_delete_service.py   | 14 ++++++++++-
 src/tests/ofc22/tests/Fixtures.py             | 24 -------------------
 .../ofc22/tests/test_functional_bootstrap.py  |  2 +-
 .../ofc22/tests/test_functional_cleanup.py    |  2 +-
 .../tests/test_functional_create_service.py   |  3 ++-
 .../tests/test_functional_delete_service.py   |  3 ++-
 15 files changed, 86 insertions(+), 57 deletions(-)
 create mode 100644 src/tests/Fixtures.py

diff --git a/src/tests/Fixtures.py b/src/tests/Fixtures.py
new file mode 100644
index 000000000..8bf00b063
--- /dev/null
+++ b/src/tests/Fixtures.py
@@ -0,0 +1,24 @@
+import pytest
+from common.Settings import get_setting
+from compute.tests.mock_osm.MockOSM import MockOSM
+from context.client.ContextClient import ContextClient
+from device.client.DeviceClient import DeviceClient
+from monitoring.client.MonitoringClient import MonitoringClient
+
+@pytest.fixture(scope='session')
+def context_client():
+    _client = ContextClient()
+    yield _client
+    _client.close()
+
+@pytest.fixture(scope='session')
+def device_client():
+    _client = DeviceClient()
+    yield _client
+    _client.close()
+
+@pytest.fixture(scope='session')
+def monitoring_client():
+    _client = MonitoringClient()
+    yield _client
+    _client.close()
diff --git a/src/tests/ecoc22/tests/Fixtures.py b/src/tests/ecoc22/tests/Fixtures.py
index 6e19e624d..4fdc59b4f 100644
--- a/src/tests/ecoc22/tests/Fixtures.py
+++ b/src/tests/ecoc22/tests/Fixtures.py
@@ -1,31 +1,10 @@
 import pytest
 from common.Settings import get_setting
 from compute.tests.mock_osm.MockOSM import MockOSM
-from context.client.ContextClient import ContextClient
-from device.client.DeviceClient import DeviceClient
-from monitoring.client.MonitoringClient import MonitoringClient
 #from .Objects_BigNet import WIM_MAPPING, WIM_PASSWORD, WIM_USERNAME
 from .Objects_DC_CSGW_TN import WIM_MAPPING, WIM_PASSWORD, WIM_USERNAME
 #from .Objects_DC_CSGW_TN_OLS import WIM_MAPPING, WIM_PASSWORD, WIM_USERNAME
 
-@pytest.fixture(scope='session')
-def context_client():
-    _client = ContextClient()
-    yield _client
-    _client.close()
-
-@pytest.fixture(scope='session')
-def device_client():
-    _client = DeviceClient()
-    yield _client
-    _client.close()
-
-@pytest.fixture(scope='session')
-def monitoring_client():
-    _client = MonitoringClient()
-    yield _client
-    _client.close()
-
 @pytest.fixture(scope='session')
 def osm_wim():
     wim_url = 'http://{:s}:{:s}'.format(
diff --git a/src/tests/ecoc22/tests/test_functional_bootstrap.py b/src/tests/ecoc22/tests/test_functional_bootstrap.py
index 14ee21658..75f2bddf2 100644
--- a/src/tests/ecoc22/tests/test_functional_bootstrap.py
+++ b/src/tests/ecoc22/tests/test_functional_bootstrap.py
@@ -16,7 +16,7 @@ import logging
 from common.proto.context_pb2 import Context, ContextId, Device, DeviceId, Empty, Link, LinkId, Topology, TopologyId
 from context.client.ContextClient import ContextClient
 from device.client.DeviceClient import DeviceClient
-from .Fixtures import context_client, device_client
+from tests.Fixtures import context_client, device_client
 #from .Objects_BigNet import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 #from .Objects_DC_CSGW_TN import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES, OBJECTS_PER_TOPOLOGY
 #from .Objects_DC_CSGW_TN_OLS import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES, OBJECTS_PER_TOPOLOGY
diff --git a/src/tests/ecoc22/tests/test_functional_cleanup.py b/src/tests/ecoc22/tests/test_functional_cleanup.py
index 2fc61e818..017cc991d 100644
--- a/src/tests/ecoc22/tests/test_functional_cleanup.py
+++ b/src/tests/ecoc22/tests/test_functional_cleanup.py
@@ -17,7 +17,7 @@ from common.proto.context_pb2 import ContextId, DeviceId, Empty, LinkId, Topolog
 from common.tools.object_factory.Context import json_context_id
 from context.client.ContextClient import ContextClient
 from device.client.DeviceClient import DeviceClient
-from .Fixtures import context_client, device_client
+from tests.Fixtures import context_client, device_client
 #from .Objects_BigNet import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 #from .Objects_DC_CSGW_TN import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 #from .Objects_DC_CSGW_TN_OLS import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
diff --git a/src/tests/ecoc22/tests/test_functional_create_service.py b/src/tests/ecoc22/tests/test_functional_create_service.py
index 2f576db83..8c9ca36a9 100644
--- a/src/tests/ecoc22/tests/test_functional_create_service.py
+++ b/src/tests/ecoc22/tests/test_functional_create_service.py
@@ -17,7 +17,8 @@ from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from compute.tests.mock_osm.MockOSM import MockOSM
 from context.client.ContextClient import ContextClient
-from .Fixtures import context_client, osm_wim
+from tests.Fixtures import context_client
+from .Fixtures import osm_wim
 #from .Objects_BigNet import (
 #    CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES, WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE)
 #from .Objects_DC_CSGW_TN import (
diff --git a/src/tests/ecoc22/tests/test_functional_delete_service.py b/src/tests/ecoc22/tests/test_functional_delete_service.py
index 89d7a621f..de152ebb7 100644
--- a/src/tests/ecoc22/tests/test_functional_delete_service.py
+++ b/src/tests/ecoc22/tests/test_functional_delete_service.py
@@ -23,7 +23,8 @@ from common.tools.object_factory.Service import json_service_id
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from compute.tests.mock_osm.MockOSM import MockOSM
 from context.client.ContextClient import ContextClient
-from .Fixtures import context_client, osm_wim
+from tests.Fixtures import context_client
+from .Fixtures import osm_wim
 #from .Objects_BigNet import (
 #    CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES, WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE)
 #from .Objects_DC_CSGW_TN import (
diff --git a/src/tests/netx22-p4/tests/test_functional_bootstrap.py b/src/tests/netx22-p4/tests/test_functional_bootstrap.py
index ccd31b1a7..0254ffd26 100644
--- a/src/tests/netx22-p4/tests/test_functional_bootstrap.py
+++ b/src/tests/netx22-p4/tests/test_functional_bootstrap.py
@@ -23,12 +23,23 @@ from context.client.ContextClient import ContextClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import ConfigActionEnum, Context, ContextId, Device, Empty, Link, Topology, DeviceOperationalStatusEnum
 from device.client.DeviceClient import DeviceClient
-from tests.Fixtures import context_client, device_client
 from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
 
+@pytest.fixture(scope='session')
+def context_client():
+    _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
+
+
+@pytest.fixture(scope='session')
+def device_client():
+    _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
 
 def test_prepare_scenario(context_client : ContextClient):  # pylint: disable=redefined-outer-name
 
diff --git a/src/tests/netx22-p4/tests/test_functional_cleanup.py b/src/tests/netx22-p4/tests/test_functional_cleanup.py
index 9ea2c1f2b..32f716f1c 100644
--- a/src/tests/netx22-p4/tests/test_functional_cleanup.py
+++ b/src/tests/netx22-p4/tests/test_functional_cleanup.py
@@ -23,13 +23,25 @@ from context.client.ContextClient import ContextClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import ConfigActionEnum, ContextId, Device, DeviceId, Empty, LinkId, TopologyId, DeviceOperationalStatusEnum
 from device.client.DeviceClient import DeviceClient
-from tests.Fixtures import context_client, device_client
 from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
 
 
+@pytest.fixture(scope='session')
+def context_client():
+    _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
+
+
+@pytest.fixture(scope='session')
+def device_client():
+    _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
+
 def test_scenario_cleanup(
     context_client : ContextClient, device_client : DeviceClient):  # pylint: disable=redefined-outer-name
 
diff --git a/src/tests/netx22-p4/tests/test_functional_create_service.py b/src/tests/netx22-p4/tests/test_functional_create_service.py
index 50a5cf98c..501536bdb 100644
--- a/src/tests/netx22-p4/tests/test_functional_create_service.py
+++ b/src/tests/netx22-p4/tests/test_functional_create_service.py
@@ -23,7 +23,6 @@ from context.client.ContextClient import ContextClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import Context, ContextId, Device, Empty, Link, Topology
 from device.client.DeviceClient import DeviceClient
-from tests.Fixtures import context_client, device_client
 from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 from common.proto.context_pb2 import ConfigActionEnum, Device, DeviceId,\
     DeviceOperationalStatusEnum
@@ -31,6 +30,18 @@ from common.proto.context_pb2 import ConfigActionEnum, Device, DeviceId,\
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
 
+@pytest.fixture(scope='session')
+def context_client():
+    _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
+
+
+@pytest.fixture(scope='session')
+def device_client():
+    _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
 
 def test_rules_entry(
     context_client : ContextClient, device_client : DeviceClient):  # pylint: disable=redefined-outer-name
diff --git a/src/tests/netx22-p4/tests/test_functional_delete_service.py b/src/tests/netx22-p4/tests/test_functional_delete_service.py
index cce136129..1be7e3240 100644
--- a/src/tests/netx22-p4/tests/test_functional_delete_service.py
+++ b/src/tests/netx22-p4/tests/test_functional_delete_service.py
@@ -23,13 +23,25 @@ from context.client.ContextClient import ContextClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import ConfigActionEnum, ContextId, Device, DeviceId, Empty, LinkId, TopologyId, DeviceOperationalStatusEnum
 from device.client.DeviceClient import DeviceClient
-from tests.Fixtures import context_client, device_client
 from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
 
 
+@pytest.fixture(scope='session')
+def context_client():
+    _client = ContextClient(get_setting('CONTEXTSERVICE_SERVICE_HOST'), get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
+
+
+@pytest.fixture(scope='session')
+def device_client():
+    _client = DeviceClient(get_setting('DEVICESERVICE_SERVICE_HOST'), get_setting('DEVICESERVICE_SERVICE_PORT_GRPC'))
+    yield _client
+    _client.close()
+
 def test_rules_delete(
     context_client : ContextClient, device_client : DeviceClient):  # pylint: disable=redefined-outer-name
 
diff --git a/src/tests/ofc22/tests/Fixtures.py b/src/tests/ofc22/tests/Fixtures.py
index 3ca503918..752c20ed8 100644
--- a/src/tests/ofc22/tests/Fixtures.py
+++ b/src/tests/ofc22/tests/Fixtures.py
@@ -1,33 +1,9 @@
 import pytest
 from common.Settings import get_setting
 from compute.tests.mock_osm.MockOSM import MockOSM
-from context.client.ContextClient import ContextClient
-from device.client.DeviceClient import DeviceClient
-from monitoring.client.MonitoringClient import MonitoringClient
 from .Objects import WIM_MAPPING, WIM_PASSWORD, WIM_USERNAME
 
 
-@pytest.fixture(scope='session')
-def context_client():
-    _client = ContextClient()
-    yield _client
-    _client.close()
-
-
-@pytest.fixture(scope='session')
-def device_client():
-    _client = DeviceClient()
-    yield _client
-    _client.close()
-
-
-@pytest.fixture(scope='session')
-def monitoring_client():
-    _client = MonitoringClient()
-    yield _client
-    _client.close()
-
-
 @pytest.fixture(scope='session')
 def osm_wim():
     wim_url = 'http://{:s}:{:s}'.format(
diff --git a/src/tests/ofc22/tests/test_functional_bootstrap.py b/src/tests/ofc22/tests/test_functional_bootstrap.py
index 6b8c3f1fc..76c52810b 100644
--- a/src/tests/ofc22/tests/test_functional_bootstrap.py
+++ b/src/tests/ofc22/tests/test_functional_bootstrap.py
@@ -26,7 +26,7 @@ from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import Context, ContextId, Device, Empty, Link, Topology
 from device.client.DeviceClient import DeviceClient
 from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
-from .Fixtures import context_client, device_client, monitoring_client
+from tests.Fixtures import context_client, device_client, monitoring_client
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
diff --git a/src/tests/ofc22/tests/test_functional_cleanup.py b/src/tests/ofc22/tests/test_functional_cleanup.py
index 4fdeb1916..b0dfe5490 100644
--- a/src/tests/ofc22/tests/test_functional_cleanup.py
+++ b/src/tests/ofc22/tests/test_functional_cleanup.py
@@ -23,7 +23,7 @@ from context.client.ContextClient import ContextClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import ContextId, DeviceId, Empty, LinkId, TopologyId
 from device.client.DeviceClient import DeviceClient
-from .Fixtures import context_client, device_client
+from tests.Fixtures import context_client, device_client
 from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES
 
 LOGGER = logging.getLogger(__name__)
diff --git a/src/tests/ofc22/tests/test_functional_create_service.py b/src/tests/ofc22/tests/test_functional_create_service.py
index ea7decfc0..5615f119b 100644
--- a/src/tests/ofc22/tests/test_functional_create_service.py
+++ b/src/tests/ofc22/tests/test_functional_create_service.py
@@ -25,7 +25,8 @@ from context.client.ContextClient import ContextClient
 from monitoring.client.MonitoringClient import MonitoringClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import ContextId, Empty
-from .Fixtures import context_client, monitoring_client, osm_wim
+from tests.Fixtures import context_client, monitoring_client
+from .Fixtures import osm_wim
 from .Objects import (
     CONTEXT_ID, CONTEXTS, DEVICE_O1_UUID, DEVICE_R1_UUID, DEVICE_R3_UUID, DEVICES, LINKS, TOPOLOGIES,
     WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE)
diff --git a/src/tests/ofc22/tests/test_functional_delete_service.py b/src/tests/ofc22/tests/test_functional_delete_service.py
index 391df9916..5d9568cd8 100644
--- a/src/tests/ofc22/tests/test_functional_delete_service.py
+++ b/src/tests/ofc22/tests/test_functional_delete_service.py
@@ -24,7 +24,8 @@ from compute.tests.mock_osm.MockOSM import MockOSM
 from context.client.ContextClient import ContextClient
 from context.client.EventsCollector import EventsCollector
 from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum
-from .Fixtures import context_client, osm_wim
+from tests.Fixtures import context_client
+from .Fixtures import osm_wim
 from .Objects import (
     CONTEXT_ID, CONTEXTS, DEVICE_O1_UUID, DEVICE_R1_UUID, DEVICE_R3_UUID, DEVICES, LINKS, TOPOLOGIES, WIM_MAPPING,
     WIM_PASSWORD, WIM_USERNAME)
-- 
GitLab