* Read subscription API by using subscription name (DCAEGEN2-2818)
* Read All subscriptions API (DCAEGEN2-2847)
* PMSH Response Event Handler Integration (DCAEGEN2-2915)
+* Updated to get NFs list when requesting a specific subscription (DCAEGEN2-2992)
## [1.3.2]
### Changed
'operationalPolicyName': self.operational_policy_name,
'controlLoopName': self.control_loop_name,
'nfFilter': self.network_filter.serialize(),
+ 'nfs': [nf.nf_name for nf in self.nfs],
'measurementGroups':
[mg.serialize() for mg in self.measurement_groups]}}
logger.info(f'Attempting to fetch subscription by name: {subscription_name}')
subscription_model = db.session.query(SubscriptionModel) \
.options(joinedload(SubscriptionModel.network_filter),
- joinedload(SubscriptionModel.measurement_groups)) \
+ joinedload(SubscriptionModel.measurement_groups),
+ joinedload(SubscriptionModel.nfs)) \
.filter_by(subscription_name=subscription_name).first()
db.session.remove()
return subscription_model
from unittest.mock import patch, MagicMock
from mod import create_app, db
-from mod.api.db_models import NetworkFunctionFilterModel, MeasurementGroupModel, SubscriptionModel
+from mod.api.db_models import NetworkFunctionFilterModel, MeasurementGroupModel, SubscriptionModel, NfSubRelationalModel
from mod.network_function import NetworkFunctionFilter
from mod.pmsh_utils import AppConfig
from mod.pmsh_config import AppConfig as NewAppConfig
'pmsh_control_loop_name', 'LOCKED')
subscription_model.network_filter = nf_filter
subscription_model.measurement_groups = mg_list
+ nf1 = NfSubRelationalModel(subscription_name, "pnf_101", "LOCKED")
+ nf2 = NfSubRelationalModel(subscription_name, "pnf_102", "LOCKED")
+ subscription_model.nfs = [nf1, nf2]
return subscription_model
['measurementGroupName'], 'MG1')
self.assertEqual(len(subs[1]['subscription']['measurementGroups']), 2)
self.assertEqual(len(subs), 2)
+ self.assertEqual(len(subs[0]['subscription']['nfs']), 2)
@patch('mod.api.services.subscription_service.query_all_subscriptions',
MagicMock(return_value=[]))