diff --git a/deploy/tfs.sh b/deploy/tfs.sh index cd27f903c4c0c938ae374e18f77cdae14e665641..e11717394b8b90f5b617fce547211f985ac0bf08 100755 --- a/deploy/tfs.sh +++ b/deploy/tfs.sh @@ -133,7 +133,7 @@ kubectl create secret generic crdb-data --namespace ${TFS_K8S_NAMESPACE} --type= printf "\n" echo ">>> Create Secret with Apache Kafka..." -KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-public -o 'jsonpath={.spec.ports[0].port}') +KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-service -o 'jsonpath={.spec.ports[0].port}') kubectl create secret generic kfk-kpi-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \ --from-literal=KFK_NAMESPACE=${KFK_NAMESPACE} \ --from-literal=KFK_SERVER_PORT=${KFK_SERVER_PORT} diff --git a/manifests/kafka/single-node.yaml b/manifests/kafka/single-node.yaml index 85ab01f219aa5eac17be08254e43e676a73df59e..6eb9bd03c1c9f3224853a7e4155c6b9101d5154b 100644 --- a/manifests/kafka/single-node.yaml +++ b/manifests/kafka/single-node.yaml @@ -15,7 +15,7 @@ apiVersion: v1 kind: Service metadata: - name: kafka-public + name: kafka-service labels: app.kubernetes.io/component: message-broker app.kubernetes.io/instance: kafka @@ -50,7 +50,7 @@ spec: app.kubernetes.io/component: message-broker app.kubernetes.io/instance: kafka app.kubernetes.io/name: kafka - serviceName: "kafka-public" + serviceName: "kafka-service" replicas: 1 minReadySeconds: 5 template: @@ -83,7 +83,7 @@ spec: - name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP value: "PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT" - name: KAFKA_CFG_ADVERTISED_LISTENERS - value: "PLAINTEXT://kafka-public.kafka.svc.cluster.local:9092,EXTERNAL://localhost:9094" + value: "PLAINTEXT://kafka-service.kafka.svc.cluster.local:9092,EXTERNAL://localhost:9094" - name: KAFKA_CFG_CONTROLLER_LISTENER_NAMES value: "CONTROLLER" - name: KAFKA_CFG_CONTROLLER_QUORUM_VOTERS diff --git a/src/common/tools/object_factory/PolicyRule.py b/src/common/tools/object_factory/PolicyRule.py index 7622cedb7338a93e8a314baa2c33e645b29e72de..371fc816d5c415979625a9206e81ceade7843b0d 100644 --- a/src/common/tools/object_factory/PolicyRule.py +++ b/src/common/tools/object_factory/PolicyRule.py @@ -22,19 +22,23 @@ def json_policyrule_id(policyrule_uuid : str) -> Dict: return {'uuid': {'uuid': policyrule_uuid}} def json_policyrule( - policyrule_uuid : str, policy_priority : int = 1, policy_kpi_id : str = '', - policy_state : PolicyRuleStateEnum = PolicyRuleStateEnum.POLICY_UNDEFINED, policy_state_message : str = '', - action_list : List[Dict] = [], service_id : Optional[Dict] = None, device_id_list : List[Dict] = [] + policyrule_uuid : str, + state : PolicyRuleStateEnum = PolicyRuleStateEnum.POLICY_UNDEFINED, state_message : str = '', + priority : int = 1, action_list : List[Dict] = [], list_kpi_id : List[str] = list(), + service_id : Optional[Dict] = None, device_id_list : List[Dict] = [] ) -> Dict: basic = { 'policyRuleId': json_policyrule_id(policyrule_uuid), 'policyRuleState': { - 'policyRuleState': policy_state, - 'policyRuleStateMessage': policy_state_message, + 'policyRuleState': state, + 'policyRuleStateMessage': state_message, }, - 'priority': policy_priority, - 'kpiId': {'kpi_id': {'uuid': policy_kpi_id}}, + 'policyRulePriority': priority, 'actionList': action_list, + 'policyRuleKpiList': [ + {'policyRuleKpiUuid': {'uuid': kpi_id}} + for kpi_id in list_kpi_id + ], } result = {} diff --git a/src/context/service/database/PolicyRule.py b/src/context/service/database/PolicyRule.py index 3a02e187e98cd504dcce39bedd802068a6862505..e488ac61455d8ebc95c26087f5ff50ab6e68da68 100644 --- a/src/context/service/database/PolicyRule.py +++ b/src/context/service/database/PolicyRule.py @@ -82,18 +82,22 @@ def policyrule_set(db_engine : Engine, messagebroker : MessageBroker, request : 'actionList': json_policyrule_basic.get('actionList', []), }, sort_keys=True) + policyrule_list_kpi_id = [ + kpi_id.policyRuleKpiUuid.uuid for kpi_id in policyrule_basic.policyRuleKpiList + ] + now = datetime.datetime.now(datetime.timezone.utc) policyrule_data = [{ - 'policyrule_uuid' : policyrule_uuid, - 'policyrule_kind' : policyrule_kind, - 'policyrule_state' : policyrule_state, - 'policyrule_state_msg': policyrule_state_msg, - 'policyrule_priority' : policyrule_basic.priority, - 'policyrule_kpi_id' : policyrule_basic.kpiId.kpi_id.uuid, - 'policyrule_eca_data' : policyrule_eca_data, - 'created_at' : now, - 'updated_at' : now, + 'policyrule_uuid' : policyrule_uuid, + 'policyrule_kind' : policyrule_kind, + 'policyrule_state' : policyrule_state, + 'policyrule_state_msg' : policyrule_state_msg, + 'policyrule_priority' : policyrule_basic.policyRulePriority, + 'policyrule_list_kpi_id' : policyrule_list_kpi_id, + 'policyrule_eca_data' : policyrule_eca_data, + 'created_at' : now, + 'updated_at' : now, }] policyrule_service_uuid = None @@ -117,12 +121,12 @@ def policyrule_set(db_engine : Engine, messagebroker : MessageBroker, request : stmt = stmt.on_conflict_do_update( index_elements=[PolicyRuleModel.policyrule_uuid], set_=dict( - policyrule_state = stmt.excluded.policyrule_state, - policyrule_state_msg = stmt.excluded.policyrule_state_msg, - policyrule_priority = stmt.excluded.policyrule_priority, - policyrule_kpi_id = stmt.excluded.policyrule_kpi_id, - policyrule_eca_data = stmt.excluded.policyrule_eca_data, - updated_at = stmt.excluded.updated_at, + policyrule_state = stmt.excluded.policyrule_state, + policyrule_state_msg = stmt.excluded.policyrule_state_msg, + policyrule_priority = stmt.excluded.policyrule_priority, + policyrule_list_kpi_id = stmt.excluded.policyrule_list_kpi_id, + policyrule_eca_data = stmt.excluded.policyrule_eca_data, + updated_at = stmt.excluded.updated_at, ) ) stmt = stmt.returning(PolicyRuleModel.created_at, PolicyRuleModel.updated_at) diff --git a/src/context/service/database/models/PolicyRuleModel.py b/src/context/service/database/models/PolicyRuleModel.py index 4f6ead28037b5f293503b8f35ca84de33a77e93a..f8ead47dc8a84fd68f3b167671538d88fc1e13de 100644 --- a/src/context/service/database/models/PolicyRuleModel.py +++ b/src/context/service/database/models/PolicyRuleModel.py @@ -14,7 +14,7 @@ import enum, json from sqlalchemy import CheckConstraint, Column, DateTime, Enum, ForeignKey, Integer, String -from sqlalchemy.dialects.postgresql import UUID +from sqlalchemy.dialects.postgresql import ARRAY, UUID from sqlalchemy.orm import relationship from typing import Dict from .enums.PolicyRuleState import ORM_PolicyRuleStateEnum @@ -33,7 +33,7 @@ class PolicyRuleModel(_Base): policyrule_state = Column(Enum(ORM_PolicyRuleStateEnum), nullable=False) policyrule_state_msg = Column(String, nullable=False) policyrule_priority = Column(Integer, nullable=False) - policyrule_kpi_id = Column(String, nullable=False) + policyrule_list_kpi_id = Column(ARRAY(String, dimensions=1), nullable=False) policyrule_service_uuid = Column(ForeignKey('service.service_uuid', ondelete='RESTRICT'), nullable=True, index=True) policyrule_eca_data = Column(String, nullable=False) created_at = Column(DateTime, nullable=False) @@ -50,20 +50,30 @@ class PolicyRuleModel(_Base): return {'uuid': {'uuid': self.policyrule_uuid}} def dump(self) -> Dict: - # Load JSON-encoded Event-Condition-Action (ECA) model data and populate with policy basic details + # Load JSON-encoded Event-Condition-Action (ECA) model data policyrule_basic = json.loads(self.policyrule_eca_data) + + # Populate policy rule basic details policyrule_basic.update({ 'policyRuleId': self.dump_id(), 'policyRuleState': { 'policyRuleState': self.policyrule_state.value, 'policyRuleStateMessage': self.policyrule_state_msg, }, - 'priority': self.policyrule_priority, - 'kpiId': {'kpi_id': {'uuid': self.policyrule_kpi_id}}, + 'policyRulePriority': self.policyrule_priority, + 'policyRuleKpiList': [ + {'policyRuleKpiUuid': {'uuid': kpi_id}} + for kpi_id in self.policyrule_list_kpi_id + ] }) + + # Compose final Policy Rule result = { 'policyRuleBasic': policyrule_basic, - 'deviceList': [{'device_uuid': {'uuid': pr_d.device_uuid}} for pr_d in self.policyrule_devices], + 'deviceList': [ + {'device_uuid': {'uuid': pr_d.device_uuid}} + for pr_d in self.policyrule_devices + ], } if self.policyrule_kind == PolicyRuleKindEnum.SERVICE: result['serviceId'] = self.policyrule_service.dump_id() diff --git a/src/context/tests/Objects.py b/src/context/tests/Objects.py index 2e7852548501dac4b334007ad49684bccbc0c33d..63155ca7d3a71c1e481b9d1c5712cefaffe35cf0 100644 --- a/src/context/tests/Objects.py +++ b/src/context/tests/Objects.py @@ -186,4 +186,4 @@ CONNECTION_R1_R3_NAME, CONNECTION_R1_R3_ID, CONNECTION_R1_R3 = compose_connectio # ----- PolicyRule ------------------------------------------------------------------------------------------------------- POLICYRULE_NAME = 'my-device-policy' POLICYRULE_ID = json_policyrule_id(POLICYRULE_NAME) -POLICYRULE = json_policyrule(POLICYRULE_NAME, policy_priority=1, policy_kpi_id='my-kpi-id') +POLICYRULE = json_policyrule(POLICYRULE_NAME, priority=1, list_kpi_id=['my-kpi-id-1']) diff --git a/src/context/tests/test_policy.py b/src/context/tests/test_policy.py index 45592308c11bbeb47d5eb3139a04b2eec793f0c9..65b097bb0e26950c128a5f7a7a581dc84fe89d45 100644 --- a/src/context/tests/test_policy.py +++ b/src/context/tests/test_policy.py @@ -45,9 +45,11 @@ def test_policy(context_client : ContextClient): # ----- Get when the object exists --------------------------------------------------------------------------------- response = context_client.GetPolicyRule(PolicyRuleId(**POLICYRULE_ID)) - assert response.device.policyRuleBasic.policyRuleId.uuid.uuid == policyrule_uuid - assert response.device.policyRuleBasic.priority == 1 - assert response.device.policyRuleBasic.kpiId.kpi_id.uuid == 'my-kpi-id' + policy_basic = response.device.policyRuleBasic + assert policy_basic.policyRuleId.uuid.uuid == policyrule_uuid + assert policy_basic.policyRulePriority == 1 + assert len(policy_basic.policyRuleKpiList) == 1 + assert policy_basic.policyRuleKpiList[0].policyRuleKpiUuid.uuid == 'my-kpi-id-1' # ----- List when the object exists -------------------------------------------------------------------------------- response = context_client.ListPolicyRuleIds(Empty()) @@ -56,16 +58,21 @@ def test_policy(context_client : ContextClient): response = context_client.ListPolicyRules(Empty()) assert len(response.policyRules) == 1 - assert response.policyRules[0].device.policyRuleBasic.policyRuleId.uuid.uuid == policyrule_uuid - assert response.policyRules[0].device.policyRuleBasic.priority == 1 - assert response.policyRules[0].device.policyRuleBasic.kpiId.kpi_id.uuid == 'my-kpi-id' + policy_basic = response.policyRules[0].device.policyRuleBasic + assert policy_basic.policyRuleId.uuid.uuid == policyrule_uuid + assert policy_basic.policyRulePriority == 1 + assert len(policy_basic.policyRuleKpiList) == 1 + assert policy_basic.policyRuleKpiList[0].policyRuleKpiUuid.uuid == 'my-kpi-id-1' # ----- Update the object ------------------------------------------------------------------------------------------ new_policy_priority = 100 - new_policy_kpi_id = 'new-kpi-id' + new_policy_list_kpi_id = ['my-kpi-id-1', 'my-kpi-id-2'] POLICYRULE_UPDATED = copy.deepcopy(POLICYRULE) - POLICYRULE_UPDATED['device']['policyRuleBasic']['priority'] = new_policy_priority - POLICYRULE_UPDATED['device']['policyRuleBasic']['kpiId']['kpi_id']['uuid'] = new_policy_kpi_id + POLICYRULE_UPDATED['device']['policyRuleBasic']['policyRulePriority'] = new_policy_priority + POLICYRULE_UPDATED['device']['policyRuleBasic']['policyRuleKpiList'] = [ + {'policyRuleKpiUuid': {'uuid': kpi_id}} + for kpi_id in new_policy_list_kpi_id + ] response = context_client.SetPolicyRule(PolicyRule(**POLICYRULE_UPDATED)) assert response.uuid.uuid == policyrule_uuid @@ -80,9 +87,12 @@ def test_policy(context_client : ContextClient): response = context_client.ListPolicyRules(Empty()) assert len(response.policyRules) == 1 - assert response.policyRules[0].device.policyRuleBasic.policyRuleId.uuid.uuid == policyrule_uuid - assert response.policyRules[0].device.policyRuleBasic.priority == new_policy_priority - assert response.policyRules[0].device.policyRuleBasic.kpiId.kpi_id.uuid == new_policy_kpi_id + policy_basic = response.policyRules[0].device.policyRuleBasic + assert policy_basic.policyRuleId.uuid.uuid == policyrule_uuid + assert policy_basic.policyRulePriority == new_policy_priority + assert len(policy_basic.policyRuleKpiList) == 2 + for i,kpi_id in enumerate(new_policy_list_kpi_id): + assert policy_basic.policyRuleKpiList[i].policyRuleKpiUuid.uuid == kpi_id # ----- Remove the object ------------------------------------------------------------------------------------------ context_client.RemovePolicyRule(PolicyRuleId(**POLICYRULE_ID)) diff --git a/src/policy/src/main/proto/policy_condition.proto b/src/policy/src/main/proto/policy_condition.proto deleted file mode 120000 index 31f7d9d10539de8c0a1bf06cf6393b86ab223c16..0000000000000000000000000000000000000000 --- a/src/policy/src/main/proto/policy_condition.proto +++ /dev/null @@ -1 +0,0 @@ -../../../../../proto/policy_condition.proto \ No newline at end of file diff --git a/src/service/tests/qkd/Fixtures.py b/src/service/tests/qkd/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..507c13b484e2951da1a4483a37e1b638b3e12cf6 --- /dev/null +++ b/src/service/tests/qkd/Fixtures.py @@ -0,0 +1,31 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient + + +@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() diff --git a/src/service/tests/qkd/__init__.py b/src/service/tests/qkd/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b53987a4eae1aed245eba5c7ddd8cd10e35919c2 --- /dev/null +++ b/src/service/tests/qkd/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/src/service/tests/qkd/test_functional_bootstrap.py b/src/service/tests/qkd/test_functional_bootstrap.py index 80db786d7f96842a528af8a4941326e0bc6577fd..e82e0d79a94884ee1d2b1b1e3f24f1ce45970809 100644 --- a/src/service/tests/qkd/test_functional_bootstrap.py +++ b/src/service/tests/qkd/test_functional_bootstrap.py @@ -12,14 +12,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging, os, time, json, socket, re +import json, logging, os, re, socket, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) @@ -149,4 +157,4 @@ def test_qkd_devices_enabled( # Final check to ensure all devices are enabled print(f"Final device status: {num_devices_enabled}/{num_devices} devices enabled.") assert num_devices_enabled == num_devices - print("QKD devices enabled test completed.") \ No newline at end of file + print("QKD devices enabled test completed.") diff --git a/src/telemetry/backend/tests/gnmi_oc/test_integration_GnmiOCcollector.py b/src/telemetry/backend/tests/gnmi_oc/test_integration_GnmiOCcollector.py index 3efb846219a7c513d9d413b5154cd150a97e113e..6543c87436fdc6ab1e34136b0c93ca4df21d906a 100644 --- a/src/telemetry/backend/tests/gnmi_oc/test_integration_GnmiOCcollector.py +++ b/src/telemetry/backend/tests/gnmi_oc/test_integration_GnmiOCcollector.py @@ -164,7 +164,7 @@ def telemetry_backend_service(): # + Uncomment test_add_to_topology() in helper methods section to add a device. # - A KPI Descriptor must be added in KPI DB with correct device_id. # + Uncomment test_SetKpiDescriptor() in helper methods section to add a KPI Descriptor. - # - Kafka should be exposed externally 'kubectl port-forward -n kafka service/kafka-public 9094:9094'. + # - Kafka should be exposed externally 'kubectl port-forward -n kafka service/kafka-service 9094:9094'. def test_helper_get_collector_by_kpi_id(kpi_manager_client, context_client): LOGGER.info("Testing get_collector_by_kpi_id...") diff --git a/src/tests/acl_end2end/tests/test_cleanup.py b/src/tests/acl_end2end/tests/test_cleanup.py index 20afb5fe02d63f64de45fe87830e8996302c4395..91d90e7b46a8295061626e2ce19a9a1e4e16be2d 100644 --- a/src/tests/acl_end2end/tests/test_cleanup.py +++ b/src/tests/acl_end2end/tests/test_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/acl_end2end/tests/test_onboarding.py b/src/tests/acl_end2end/tests/test_onboarding.py index 763d7da171c99b781a6d25fc01e3c10c340bfb43..5d652e6f58948fd20772fe756ba7eb8776f00384 100644 --- a/src/tests/acl_end2end/tests/test_onboarding.py +++ b/src/tests/acl_end2end/tests/test_onboarding.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/Fixtures.py b/src/tests/automation/Fixtures.py similarity index 84% rename from src/tests/Fixtures.py rename to src/tests/automation/Fixtures.py index 9aa9a1c6a83ab7ea7125fd3564748830c07af18d..40eb419f595a69fb17d52c27a15c5a78b3ee9f30 100644 --- a/src/tests/Fixtures.py +++ b/src/tests/automation/Fixtures.py @@ -1,4 +1,4 @@ -# Copyright 2022-2025 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,44 +13,41 @@ # limitations under the License. import pytest +from automation.client.AutomationClient import AutomationClient from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from e2e_orchestrator.client.E2EOrchestratorClient import E2EOrchestratorClient from kpi_manager.client.KpiManagerClient import KpiManagerClient from service.client.ServiceClient import ServiceClient -from automation.client.AutomationClient import AutomationClient -@pytest.fixture(scope='session') -def service_client(): - _client = ServiceClient() - yield _client - _client.close() - @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 e2eorchestrator_client(): - _client = E2EOrchestratorClient() +def service_client(): + _client = ServiceClient() yield _client _client.close() + @pytest.fixture(scope='session') def automation_client(): _client = AutomationClient() yield _client _client.close() + @pytest.fixture(scope='session') def kpi_manager_client(): _client = KpiManagerClient() diff --git a/src/tests/automation/test_functional_automation.py b/src/tests/automation/test_functional_automation.py index b4505931c03854b279c61c94586295a6d70160a2..9f692bf014b46dd34f7b5b588f488c55d19462e0 100644 --- a/src/tests/automation/test_functional_automation.py +++ b/src/tests/automation/test_functional_automation.py @@ -12,27 +12,37 @@ # See the License for the specific language governing permissions and # limitations under the License. -import json -import logging -import os -import uuid -from common.proto.analytics_frontend_pb2 import AnalyzerId, AnalyzerOperationMode -from common.proto.automation_pb2 import ZSMCreateRequest -from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceList -from common.proto.kpi_manager_pb2 import KpiId, KpiDescriptorList, KpiDescriptorFilter -from common.proto.policy_pb2 import PolicyRuleKpiId -from common.proto.policy_action_pb2 import PolicyRuleAction, PolicyRuleActionEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +import json, logging, os, uuid + from automation.client.AutomationClient import AutomationClient +from common.proto.analytics_frontend_pb2 import ( + AnalyzerId, AnalyzerOperationMode, +) +from common.proto.automation_pb2 import ZSMCreateRequest +from common.proto.context_pb2 import ( + ContextId, ServiceId, ServiceList, ServiceStatusEnum, +) +from common.proto.kpi_manager_pb2 import ( + KpiDescriptorFilter, KpiDescriptorList, KpiId, +) +from common.proto.policy_action_pb2 import ( + PolicyRuleAction, PolicyRuleActionEnum, +) +from common.proto.policy_pb2 import PolicyRuleKpiId, PolicyRuleStateEnum +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from kpi_manager.client.KpiManagerClient import KpiManagerClient -from common.proto.policy_pb2 import PolicyRuleStateEnum from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, \ - service_client, automation_client, kpi_manager_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( + automation_client, context_client, device_client, kpi_manager_client, + service_client, +) # pylint: disable=unused-import + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/benchmark/policy/tests/Fixtures.py b/src/tests/benchmark/policy/tests/Fixtures.py index b6e5d0d5966c530f45fc94b9816b51049ec359b3..b1d338bd4b502d4b7a31283b07a16ae19d4246f8 100644 --- a/src/tests/benchmark/policy/tests/Fixtures.py +++ b/src/tests/benchmark/policy/tests/Fixtures.py @@ -12,14 +12,41 @@ # See the License for the specific language governing permissions and # limitations under the License. -import pytest, logging +import logging + +import pytest from common.Settings import get_setting +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from monitoring.client.MonitoringClient import MonitoringClient from tests.tools.mock_osm.Constants import WIM_PASSWORD, WIM_USERNAME from tests.tools.mock_osm.MockOSM import MockOSM from .Objects import WIM_MAPPING LOGGER = logging.getLogger(__name__) + +@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/benchmark/policy/tests/test_functional_bootstrap.py b/src/tests/benchmark/policy/tests/test_functional_bootstrap.py index c9711ddbd940a197c86406a906a755f1f7d90b6c..a6ba495f4cd2149ca2c6bf5e0eed78700697e76e 100644 --- a/src/tests/benchmark/policy/tests/test_functional_bootstrap.py +++ b/src/tests/benchmark/policy/tests/test_functional_bootstrap.py @@ -13,15 +13,21 @@ # limitations under the License. import logging, time + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, Empty from common.proto.monitoring_pb2 import KpiDescriptorList -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from monitoring.client.MonitoringClient import MonitoringClient -from tests.Fixtures import context_client, device_client, monitoring_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, monitoring_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/benchmark/policy/tests/test_functional_cleanup.py b/src/tests/benchmark/policy/tests/test_functional_cleanup.py index 25632738e9f5a0e84f7fc4b8c15e306f64b96212..b03b5a879984833b97297e12e86ee67d0a6fe886 100644 --- a/src/tests/benchmark/policy/tests/test_functional_cleanup.py +++ b/src/tests/benchmark/policy/tests/test_functional_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/benchmark/policy/tests/test_functional_create_service.py b/src/tests/benchmark/policy/tests/test_functional_create_service.py index c1915938cb97895d4bab3f18f9a4cd991dbb1f9a..3b4c9ef12299d09af16aa9468708aeef5aad95c1 100644 --- a/src/tests/benchmark/policy/tests/test_functional_create_service.py +++ b/src/tests/benchmark/policy/tests/test_functional_create_service.py @@ -13,6 +13,7 @@ # limitations under the License. import logging, random + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum from common.proto.kpi_sample_types_pb2 import KpiSampleType @@ -21,9 +22,11 @@ from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from monitoring.client.MonitoringClient import MonitoringClient -from tests.Fixtures import context_client, monitoring_client # pylint: disable=unused-import from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import + +from .Fixtures import ( + context_client, monitoring_client, osm_wim, +) # pylint: disable=unused-import from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE LOGGER = logging.getLogger(__name__) diff --git a/src/tests/benchmark/policy/tests/test_functional_delete_service.py b/src/tests/benchmark/policy/tests/test_functional_delete_service.py index 995fb808c3f11b7980a0b4734b04d1fb48eb3a99..3d16daa749df3a78319903abb7cf0393b33c6c49 100644 --- a/src/tests/benchmark/policy/tests/test_functional_delete_service.py +++ b/src/tests/benchmark/policy/tests/test_functional_delete_service.py @@ -13,15 +13,16 @@ # limitations under the License. import logging + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client # pylint: disable=unused-import from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import + +from .Fixtures import context_client, osm_wim # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/benchmark/ztp/tests/Fixtures.py b/src/tests/benchmark/ztp/tests/Fixtures.py index b6e5d0d5966c530f45fc94b9816b51049ec359b3..b1d338bd4b502d4b7a31283b07a16ae19d4246f8 100644 --- a/src/tests/benchmark/ztp/tests/Fixtures.py +++ b/src/tests/benchmark/ztp/tests/Fixtures.py @@ -12,14 +12,41 @@ # See the License for the specific language governing permissions and # limitations under the License. -import pytest, logging +import logging + +import pytest from common.Settings import get_setting +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from monitoring.client.MonitoringClient import MonitoringClient from tests.tools.mock_osm.Constants import WIM_PASSWORD, WIM_USERNAME from tests.tools.mock_osm.MockOSM import MockOSM from .Objects import WIM_MAPPING LOGGER = logging.getLogger(__name__) + +@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/benchmark/ztp/tests/test_functional_bootstrap.py b/src/tests/benchmark/ztp/tests/test_functional_bootstrap.py index 1067e966146feaba1410fe6d9576a593cebf88d6..bc8f7bbe0dbc6e094cee117361b3e6a7b1b81398 100644 --- a/src/tests/benchmark/ztp/tests/test_functional_bootstrap.py +++ b/src/tests/benchmark/ztp/tests/test_functional_bootstrap.py @@ -12,21 +12,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -import copy, logging, pytest -from common.Settings import get_setting +import copy, logging + +import pytest + +from common.proto.context_pb2 import Context, ContextId, Device, Empty, Topology from common.proto.monitoring_pb2 import KpiDescriptorList +from common.Settings import get_setting from common.tests.EventTools import EVENT_CREATE, EVENT_UPDATE, check_events from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Device import json_device_id from common.tools.object_factory.Link import json_link_id from common.tools.object_factory.Topology import json_topology_id from context.client.ContextClient import ContextClient -from monitoring.client.MonitoringClient import MonitoringClient from context.client.EventsCollector import EventsCollector -from common.proto.context_pb2 import Context, ContextId, Device, Empty, Topology from device.client.DeviceClient import DeviceClient +from monitoring.client.MonitoringClient import MonitoringClient + +from .Fixtures import ( + context_client, device_client, monitoring_client, +) # pylint: disable=unused-import from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, TOPOLOGIES -from tests.Fixtures import context_client, device_client, monitoring_client LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) @@ -107,4 +113,4 @@ def test_links_created(context_client : ContextClient): # pylint: disable=redef assert len(response.topologies) == len(TOPOLOGIES) response = context_client.ListDevices(Empty()) - assert len(response.devices) == len(DEVICES) \ No newline at end of file + assert len(response.devices) == len(DEVICES) diff --git a/src/tests/benchmark/ztp/tests/test_functional_cleanup.py b/src/tests/benchmark/ztp/tests/test_functional_cleanup.py index 5938e37b84d3e213b9c4a2eaacd1431a962f2e37..d14ad42086554c44e29d27f9ebfe6f1ca3ded5df 100644 --- a/src/tests/benchmark/ztp/tests/test_functional_cleanup.py +++ b/src/tests/benchmark/ztp/tests/test_functional_cleanup.py @@ -12,7 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging, pytest +import logging + +import pytest + +from common.proto.context_pb2 import ( + ContextId, DeviceId, Empty, LinkId, TopologyId, +) from common.Settings import get_setting from common.tests.EventTools import EVENT_REMOVE, check_events from common.tools.object_factory.Context import json_context_id @@ -21,9 +27,11 @@ from common.tools.object_factory.Link import json_link_id from common.tools.object_factory.Topology import json_topology_id 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 tests.Fixtures import context_client, device_client + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, TOPOLOGIES LOGGER = logging.getLogger(__name__) diff --git a/src/tests/ecoc22/tests/Fixtures.py b/src/tests/ecoc22/tests/Fixtures.py index b6e5d0d5966c530f45fc94b9816b51049ec359b3..25cfc385418959a675874e7a0c158547a0327405 100644 --- a/src/tests/ecoc22/tests/Fixtures.py +++ b/src/tests/ecoc22/tests/Fixtures.py @@ -12,14 +12,33 @@ # See the License for the specific language governing permissions and # limitations under the License. -import pytest, logging +import logging + +import pytest from common.Settings import get_setting +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient from tests.tools.mock_osm.Constants import WIM_PASSWORD, WIM_USERNAME from tests.tools.mock_osm.MockOSM import MockOSM from .Objects import WIM_MAPPING LOGGER = logging.getLogger(__name__) + +@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 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 a72512a179f810683411ecfc9f64376d94e9cda1..70fc6b489bc347137d62305420879eb45595568d 100644 --- a/src/tests/ecoc22/tests/test_functional_bootstrap.py +++ b/src/tests/ecoc22/tests/test_functional_bootstrap.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ecoc22/tests/test_functional_cleanup.py b/src/tests/ecoc22/tests/test_functional_cleanup.py index 94217423da33d6525cde16bce71f3ae6965ef988..a6d1eddedfa5468ad225b348a4213f162d5569bc 100644 --- a/src/tests/ecoc22/tests/test_functional_cleanup.py +++ b/src/tests/ecoc22/tests/test_functional_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ecoc22/tests/test_functional_create_service.py b/src/tests/ecoc22/tests/test_functional_create_service.py index da411d4330211b0cddefc6bfffc1a487e52513a5..e04d573cd54bb83715e9b21a40a97899a525bd8e 100644 --- a/src/tests/ecoc22/tests/test_functional_create_service.py +++ b/src/tests/ecoc22/tests/test_functional_create_service.py @@ -13,15 +13,16 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client # pylint: disable=unused-import from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import + +from .Fixtures import context_client, osm_wim # pylint: disable=unused-import from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE LOGGER = logging.getLogger(__name__) diff --git a/src/tests/ecoc22/tests/test_functional_delete_service.py b/src/tests/ecoc22/tests/test_functional_delete_service.py index 24463012ecf37512b158d6febe39e5e91de1a92e..550a42656a365560b050f019cfcd88fbad169740 100644 --- a/src/tests/ecoc22/tests/test_functional_delete_service.py +++ b/src/tests/ecoc22/tests/test_functional_delete_service.py @@ -13,15 +13,16 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client # pylint: disable=unused-import from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import + +from .Fixtures import context_client, osm_wim # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/eucnc24/tests/test_cleanup.py b/src/tests/eucnc24/tests/test_cleanup.py index 20afb5fe02d63f64de45fe87830e8996302c4395..91d90e7b46a8295061626e2ce19a9a1e4e16be2d 100644 --- a/src/tests/eucnc24/tests/test_cleanup.py +++ b/src/tests/eucnc24/tests/test_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/eucnc24/tests/test_onboarding.py b/src/tests/eucnc24/tests/test_onboarding.py index 763d7da171c99b781a6d25fc01e3c10c340bfb43..5d652e6f58948fd20772fe756ba7eb8776f00384 100644 --- a/src/tests/eucnc24/tests/test_onboarding.py +++ b/src/tests/eucnc24/tests/test_onboarding.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/eucnc24/tests/test_service_ietf_create.py b/src/tests/eucnc24/tests/test_service_ietf_create.py index c1d761f403b5fc0268ee819401f0f1c6a0536f77..02ef43e28f5ef040ae41a06a7f86cb734ffa6398 100644 --- a/src/tests/eucnc24/tests/test_service_ietf_create.py +++ b/src/tests/eucnc24/tests/test_service_ietf_create.py @@ -13,14 +13,17 @@ # limitations under the License. import json, logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_get_request, do_rest_post_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_get_request, do_rest_post_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/eucnc24/tests/test_service_ietf_remove.py b/src/tests/eucnc24/tests/test_service_ietf_remove.py index d0dad7a2d7ad2192fcd1344dd4dafcaf92eaec48..3dc7051fa21a6a6f86d276e20dbc6d2cb58a3751 100644 --- a/src/tests/eucnc24/tests/test_service_ietf_remove.py +++ b/src/tests/eucnc24/tests/test_service_ietf_remove.py @@ -14,14 +14,17 @@ import logging, os from typing import Set + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_delete_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_delete_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/eucnc24/tests/test_service_tfs_create.py b/src/tests/eucnc24/tests/test_service_tfs_create.py index 3016027927e0cf20b5abffcffb7d76ede6c5e264..8884adcac4cc97316b4e788705e80c9864a3a096 100644 --- a/src/tests/eucnc24/tests/test_service_tfs_create.py +++ b/src/tests/eucnc24/tests/test_service_tfs_create.py @@ -13,16 +13,23 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from .Fixtures import context_client, device_client, service_client # pylint: disable=unused-import +from .Fixtures import ( + context_client, device_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/eucnc24/tests/test_service_tfs_remove.py b/src/tests/eucnc24/tests/test_service_tfs_remove.py index 50d4acb7a56ea9321cdd43f12a13cf60ed3783e6..eaf6680787488f475f1218a42d82c1552bcdec23 100644 --- a/src/tests/eucnc24/tests/test_service_tfs_remove.py +++ b/src/tests/eucnc24/tests/test_service_tfs_remove.py @@ -14,15 +14,20 @@ import logging, os from typing import Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from .Fixtures import context_client, service_client # pylint: disable=unused-import +from .Fixtures import ( + context_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/l2_vpn_gnmi_oc/tests/test_cleanup.py b/src/tests/l2_vpn_gnmi_oc/tests/test_cleanup.py index 20afb5fe02d63f64de45fe87830e8996302c4395..91d90e7b46a8295061626e2ce19a9a1e4e16be2d 100644 --- a/src/tests/l2_vpn_gnmi_oc/tests/test_cleanup.py +++ b/src/tests/l2_vpn_gnmi_oc/tests/test_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/l2_vpn_gnmi_oc/tests/test_onboarding.py b/src/tests/l2_vpn_gnmi_oc/tests/test_onboarding.py index 763d7da171c99b781a6d25fc01e3c10c340bfb43..5d652e6f58948fd20772fe756ba7eb8776f00384 100644 --- a/src/tests/l2_vpn_gnmi_oc/tests/test_onboarding.py +++ b/src/tests/l2_vpn_gnmi_oc/tests/test_onboarding.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_create.py b/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_create.py index 480aee615487ec7aa96ae0f3321ffd1f56b8a73d..655d395c2e393d4cb1ba6dc56efedb516053a64f 100644 --- a/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_create.py +++ b/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_create.py @@ -13,14 +13,17 @@ # limitations under the License. import json, logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_get_request, do_rest_post_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_get_request, do_rest_post_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_remove.py b/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_remove.py index 58aa2321dd7ae6e065320c6bfe57731eba870fc7..0235c32a2c7135ac085e42df7a5d2ce4b3306581 100644 --- a/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_remove.py +++ b/src/tests/l2_vpn_gnmi_oc/tests/test_service_ietf_remove.py @@ -14,14 +14,17 @@ import logging, os from typing import Set + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_delete_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_delete_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_create.py b/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_create.py index 3e7abd640972c0852d57c82cc654e45c485c3d57..5d802e92eb5daafa34ae5bb3a48649075e3b9cc7 100644 --- a/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_create.py +++ b/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_create.py @@ -13,16 +13,23 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from .Fixtures import context_client, device_client, service_client # pylint: disable=unused-import +from .Fixtures import ( + context_client, device_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_remove.py b/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_remove.py index 137848f53adcfa8c4d06b203167bb1b47b55cf88..264f0de0a311a106fe14e3de9ea0fc4dfd786bbb 100644 --- a/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_remove.py +++ b/src/tests/l2_vpn_gnmi_oc/tests/test_service_tfs_remove.py @@ -14,15 +14,20 @@ import logging, os from typing import Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from .Fixtures import context_client, service_client # pylint: disable=unused-import +from .Fixtures import ( + context_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc22/tests/Fixtures.py b/src/tests/ofc22/tests/Fixtures.py index b6e5d0d5966c530f45fc94b9816b51049ec359b3..b1d338bd4b502d4b7a31283b07a16ae19d4246f8 100644 --- a/src/tests/ofc22/tests/Fixtures.py +++ b/src/tests/ofc22/tests/Fixtures.py @@ -12,14 +12,41 @@ # See the License for the specific language governing permissions and # limitations under the License. -import pytest, logging +import logging + +import pytest from common.Settings import get_setting +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from monitoring.client.MonitoringClient import MonitoringClient from tests.tools.mock_osm.Constants import WIM_PASSWORD, WIM_USERNAME from tests.tools.mock_osm.MockOSM import MockOSM from .Objects import WIM_MAPPING LOGGER = logging.getLogger(__name__) + +@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 523e533bf8b6cd6b3705ba75646561d17dd692e4..44e12c13105acdc31b1a88f3b028267ce9fcfd2b 100644 --- a/src/tests/ofc22/tests/test_functional_bootstrap.py +++ b/src/tests/ofc22/tests/test_functional_bootstrap.py @@ -13,15 +13,23 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) from common.proto.monitoring_pb2 import KpiDescriptorList -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from monitoring.client.MonitoringClient import MonitoringClient -from tests.Fixtures import context_client, device_client, monitoring_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, monitoring_client, +) # pylint: disable=unused-import 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 94217423da33d6525cde16bce71f3ae6965ef988..a6d1eddedfa5468ad225b348a4213f162d5569bc 100644 --- a/src/tests/ofc22/tests/test_functional_cleanup.py +++ b/src/tests/ofc22/tests/test_functional_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc22/tests/test_functional_create_service.py b/src/tests/ofc22/tests/test_functional_create_service.py index 09a1afcde03890d28cc85ff6fb600fa065e79ac6..eb8e07f70c26e928314f5f74fbdc1ad13615dc53 100644 --- a/src/tests/ofc22/tests/test_functional_create_service.py +++ b/src/tests/ofc22/tests/test_functional_create_service.py @@ -13,6 +13,7 @@ # limitations under the License. import logging, os, random + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum from common.proto.kpi_sample_types_pb2 import KpiSampleType @@ -21,9 +22,11 @@ from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from monitoring.client.MonitoringClient import MonitoringClient -from tests.Fixtures import context_client, monitoring_client # pylint: disable=unused-import from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import + +from .Fixtures import ( + context_client, monitoring_client, osm_wim, +) # pylint: disable=unused-import from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE LOGGER = logging.getLogger(__name__) diff --git a/src/tests/ofc22/tests/test_functional_delete_service.py b/src/tests/ofc22/tests/test_functional_delete_service.py index cdc3894b36d42275d6be7f973fdc9afcae84ee98..ef491b8f5421babed80b16fc248105453e8b4ae1 100644 --- a/src/tests/ofc22/tests/test_functional_delete_service.py +++ b/src/tests/ofc22/tests/test_functional_delete_service.py @@ -13,15 +13,16 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client # pylint: disable=unused-import from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import + +from .Fixtures import context_client, osm_wim # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc24/tests/Fixtures.py b/src/tests/ofc24/tests/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..69e4cbaa96d4b613088730eb6bca5c50770d17c6 --- /dev/null +++ b/src/tests/ofc24/tests/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@pytest.fixture(scope='session') +def context_client() -> ContextClient: + _client = ContextClient() + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def device_client() -> DeviceClient: + _client = DeviceClient() + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def service_client() -> ServiceClient: + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/ofc24/tests/test_functional_bootstrap.py b/src/tests/ofc24/tests/test_functional_bootstrap.py index 5bcf4dbb92fcfc41d190c2dcb983d0f368a9c363..ed914852dc21efc5d77e517e9cda7400676de98a 100644 --- a/src/tests/ofc24/tests/test_functional_bootstrap.py +++ b/src/tests/ofc24/tests/test_functional_bootstrap.py @@ -13,14 +13,24 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario -from common.tools.grpc.Tools import grpc_message_to_json, grpc_message_to_json_string +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) +from common.tools.grpc.Tools import ( + grpc_message_to_json, grpc_message_to_json_string, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc24/tests/test_functional_cleanup.py b/src/tests/ofc24/tests/test_functional_cleanup.py index 88c37dea3badf10ed04f0a6599c7a7592bf0ba07..d8dd7660d465557363052d560993c9c88f134405 100644 --- a/src/tests/ofc24/tests/test_functional_cleanup.py +++ b/src/tests/ofc24/tests/test_functional_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc24/tests/test_functional_create_service_bidir.py b/src/tests/ofc24/tests/test_functional_create_service_bidir.py index 022c32c83f77f9e0d41191747114c81b7d5e83e8..7ba1ba5b477e4bcc0a11575b2a6b5306514af616 100644 --- a/src/tests/ofc24/tests/test_functional_create_service_bidir.py +++ b/src/tests/ofc24/tests/test_functional_create_service_bidir.py @@ -13,15 +13,23 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc24/tests/test_functional_create_service_unidir.py b/src/tests/ofc24/tests/test_functional_create_service_unidir.py index 33fd0c3796724a69b686344f5d472ccaeb08ad63..a13073a9265c2f43658348291bc56502deaa4bce 100644 --- a/src/tests/ofc24/tests/test_functional_create_service_unidir.py +++ b/src/tests/ofc24/tests/test_functional_create_service_unidir.py @@ -13,15 +13,23 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc24/tests/test_functional_delete_service_bidir.py b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py index 9055313997f9dfd4f23cffb5cca166f9380839e9..3ff489472bd00122f4b912155c1678bc88f23ffc 100644 --- a/src/tests/ofc24/tests/test_functional_delete_service_bidir.py +++ b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py @@ -14,14 +14,20 @@ import logging from typing import Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py index 7e83b3812eca18242afb77f2c83f70053663e2cb..5e6ae6b6cea808000aad421357d21c95cb6dfb7e 100644 --- a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py +++ b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py @@ -14,14 +14,20 @@ import logging from typing import Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25-camara-agg-net-controller/tests/test_onboarding.py b/src/tests/ofc25-camara-agg-net-controller/tests/test_onboarding.py index 657e7c07accb221c2a8e0c85c716c8d3536a7414..58dee06445b6c261feaa0affb7ee93054b2ad941 100644 --- a/src/tests/ofc25-camara-agg-net-controller/tests/test_onboarding.py +++ b/src/tests/ofc25-camara-agg-net-controller/tests/test_onboarding.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25-camara-e2e-controller/tests/test_onboarding.py b/src/tests/ofc25-camara-e2e-controller/tests/test_onboarding.py index a0435712fe6c3e6283f3a3123cfa198c09e24e2d..e7c8981bfa70bda2d2c54265b837bb92e9939a5b 100644 --- a/src/tests/ofc25-camara-e2e-controller/tests/test_onboarding.py +++ b/src/tests/ofc25-camara-e2e-controller/tests/test_onboarding.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/Fixtures.py b/src/tests/ofc25/tests/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..69e4cbaa96d4b613088730eb6bca5c50770d17c6 --- /dev/null +++ b/src/tests/ofc25/tests/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@pytest.fixture(scope='session') +def context_client() -> ContextClient: + _client = ContextClient() + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def device_client() -> DeviceClient: + _client = DeviceClient() + yield _client + _client.close() + + +@pytest.fixture(scope='session') +def service_client() -> ServiceClient: + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/ofc25/tests/test_functional_bootstrap_e2e.py b/src/tests/ofc25/tests/test_functional_bootstrap_e2e.py index 5a4a25232d6c8dbc57437e46acab168e1f010264..23586b5536d86e84e2502134252f4a37c03640d5 100644 --- a/src/tests/ofc25/tests/test_functional_bootstrap_e2e.py +++ b/src/tests/ofc25/tests/test_functional_bootstrap_e2e.py @@ -13,14 +13,24 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario -from common.tools.grpc.Tools import grpc_message_to_json, grpc_message_to_json_string +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) +from common.tools.grpc.Tools import ( + grpc_message_to_json, grpc_message_to_json_string, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_bootstrap_ip.py b/src/tests/ofc25/tests/test_functional_bootstrap_ip.py index 580a774fa4ace2c2739aa612edea340e2af85da9..501904d1f8e1fc16e67acc11d528362cbb15ab10 100644 --- a/src/tests/ofc25/tests/test_functional_bootstrap_ip.py +++ b/src/tests/ofc25/tests/test_functional_bootstrap_ip.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_bootstrap_opt.py b/src/tests/ofc25/tests/test_functional_bootstrap_opt.py index a6e74af3aa37b28225db572d16a023e6d94068a5..8a6b8ddb4c82f537c81a35f46c096a1e30330109 100644 --- a/src/tests/ofc25/tests/test_functional_bootstrap_opt.py +++ b/src/tests/ofc25/tests/test_functional_bootstrap_opt.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_cleanup_e2e.py b/src/tests/ofc25/tests/test_functional_cleanup_e2e.py index 0c4bb088dcaa77deb5e711c647574b7cbba528b7..8f81d3cd9d559a044f52bee6d4e08325870d2bb6 100644 --- a/src/tests/ofc25/tests/test_functional_cleanup_e2e.py +++ b/src/tests/ofc25/tests/test_functional_cleanup_e2e.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_cleanup_ip.py b/src/tests/ofc25/tests/test_functional_cleanup_ip.py index bf93adbc58715ffdac5b51e6c19fb9b45a1e7df3..fb33a4d45826f73c3bf62b31dbd79a0f68f7c814 100644 --- a/src/tests/ofc25/tests/test_functional_cleanup_ip.py +++ b/src/tests/ofc25/tests/test_functional_cleanup_ip.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_cleanup_opt.py b/src/tests/ofc25/tests/test_functional_cleanup_opt.py index 060297822903ff21553897f896af0bea80b2b330..4e7a76d1cb7286ce1f0d73f1123d5eed67172e1d 100644 --- a/src/tests/ofc25/tests/test_functional_cleanup_opt.py +++ b/src/tests/ofc25/tests/test_functional_cleanup_opt.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_create_service.py b/src/tests/ofc25/tests/test_functional_create_service.py index 72eb1585670b7511e999d129eddeb1384c04e76e..b987bf8dedd354bee2cf8e6eb9a8ffdf52e9b0e9 100644 --- a/src/tests/ofc25/tests/test_functional_create_service.py +++ b/src/tests/ofc25/tests/test_functional_create_service.py @@ -13,15 +13,23 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ofc25/tests/test_functional_delete_service.py b/src/tests/ofc25/tests/test_functional_delete_service.py index f989485dc95194bd85999f6b2280c35356098de5..9c689d259226ae53c14ffcd90e14941d9a9cba5a 100644 --- a/src/tests/ofc25/tests/test_functional_delete_service.py +++ b/src/tests/ofc25/tests/test_functional_delete_service.py @@ -14,14 +14,20 @@ import logging from typing import Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import + +from .Fixtures import ( + context_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-sbi-connectivity/Fixtures.py b/src/tests/p4-sd-fabric-sbi-connectivity/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..cf77538f9d3860c1a45c56038288b87b08b8fd01 --- /dev/null +++ b/src/tests/p4-sd-fabric-sbi-connectivity/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@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 service_client(): + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_bootstrap.py b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_bootstrap.py index eedcb99511c49ef63a689212ed225edb60ed43e1..9d512e6d3c7656d718dd4c9f87e14efb950a6730 100644 --- a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_bootstrap.py +++ b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_bootstrap.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, time + from common.proto.context_pb2 import DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, \ - check_descriptor_load_results, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import + from test_functional_common import DESC_TOPOLOGY LOGGER = logging.getLogger(__name__) diff --git a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_cleanup.py b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_cleanup.py index 41897fb0aa2134e1d6052b16791b908a9b02c7b5..d2aecc6bf5717c5435869a692c6e34864197ec32 100644 --- a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_cleanup.py +++ b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_cleanup.py @@ -13,11 +13,18 @@ # limitations under the License. import logging -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario + +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import + from test_functional_common import DESC_TOPOLOGY LOGGER = logging.getLogger(__name__) diff --git a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_purge.py b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_purge.py index a4bf927cb4eaa55b087ef08e7bef22b27364c322..d357b05a283ed1055070da3bd2cfcb6991b56b84 100644 --- a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_purge.py +++ b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_purge.py @@ -13,7 +13,10 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, DeviceId, LinkId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + DeviceId, LinkId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Device import json_device_id @@ -21,9 +24,12 @@ from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( + context_client, device_client, service_client, +) # pylint: disable=unused-import + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_deprovision.py b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_deprovision.py index 8bf3b8c9006af71eec58be65cd4f10e54ad162ab..80b42d908b1b19047a9713d0bd4b815ce4bb9b36 100644 --- a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_deprovision.py +++ b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_deprovision.py @@ -13,12 +13,19 @@ # limitations under the License. import logging -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results + +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import + from test_functional_common import * LOGGER = logging.getLogger(__name__) diff --git a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_provision.py b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_provision.py index ba45ad8bc9dfd230c5c717f6acddd3e8d15dc641..c09cff55ea68b8def274232c80cedfbe84407cf3 100644 --- a/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_provision.py +++ b/src/tests/p4-sd-fabric-sbi-connectivity/test_functional_sbi_rules_provision.py @@ -13,12 +13,19 @@ # limitations under the License. import logging -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results + +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import + from test_functional_common import * LOGGER = logging.getLogger(__name__) diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/Fixtures.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..cf77538f9d3860c1a45c56038288b87b08b8fd01 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@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 service_client(): + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/__init__.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b53987a4eae1aed245eba5c7ddd8cd10e35919c2 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_acl.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_acl.py index e90ff1687ab8462dbd0add77514b08303fa73f65..d18d4e583bcd9625cf50fc50b58542d12ae1bbdb 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_acl.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_acl.py @@ -13,15 +13,21 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_int.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_int.py index 3709d808b73c13e6f7d45e9af7a03cd108fbfd9f..541f4253abc053d3be77d1f5aae641e5c4935fb6 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_int.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_int.py @@ -13,15 +13,21 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l2.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l2.py index e97b84b3672a5d714180c51ba9f35918b949aba5..001bd1b689246b136cbb5fae57e9dc601ab0bb41 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l2.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l2.py @@ -13,15 +13,21 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l3.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l3.py index 0fc2a7363d32f6d8d8491d4e2f12f94a976500b2..c5bbe1d142e37365455b26e9b36f2953881b2d0d 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l3.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_deprovision_l3.py @@ -13,15 +13,21 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_acl.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_acl.py index e200253ed4e6c548513aa255935f74baf1760689..14d8c04a863a5f1ddeaff4a70a1748d30b9a94eb 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_acl.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_acl.py @@ -14,15 +14,21 @@ import logging import os + from common.proto.context_pb2 import ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_int.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_int.py index a112e85d2680fd7e2b6335414ad06fc73229cb30..795b12725d82c4592734048828ac94563505d1f7 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_int.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_int.py @@ -12,17 +12,23 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os import logging +import os + from common.proto.context_pb2 import ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l2.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l2.py index d80f246308ffc8f48bc1d1242a3eb1228c2eb8e4..46a314ed5e3f25f9114b1aa8ce741095e6b0ba54 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l2.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l2.py @@ -14,15 +14,21 @@ import logging import os + from common.proto.context_pb2 import ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l3.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l3.py index 80e1547d9fe4b25f3b893e1440e2cefebeafc7f5..9a8eba1caa2526e35ff00d634049c8f285abea8b 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l3.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-service/test_functional_service_provision_l3.py @@ -14,15 +14,21 @@ import logging import os + from common.proto.context_pb2 import ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + DEV_NB = 4 P4_DEV_NB = 1 diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/Fixtures.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..cf77538f9d3860c1a45c56038288b87b08b8fd01 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@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 service_client(): + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/__init__.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b53987a4eae1aed245eba5c7ddd8cd10e35919c2 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_bootstrap.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_bootstrap.py index 8807764e43b15557c31ff21d266a40f01fb44b9e..0f60221ff6497ab1bfef1b41dfa0419ebaeb4c0d 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_bootstrap.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_bootstrap.py @@ -13,14 +13,19 @@ # limitations under the License. import logging, os, time + from common.proto.context_pb2 import DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, \ - check_descriptor_load_results, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_cleanup.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_cleanup.py index 12d5afac2129732999ea95ab6b5e3e146941daa8..ca303173f198515e85370ca41c4a12a0519c0077 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_cleanup.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_cleanup.py @@ -13,12 +13,18 @@ # limitations under the License. import logging, os -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario + +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_purge.py b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_purge.py index 1d7f1523cd141a2dc2f807e56c360d81fef6cfc8..07c77266690511c6cc963c2ec6908a1d3061f2c8 100644 --- a/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_purge.py +++ b/src/tests/p4-sd-fabric-svc-connectivity/tests-setup/test_functional_purge.py @@ -13,7 +13,10 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, DeviceId, LinkId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + DeviceId, LinkId, ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Device import json_device_id @@ -21,9 +24,12 @@ from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-service/Fixtures.py b/src/tests/p4-sd-fabric-svc-upf/tests-service/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..cf77538f9d3860c1a45c56038288b87b08b8fd01 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-upf/tests-service/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@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 service_client(): + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-service/__init__.py b/src/tests/p4-sd-fabric-svc-upf/tests-service/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b53987a4eae1aed245eba5c7ddd8cd10e35919c2 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-upf/tests-service/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_deprovision_upf.py b/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_deprovision_upf.py index 1a6825e1700b56e11fb04da901fa38fe45cfc89a..7b1496b9b802c43627a57b26fca2c3f4ff75acb1 100644 --- a/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_deprovision_upf.py +++ b/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_deprovision_upf.py @@ -13,14 +13,20 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, ServiceStatusEnum, ServiceTypeEnum + +from common.proto.context_pb2 import ( + ServiceId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, service_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_provision_upf.py b/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_provision_upf.py index dfbd7567df1ef7946588a389dd15df8a72031c26..fcc50d523851a97e51659860f18326ce01b38a4a 100644 --- a/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_provision_upf.py +++ b/src/tests/p4-sd-fabric-svc-upf/tests-service/test_functional_service_provision_upf.py @@ -14,15 +14,21 @@ import logging import os + from common.proto.context_pb2 import ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import * +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-setup/Fixtures.py b/src/tests/p4-sd-fabric-svc-upf/tests-setup/Fixtures.py new file mode 100644 index 0000000000000000000000000000000000000000..cf77538f9d3860c1a45c56038288b87b08b8fd01 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-upf/tests-setup/Fixtures.py @@ -0,0 +1,39 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient + + +@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 service_client(): + _client = ServiceClient() + yield _client + _client.close() diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-setup/__init__.py b/src/tests/p4-sd-fabric-svc-upf/tests-setup/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..b53987a4eae1aed245eba5c7ddd8cd10e35919c2 --- /dev/null +++ b/src/tests/p4-sd-fabric-svc-upf/tests-setup/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_bootstrap.py b/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_bootstrap.py index b4438d6056896a201077c7d73e458f8aae07bac0..e40b360c45408843403ed45e31e6510c91c55ce7 100644 --- a/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_bootstrap.py +++ b/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_bootstrap.py @@ -13,14 +13,19 @@ # limitations under the License. import logging, os, time + from common.proto.context_pb2 import DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, \ - check_descriptor_load_results, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_cleanup.py b/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_cleanup.py index fe4b48493fb9a688b24674f8fa3d8a6ca94f0269..f1ec69c6532515f3bbca6ba0d7b436ae640bc5eb 100644 --- a/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_cleanup.py +++ b/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_cleanup.py @@ -12,14 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os import logging -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +import os + +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient -from tests.Fixtures import context_client, device_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_purge.py b/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_purge.py index 94e2e2388709fbdb569c398e8247f9d01af15ab2..39d45d43f3976e1c4f07848bc75921bb06b28b01 100644 --- a/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_purge.py +++ b/src/tests/p4-sd-fabric-svc-upf/tests-setup/test_functional_purge.py @@ -13,7 +13,10 @@ # limitations under the License. import logging -from common.proto.context_pb2 import ServiceId, DeviceId, LinkId, ServiceStatusEnum + +from common.proto.context_pb2 import ( + DeviceId, LinkId, ServiceId, ServiceStatusEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Device import json_device_id @@ -21,9 +24,12 @@ from common.tools.object_factory.Service import json_service_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient -from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import from tests.tools.test_tools_p4 import ADMIN_CONTEXT_ID +from .Fixtures import ( # pylint: disable=unused-import + context_client, device_client, service_client, +) + LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/qkd_end2end/tests/test_01_onboarding.py b/src/tests/qkd_end2end/tests/test_01_onboarding.py index e609856e72fdc8e391b15be5d99319aaece2b98f..55c6f79b216c5bfddb8dbfe8c7a494959e852085 100644 --- a/src/tests/qkd_end2end/tests/test_01_onboarding.py +++ b/src/tests/qkd_end2end/tests/test_01_onboarding.py @@ -13,13 +13,21 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/qkd_end2end/tests/test_02_create_links.py b/src/tests/qkd_end2end/tests/test_02_create_links.py index 4d7587cf3bfd4026b14f7814f0e52b11df1fa019..757326389d40578d0c8a9a743b64eb8254927dc8 100644 --- a/src/tests/qkd_end2end/tests/test_02_create_links.py +++ b/src/tests/qkd_end2end/tests/test_02_create_links.py @@ -13,20 +13,25 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, Empty, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, Empty, ServiceStatusEnum, ServiceTypeEnum, +) from common.proto.qkd_app_pb2 import QKDAppStatusEnum, QKDAppTypesEnum -from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results +from common.tools.descriptor.Loader import ( + DescriptorLoader, check_descriptor_load_results, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from qkd_app.client.QKDAppClient import QKDAppClient from service.client.ServiceClient import ServiceClient -from .Fixtures import ( # pylint: disable=unused-import - context_client, device_client, service_client, qkd_app_client -) +from .Fixtures import ( + context_client, device_client, qkd_app_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/qkd_end2end/tests/test_03_create_external_app.py b/src/tests/qkd_end2end/tests/test_03_create_external_app.py index f9efd8aba71057c7b99288afb9821dc11f0d74fa..e51009f7e08d582700eb4fa71ad63b02e403f260 100644 --- a/src/tests/qkd_end2end/tests/test_03_create_external_app.py +++ b/src/tests/qkd_end2end/tests/test_03_create_external_app.py @@ -14,6 +14,7 @@ import json, logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId from common.proto.qkd_app_pb2 import QKDAppStatusEnum, QKDAppTypesEnum @@ -21,9 +22,11 @@ from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from qkd_app.client.QKDAppClient import QKDAppClient -from .Fixtures import context_client, qkd_app_client # pylint: disable=unused-import -from .Tools import do_rest_post_request +from .Fixtures import ( + context_client, qkd_app_client, +) # pylint: disable=unused-import +from .Tools import do_rest_post_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/qkd_end2end/tests/test_04_delete_external_app.py b/src/tests/qkd_end2end/tests/test_04_delete_external_app.py index f352498a8e52bc8a321cae0f3a0b15986a50550f..c38740a24444b81bce7aaa951149576f731b9043 100644 --- a/src/tests/qkd_end2end/tests/test_04_delete_external_app.py +++ b/src/tests/qkd_end2end/tests/test_04_delete_external_app.py @@ -14,6 +14,7 @@ import logging from typing import Set + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId from common.proto.qkd_app_pb2 import AppId, QKDAppStatusEnum, QKDAppTypesEnum @@ -21,8 +22,10 @@ from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from qkd_app.client.QKDAppClient import QKDAppClient -from .Fixtures import context_client, qkd_app_client # pylint: disable=unused-import +from .Fixtures import ( + context_client, qkd_app_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/qkd_end2end/tests/test_05_delete_links.py b/src/tests/qkd_end2end/tests/test_05_delete_links.py index 07a85963d11ba2e9d6f6b641942ff3d08258dad3..5613a942bcd607cf965c73a7f431f56bc8835e9a 100644 --- a/src/tests/qkd_end2end/tests/test_05_delete_links.py +++ b/src/tests/qkd_end2end/tests/test_05_delete_links.py @@ -14,6 +14,7 @@ import logging from typing import Set + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceId from common.proto.qkd_app_pb2 import AppId, QKDAppStatusEnum, QKDAppTypesEnum @@ -22,11 +23,10 @@ from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient from qkd_app.client.QKDAppClient import QKDAppClient from service.client.ServiceClient import ServiceClient -from .Fixtures import ( - # pylint: disable=unused-import - context_client, qkd_app_client, service_client -) +from .Fixtures import ( + context_client, qkd_app_client, service_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/qkd_end2end/tests/test_06_cleanup.py b/src/tests/qkd_end2end/tests/test_06_cleanup.py index e3c770e7a5e6be012e3311135b6346992eba9939..f99486388c27eb1c2548274b594926b4069cac87 100644 --- a/src/tests/qkd_end2end/tests/test_06_cleanup.py +++ b/src/tests/qkd_end2end/tests/test_06_cleanup.py @@ -13,13 +13,19 @@ # limitations under the License. import logging, os + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId -from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.descriptor.Loader import ( + DescriptorLoader, validate_empty_scenario, +) 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ryu-openflow/tests/test_cleanup.py b/src/tests/ryu-openflow/tests/test_cleanup.py index 4d8ea7f6e2e0d809a00d8165e2f268f9df3a0da7..2cb728e05bf9c17664cec25bdd6baebc31f23bd3 100644 --- a/src/tests/ryu-openflow/tests/test_cleanup.py +++ b/src/tests/ryu-openflow/tests/test_cleanup.py @@ -14,6 +14,7 @@ import graphlib, logging, os from typing import Dict, List, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, DeviceId, Empty from common.tools.descriptor.Loader import validate_empty_scenario @@ -21,7 +22,10 @@ from common.tools.grpc.Tools import grpc_message_to_json_string 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ryu-openflow/tests/test_onboarding.py b/src/tests/ryu-openflow/tests/test_onboarding.py index 18af3e128ddefb2095e8844a27dc62fc25f6ed31..3aab877da1e72161e69fe88ae92687aad3d37237 100644 --- a/src/tests/ryu-openflow/tests/test_onboarding.py +++ b/src/tests/ryu-openflow/tests/test_onboarding.py @@ -13,16 +13,22 @@ # limitations under the License. import logging, os, time + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty +from common.proto.context_pb2 import ( + ContextId, DeviceOperationalStatusEnum, Empty, +) from common.tools.descriptor.Loader import ( - DescriptorLoader, check_descriptor_load_results, validate_empty_scenario + DescriptorLoader, check_descriptor_load_results, validate_empty_scenario, ) #from common.tools.grpc.Tools import grpc_message_to_json_string 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 # pylint: disable=unused-import + +from .Fixtures import ( + context_client, device_client, +) # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ryu-openflow/tests/test_service_ietf_create_h1_h3.py b/src/tests/ryu-openflow/tests/test_service_ietf_create_h1_h3.py index 5cf59ac3fc9813506b4ba96afb3b70e4d82f840a..84fdd34eb3df2c6610319010df110ba0374038ed 100644 --- a/src/tests/ryu-openflow/tests/test_service_ietf_create_h1_h3.py +++ b/src/tests/ryu-openflow/tests/test_service_ietf_create_h1_h3.py @@ -14,14 +14,17 @@ import json, logging, os from typing import Dict, Set + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_get_request, do_rest_post_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_get_request, do_rest_post_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ryu-openflow/tests/test_service_ietf_create_h2_h4.py b/src/tests/ryu-openflow/tests/test_service_ietf_create_h2_h4.py index c81f06db24b00b9fde0275a2341c0fb2d9831397..7f9882573f24cb92ae0ab3f1bd09a0d726692c85 100644 --- a/src/tests/ryu-openflow/tests/test_service_ietf_create_h2_h4.py +++ b/src/tests/ryu-openflow/tests/test_service_ietf_create_h2_h4.py @@ -14,14 +14,17 @@ import json, logging, os from typing import Dict, Set + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_get_request, do_rest_post_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_get_request, do_rest_post_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ryu-openflow/tests/test_service_ietf_remove_h1_h3.py b/src/tests/ryu-openflow/tests/test_service_ietf_remove_h1_h3.py index 5e1385c4734a923151fcbc51d77d5a855913d237..168057c42d1a803fc2614a30c4e966bca8acf066 100644 --- a/src/tests/ryu-openflow/tests/test_service_ietf_remove_h1_h3.py +++ b/src/tests/ryu-openflow/tests/test_service_ietf_remove_h1_h3.py @@ -14,14 +14,17 @@ import logging, os from typing import Dict, Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_delete_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_delete_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/ryu-openflow/tests/test_service_ietf_remove_h2_h4.py b/src/tests/ryu-openflow/tests/test_service_ietf_remove_h2_h4.py index d249722e940697fcb09fee9df5cd0d8bfafc833c..8c977ae66bb75f648a5cabf25cf5ab110c3d28cb 100644 --- a/src/tests/ryu-openflow/tests/test_service_ietf_remove_h2_h4.py +++ b/src/tests/ryu-openflow/tests/test_service_ietf_remove_h2_h4.py @@ -14,14 +14,17 @@ import logging, os from typing import Dict, Set, Tuple + from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum +from common.proto.context_pb2 import ( + ContextId, ServiceStatusEnum, ServiceTypeEnum, +) from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from .Fixtures import context_client # pylint: disable=unused-import -from .Tools import do_rest_delete_request +from .Fixtures import context_client # pylint: disable=unused-import +from .Tools import do_rest_delete_request LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/scenario2/old_tests/tests/Fixtures.py b/src/tests/scenario2/old_tests/tests/Fixtures.py index d2220db5c516843e930e0cab3294ae2fbca12ee6..f5d671bf5a2a739fb3055d2b9a8fe6472088a90e 100644 --- a/src/tests/scenario2/old_tests/tests/Fixtures.py +++ b/src/tests/scenario2/old_tests/tests/Fixtures.py @@ -15,37 +15,61 @@ import pytest from common.Settings import get_setting from common.proto.monitoring_pb2 import AlarmDescriptor, AlarmSubscription +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from monitoring.client.MonitoringClient import MonitoringClient from nbi.tests.mock_osm.MockOSM import MockOSM 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( get_setting('NBISERVICE_SERVICE_HOST'), str(get_setting('NBISERVICE_SERVICE_PORT_HTTP'))) return MockOSM(wim_url, WIM_MAPPING, WIM_USERNAME, WIM_PASSWORD) + @pytest.fixture(scope='session') def alarm_descriptor(): - alarm_descriptor = AlarmDescriptor() - alarm_descriptor.alarm_description = "Default Alarm Description" - alarm_descriptor.name = "Default Alarm Name" - alarm_descriptor.kpi_value_range.kpiMinValue.floatVal = 0.0 - alarm_descriptor.kpi_value_range.kpiMaxValue.floatVal = 250.0 - alarm_descriptor.kpi_value_range.inRange = True - alarm_descriptor.kpi_value_range.includeMinValue = False - alarm_descriptor.kpi_value_range.includeMaxValue = True + alarm_descriptor.alarm_description = 'Default Alarm Description' + alarm_descriptor.name = 'Default Alarm Name' + alarm_descriptor.kpi_value_range.kpiMinValue.floatVal = 0.0 + alarm_descriptor.kpi_value_range.kpiMaxValue.floatVal = 250.0 + alarm_descriptor.kpi_value_range.inRange = True + alarm_descriptor.kpi_value_range.includeMinValue = False + alarm_descriptor.kpi_value_range.includeMaxValue = True return alarm_descriptor + @pytest.fixture(scope='session') def alarm_subscription(): - alarm_subscription = AlarmSubscription() - alarm_subscription.subscription_timeout_s = 10 - alarm_subscription.subscription_frequency_ms = 2000 + alarm_subscription.subscription_timeout_s = 10 + alarm_subscription.subscription_frequency_ms = 2000 - return alarm_subscription \ No newline at end of file + return alarm_subscription diff --git a/src/tests/scenario2/old_tests/tests/test_functional_bootstrap.py b/src/tests/scenario2/old_tests/tests/test_functional_bootstrap.py index 6d9f5f53a05bf7240287b38a9e323479c6bb9eaf..e2f5946f7032c5ecd8ab8443002c89d2e80699b3 100644 --- a/src/tests/scenario2/old_tests/tests/test_functional_bootstrap.py +++ b/src/tests/scenario2/old_tests/tests/test_functional_bootstrap.py @@ -13,22 +13,28 @@ # limitations under the License. import copy, logging, pytest + +from common.proto.context_pb2 import ( + Context, ContextId, Device, Empty, Link, Topology, +) +from common.proto.monitoring_pb2 import ( + AlarmDescriptor, AlarmList, KpiDescriptorList, +) from common.Settings import get_setting -from common.proto.monitoring_pb2 import KpiDescriptorList from common.tests.EventTools import EVENT_CREATE, EVENT_UPDATE, check_events from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Device import json_device_id from common.tools.object_factory.Link import json_link_id from common.tools.object_factory.Topology import json_topology_id from context.client.ContextClient import ContextClient -from monitoring.client.MonitoringClient import MonitoringClient from context.client.EventsCollector import EventsCollector -from common.proto.context_pb2 import Context, ContextId, Device, Empty, Link, Topology -from common.proto.monitoring_pb2 import AlarmDescriptor, AlarmList from device.client.DeviceClient import DeviceClient +from monitoring.client.MonitoringClient import MonitoringClient + +from .Fixtures import ( + alarm_descriptor, context_client, device_client, monitoring_client, +) # pylint: disable=unused-import from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES -from tests.Fixtures import context_client, device_client, monitoring_client -from .Fixtures import alarm_descriptor LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/scenario2/old_tests/tests/test_functional_cleanup.py b/src/tests/scenario2/old_tests/tests/test_functional_cleanup.py index 6b157cefa288f3084c6b908235535e89942367af..dc1ec2562f94c811058f87beccf33d25f38ffd17 100644 --- a/src/tests/scenario2/old_tests/tests/test_functional_cleanup.py +++ b/src/tests/scenario2/old_tests/tests/test_functional_cleanup.py @@ -13,6 +13,13 @@ # limitations under the License. import logging, pytest + +from common.proto.context_pb2 import ( + ContextId, DeviceId, Empty, LinkId, TopologyId, +) +from common.proto.monitoring_pb2 import ( + AlarmID, AlarmList, KpiDescriptorList, KpiId, +) from common.Settings import get_setting from common.tests.EventTools import EVENT_REMOVE, check_events from common.tools.object_factory.Context import json_context_id @@ -21,11 +28,12 @@ from common.tools.object_factory.Link import json_link_id from common.tools.object_factory.Topology import json_topology_id from context.client.ContextClient import ContextClient from context.client.EventsCollector import EventsCollector -from common.proto.context_pb2 import ContextId, DeviceId, Empty, LinkId, TopologyId -from common.proto.monitoring_pb2 import KpiId, KpiDescriptorList, AlarmList, AlarmID from device.client.DeviceClient import DeviceClient from monitoring.client.MonitoringClient import MonitoringClient -from tests.Fixtures import context_client, device_client, monitoring_client + +from .Fixtures import ( + context_client, device_client, monitoring_client, +) # pylint: disable=unused-import from .Objects import CONTEXT_ID, CONTEXTS, DEVICES, LINKS, TOPOLOGIES LOGGER = logging.getLogger(__name__) diff --git a/src/tests/scenario2/old_tests/tests/test_functional_create_service.py b/src/tests/scenario2/old_tests/tests/test_functional_create_service.py index 4485ce3ed1b5321bd538e62ed326326d7894899e..db490bd51b7067d866984fb23b14b5ca61919e50 100644 --- a/src/tests/scenario2/old_tests/tests/test_functional_create_service.py +++ b/src/tests/scenario2/old_tests/tests/test_functional_create_service.py @@ -13,25 +13,30 @@ # limitations under the License. import logging, pytest, random, time + from grpc._channel import _MultiThreadedRendezvous + from common.DeviceTypes import DeviceTypeEnum +from common.proto.context_pb2 import ContextId, Empty +from common.proto.monitoring_pb2 import AlarmList, AlarmSubscription from common.Settings import get_setting from common.tests.EventTools import EVENT_CREATE, EVENT_UPDATE, check_events +from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Connection import json_connection_id from common.tools.object_factory.Device import json_device_id from common.tools.object_factory.Service import json_service_id -from common.tools.grpc.Tools import grpc_message_to_json_string -from nbi.tests.mock_osm.MockOSM import MockOSM 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 common.proto.monitoring_pb2 import AlarmList, AlarmSubscription -from tests.Fixtures import context_client, monitoring_client -from .Fixtures import osm_wim, alarm_subscription +from monitoring.client.MonitoringClient import MonitoringClient +from nbi.tests.mock_osm.MockOSM import MockOSM + +from .Fixtures import ( + alarm_subscription, context_client, monitoring_client, osm_wim, +) # pylint: disable=unused-import 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) + CONTEXT_ID, CONTEXTS, DEVICE_O1_UUID, DEVICE_R1_UUID, DEVICE_R3_UUID, + DEVICES, LINKS, TOPOLOGIES, WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE, +) LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) diff --git a/src/tests/scenario2/old_tests/tests/test_functional_delete_service.py b/src/tests/scenario2/old_tests/tests/test_functional_delete_service.py index 42a9456e09b5b426e7f09df8432497c44058cf82..da6cce21c173dc843af9e1800a38101c59647963 100644 --- a/src/tests/scenario2/old_tests/tests/test_functional_delete_service.py +++ b/src/tests/scenario2/old_tests/tests/test_functional_delete_service.py @@ -13,23 +13,24 @@ # limitations under the License. import logging, pytest + from common.DeviceTypes import DeviceTypeEnum +from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum from common.Settings import get_setting from common.tests.EventTools import EVENT_REMOVE, EVENT_UPDATE, check_events +from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Connection import json_connection_id from common.tools.object_factory.Device import json_device_id from common.tools.object_factory.Service import json_service_id -from common.tools.grpc.Tools import grpc_message_to_json_string -from nbi.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 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) +from nbi.tests.mock_osm.MockOSM import MockOSM +from .Fixtures import context_client, osm_wim # pylint: disable=unused-import +from .Objects import ( + CONTEXT_ID, CONTEXTS, DEVICE_O1_UUID, DEVICE_R1_UUID, DEVICE_R3_UUID, + DEVICES, LINKS, TOPOLOGIES, WIM_MAPPING, WIM_PASSWORD, WIM_USERNAME, +) LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG)