diff options
author | 2021-10-31 19:09:19 +0000 | |
---|---|---|
committer | 2021-11-05 14:36:17 +0000 | |
commit | 1685b700294ee0c1eaa1365d67a42861af0fe721 (patch) | |
tree | 2a146d34629b18f6000d7cd4fc57b925a1e22982 /components/pm-subscription-handler/tests | |
parent | 70de6a27b7722e3ed02d8e8a8c7933e053eacabb (diff) |
[PMSH] Operational policy and control loop updates
Issue-ID: DCAEGEN2-2913
Signed-off-by: raviteja.karumuri <raviteja.karumuri@est.tech>
Change-Id: Ie64383aa55b07ef4387e9b1e8a2414f37901f0da
Diffstat (limited to 'components/pm-subscription-handler/tests')
9 files changed, 43 insertions, 25 deletions
diff --git a/components/pm-subscription-handler/tests/data/create_subscription_request.json b/components/pm-subscription-handler/tests/data/create_subscription_request.json index 0b2f86f7..bc089a9a 100644 --- a/components/pm-subscription-handler/tests/data/create_subscription_request.json +++ b/components/pm-subscription-handler/tests/data/create_subscription_request.json @@ -1,6 +1,8 @@ { "subscription": { "subscriptionName": "ExtraPM-All-gNB-R2B", + "operationalPolicyName":"pmsh-operational-policy", + "controlLoopName":"pmsh-control-loop", "nfFilter": { "nfNames": [ "^pnf.*", diff --git a/components/pm-subscription-handler/tests/data/pm_subscription_event.json b/components/pm-subscription-handler/tests/data/pm_subscription_event.json index 6b94373a..6a7fe340 100755 --- a/components/pm-subscription-handler/tests/data/pm_subscription_event.json +++ b/components/pm-subscription-handler/tests/data/pm_subscription_event.json @@ -2,9 +2,9 @@ "nfName":"pnf_1",
"blueprintName": "some-name",
"blueprintVersion": "some-version",
- "policyName":"pmsh-operational-policy",
+ "operationalPolicyName":"pmsh-operational-policy",
"changeType":"CREATE",
- "closedLoopControlName":"pmsh-control-loop",
+ "controlLoopName":"pmsh-control-loop",
"ipAddress": "204.120.0.15",
"subscription":{
"subscriptionName":"ExtraPM-All-gNB-R2B",
@@ -54,4 +54,4 @@ }
]
}
-}
\ No newline at end of file +}
diff --git a/components/pm-subscription-handler/tests/services/test_measurement_group_service.py b/components/pm-subscription-handler/tests/services/test_measurement_group_service.py index e22b2303..46c4bac7 100644 --- a/components/pm-subscription-handler/tests/services/test_measurement_group_service.py +++ b/components/pm-subscription-handler/tests/services/test_measurement_group_service.py @@ -24,7 +24,8 @@ from mod.pmsh_config import AppConfig from mod import db from tests.base_setup import BaseClassSetup from mod.api.services import measurement_group_service -from mod.api.db_models import MeasurementGroupModel, NfMeasureGroupRelationalModel +from mod.api.db_models import MeasurementGroupModel, NfMeasureGroupRelationalModel,\ + SubscriptionModel from mod.subscription import SubNfState @@ -65,16 +66,18 @@ class MeasurementGroupServiceTestCase(BaseClassSetup): 'msg_publish', 'UNLOCKED', 15, 'pm.xml', [{"measurementType": "counter_a"}], [{"DN": "string"}]) + sub_model = SubscriptionModel('sub_publish', 'pmsh-operational-policy', + 'pmsh-control-loop', 'LOCKED') measurement_group_service.publish_measurement_group( - 'sub_publish', measurement_grp, nf_1) + sub_model, measurement_grp, nf_1) mock_mr.assert_called_once_with('policy_pm_publisher', {'nfName': 'pnf_1', 'ipAddress': '2001:db8:3333:4444:5555:6666:7777:8888', 'blueprintName': 'blah', 'blueprintVersion': 1.0, - 'policyName': 'pmsh-operational-policy', + 'operationalPolicyName': 'pmsh-operational-policy', 'changeType': 'CREATE', - 'closedLoopControlName': 'pmsh-control-loop', + 'controlLoopName': 'pmsh-control-loop', 'subscription': {'administrativeState': 'UNLOCKED', 'subscriptionName': 'sub_publish', diff --git a/components/pm-subscription-handler/tests/services/test_nf_service.py b/components/pm-subscription-handler/tests/services/test_nf_service.py index 6063a8bd..d5824992 100644 --- a/components/pm-subscription-handler/tests/services/test_nf_service.py +++ b/components/pm-subscription-handler/tests/services/test_nf_service.py @@ -20,7 +20,7 @@ import json import os from unittest.mock import patch from flask import current_app -from mod.api.db_models import NetworkFunctionModel +from mod.api.db_models import NetworkFunctionModel, SubscriptionModel from mod import aai_client from tests.base_setup import BaseClassSetup from mod.api.services import nf_service @@ -78,16 +78,19 @@ class NetworkFunctionServiceTestCase(BaseClassSetup): subscription = json.loads(self.subscription_request)['subscription'] mock_filter_call.return_value = NetworkFunctionFilter(**subscription["nfFilter"]) nf = nf_service.capture_filtered_nfs(subscription["subscriptionName"])[0] - event_body = nf_service.create_nf_event_body(nf, 'CREATE') + sub_model = SubscriptionModel(subscription["subscriptionName"], + subscription['operationalPolicyName'], + subscription['controlLoopName'], 'LOCKED') + event_body = nf_service.create_nf_event_body(nf, 'CREATE', sub_model) self.assertEqual(event_body['nfName'], nf.nf_name) self.assertEqual(event_body['ipAddress'], nf.ipv6_address) self.assertEqual(event_body['blueprintName'], nf.sdnc_model_name) self.assertEqual(event_body['blueprintVersion'], nf.sdnc_model_version) - self.assertEqual(event_body['policyName'], - self.app_conf.operational_policy_name) + self.assertEqual(event_body['operationalPolicyName'], + sub_model.operational_policy_name) self.assertEqual(event_body['changeType'], 'CREATE') - self.assertEqual(event_body['closedLoopControlName'], - self.app_conf.control_loop_name) + self.assertEqual(event_body['controlLoopName'], + sub_model.control_loop_name) @patch.object(aai_client, '_get_all_aai_nf_data') @patch.object(aai_client, 'get_aai_model_data') diff --git a/components/pm-subscription-handler/tests/services/test_subscription_service.py b/components/pm-subscription-handler/tests/services/test_subscription_service.py index dca6d871..a0e4d541 100644 --- a/components/pm-subscription-handler/tests/services/test_subscription_service.py +++ b/components/pm-subscription-handler/tests/services/test_subscription_service.py @@ -202,6 +202,9 @@ class SubscriptionServiceTestCase(BaseClassSetup): mock_publish.return_value = None subscription = self.create_test_subs('xtraPM-All-gNB-R2B-new2', 'msrmt_grp_name-new2') subscription = json.loads(subscription)['subscription'] + sub_model = SubscriptionModel(subscription["subscriptionName"], + subscription['operationalPolicyName'], + subscription['controlLoopName'], 'LOCKED') measurement_grp = MeasurementGroupModel('subscription_name_1', 'msrmt_grp_name', 'UNLOCKED', 15, 'pm.xml', [], []) @@ -211,7 +214,7 @@ class SubscriptionServiceTestCase(BaseClassSetup): mock_filter_call.return_value = NetworkFunctionFilter(**subscription["nfFilter"]) filtered_nfs = nf_service.capture_filtered_nfs(subscription["subscriptionName"]) subscription_service.publish_measurement_grp_to_nfs( - subscription["subscriptionName"], filtered_nfs, measurement_grps) + sub_model, filtered_nfs, measurement_grps) # Two unlocked measurement Group published self.assertEqual(mock_publish.call_count, 6) @@ -229,6 +232,9 @@ class SubscriptionServiceTestCase(BaseClassSetup): mock_publish.side_effect = Exception('Publish failed') subscription = self.create_test_subs('xtraPM-All-gNB-R2B-new2', 'msrmt_grp_name-new2') subscription = json.loads(subscription)['subscription'] + sub_model = SubscriptionModel(subscription["subscriptionName"], + subscription['operationalPolicyName'], + subscription['controlLoopName'], 'LOCKED') measurement_grp = MeasurementGroupModel('subscription_name_1', 'msrmt_grp_name', 'UNLOCKED', 15, 'pm.xml', [], []) @@ -238,7 +244,7 @@ class SubscriptionServiceTestCase(BaseClassSetup): mock_filter_call.return_value = NetworkFunctionFilter(**subscription["nfFilter"]) filtered_nfs = nf_service.capture_filtered_nfs(subscription["subscriptionName"]) subscription_service.publish_measurement_grp_to_nfs( - subscription["subscriptionName"], filtered_nfs, measurement_grps) + sub_model, filtered_nfs, measurement_grps) mock_logger.assert_called_with('Publish event failed for nf name, measure_grp_name, ' 'sub_name: pnf_33_ericsson,meas2, xtraPM-All-gNB-R2B-new2 ' 'with error: Publish failed') diff --git a/components/pm-subscription-handler/tests/test_pmsh_utils.py b/components/pm-subscription-handler/tests/test_pmsh_utils.py index 5aab65e1..57f20ddf 100644 --- a/components/pm-subscription-handler/tests/test_pmsh_utils.py +++ b/components/pm-subscription-handler/tests/test_pmsh_utils.py @@ -90,8 +90,7 @@ class PmshUtilsTestCase(BaseClassSetup): self.app_conf.subscription, NetworkFunction(nf_name='pnf_1', model_invariant_id='some-id', - model_version_id='some-id'), - self.app_conf) + model_version_id='some-id')) pub_to_topic_call.assert_called_once() @responses.activate diff --git a/components/pm-subscription-handler/tests/test_policy_response_handler.py b/components/pm-subscription-handler/tests/test_policy_response_handler.py index 26a06fce..9bf15939 100644 --- a/components/pm-subscription-handler/tests/test_policy_response_handler.py +++ b/components/pm-subscription-handler/tests/test_policy_response_handler.py @@ -1,5 +1,5 @@ # ============LICENSE_START=================================================== -# Copyright (C) 2019-2020 Nordix Foundation. +# Copyright (C) 2019-2021 Nordix Foundation. # ============================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -105,6 +105,8 @@ class PolicyResponseHandlerTest(BaseClassSetup): '"ExtraPM-All-gNB-R2B", "nfName": "pnf300", "message": "success" } }'] self.mock_policy_mr_sub.get_from_topic.return_value = response_data mock_get_sub.return_value = SubscriptionModel(subscription_name='ExtraPM-All-gNB-R2B', + operational_policy_name='policy-name', + control_loop_name='control-loop-name', status=AdministrativeState.UNLOCKED.value) self.policy_response_handler.poll_policy_topic() self.mock_policy_mr_sub.get_from_topic.assert_called() @@ -120,6 +122,8 @@ class PolicyResponseHandlerTest(BaseClassSetup): '"Different_Subscription", "nfName": "pnf300", "message": "success" } }'] self.mock_policy_mr_sub.get_from_topic.return_value = response_data mock_get_sub.return_value = SubscriptionModel(subscription_name='ExtraPM-All-gNB-R2B', + operational_policy_name='policy-name', + control_loop_name='control-loop-name', status=AdministrativeState.UNLOCKED.value) self.policy_response_handler.poll_policy_topic() @@ -132,6 +136,8 @@ class PolicyResponseHandlerTest(BaseClassSetup): def test_poll_policy_topic_exception(self, mock_get_sub, mock_logger): self.mock_policy_mr_sub.get_from_topic.return_value = 'wrong_return' mock_get_sub.return_value = SubscriptionModel(subscription_name='ExtraPM-All-gNB-R2B', + operational_policy_name='policy-name', + control_loop_name='control-loop-name', status=AdministrativeState.UNLOCKED.value) self.policy_response_handler.poll_policy_topic() mock_logger.assert_called() diff --git a/components/pm-subscription-handler/tests/test_subscription.py b/components/pm-subscription-handler/tests/test_subscription.py index 3921aa9b..538baf39 100755 --- a/components/pm-subscription-handler/tests/test_subscription.py +++ b/components/pm-subscription-handler/tests/test_subscription.py @@ -114,7 +114,7 @@ class SubscriptionTest(BaseClassSetup): @patch('mod.subscription.Subscription.update_sub_nf_status') def test_process_activate_subscription(self, mock_update_sub_nf, mock_add_nfs): self.app_conf.subscription.create_subscription_on_nfs([list(self.xnfs)[0]], - self.mock_mr_pub, self.app_conf) + self.mock_mr_pub) mock_add_nfs.assert_called() self.assertTrue(self.mock_mr_pub.publish_subscription_event_data.called) @@ -126,8 +126,7 @@ class SubscriptionTest(BaseClassSetup): def test_process_deactivate_subscription(self, mock_update_sub_nf, mock_get_nfs): self.app_conf.subscription.administrativeState = 'LOCKED' mock_get_nfs.return_value = [list(self.xnfs)[0]] - self.app_conf.subscription.delete_subscription_from_nfs(self.xnfs, self.mock_mr_pub, - self.app_conf) + self.app_conf.subscription.delete_subscription_from_nfs(self.xnfs, self.mock_mr_pub) self.assertTrue(self.mock_mr_pub.publish_subscription_event_data.called) self.assertEqual(mock_update_sub_nf.call_count, 3) @@ -146,7 +145,7 @@ class SubscriptionTest(BaseClassSetup): model_version_id='some-id') nf.sdnc_model_name = 'some-name' nf.sdnc_model_version = 'some-version' - actual_sub_event = self.app_conf.subscription.prepare_subscription_event(nf, self.app_conf) + actual_sub_event = self.app_conf.subscription.prepare_subscription_event(nf) print(actual_sub_event) self.assertEqual(expected_sub_event, actual_sub_event) @@ -162,7 +161,7 @@ class SubscriptionTest(BaseClassSetup): model_version_id='some-id') nf.sdnc_model_name = 'some-name' nf.sdnc_model_version = 'some-version' - actual_sub_event = self.app_conf.subscription.prepare_subscription_event(nf, self.app_conf) + actual_sub_event = self.app_conf.subscription.prepare_subscription_event(nf) print(actual_sub_event) self.assertEqual(expected_sub_event, actual_sub_event) diff --git a/components/pm-subscription-handler/tests/test_subscription_handler.py b/components/pm-subscription-handler/tests/test_subscription_handler.py index ecc45f66..fe338327 100644 --- a/components/pm-subscription-handler/tests/test_subscription_handler.py +++ b/components/pm-subscription-handler/tests/test_subscription_handler.py @@ -76,7 +76,7 @@ class SubscriptionHandlerTest(BaseClassSetup): sub_handler.execute() self.assertEqual(AdministrativeState.UNLOCKED.value, self.app_conf.subscription.administrativeState) - mock_activate_sub.assert_called_with(self.nfs, self.mock_mr_pub, self.app_conf) + mock_activate_sub.assert_called_with(self.nfs, self.mock_mr_pub) @patch('mod.subscription.Subscription.get_network_functions', MagicMock(return_value=nfs)) @patch('mod.pmsh_utils.AppConfig.refresh_config', MagicMock(return_value=get_pmsh_config())) @@ -89,7 +89,7 @@ class SubscriptionHandlerTest(BaseClassSetup): sub_handler = SubscriptionHandler(self.mock_mr_pub, self.mock_mr_sub, self.app, self.app_conf) sub_handler.execute() - mock_deactivate_sub.assert_called_with(self.nfs, self.mock_mr_pub, self.app_conf) + mock_deactivate_sub.assert_called_with(self.nfs, self.mock_mr_pub) @patch('mod.subscription_handler.SubscriptionHandler._start_aai_event_thread', MagicMock()) @patch('mod.pmsh_utils.AppConfig.refresh_config', MagicMock(return_value=get_pmsh_config())) |