[DCAEGEN2] PMSH Lazy loading error fix 15/126515/2
authorSagarS <sagar.shetty@est.tech>
Fri, 7 Jan 2022 17:31:07 +0000 (17:31 +0000)
committerSagarS <sagar.shetty@est.tech>
Mon, 10 Jan 2022 10:41:35 +0000 (10:41 +0000)
Issue-ID: DCAEGEN2-3029
Change-Id: I06937d2268a1dbbacec7618d6b135ab2eba9cc5f
Signed-off-by: SagarS <sagar.shetty@est.tech>
components/pm-subscription-handler/Changelog.md
components/pm-subscription-handler/pmsh_service/mod/api/services/nf_service.py
components/pm-subscription-handler/pmsh_service/mod/api/services/subscription_service.py
components/pm-subscription-handler/tests/base_setup.py
components/pm-subscription-handler/tests/test_controller.py

index db096b1..fb06f8a 100755 (executable)
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
 * Updated to get NFs list when requesting a specific subscription (DCAEGEN2-2992)
 * AAI Event handler changes with new subscription format (DCAEGEN2-2912)
 * Read NFS associated with MG by using MGName and subName(DCAEGEN2-2993)
+* Lazy loading error for nfs in read API (DCAEGEN2-3029)
 
 ## [1.3.2]
 ### Changed
index 6d43147..ce463ed 100644 (file)
@@ -1,5 +1,5 @@
 # ============LICENSE_START===================================================
-#  Copyright (C) 2021 Nordix Foundation.
+#  Copyright (C) 2021-2022 Nordix Foundation.
 # ============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -30,7 +30,8 @@ def capture_filtered_nfs(sub_name):
     Args:
         sub_name (string): The name of subscription inorder to perform filtering
     Returns:
-        list[NetworkFunction]: a list of filtered NetworkFunction Objects.
+        list[NetworkFunction]: a list of filtered NetworkFunction Objects
+        or an empty list if no network function is filtered.
     """
     logger.info(f'Getting filtered nfs for subscription: {sub_name}')
     nf_filter = NetworkFunctionFilter.get_network_function_filter(sub_name)
index fc27f99..d9f4400 100644 (file)
@@ -1,5 +1,5 @@
 # ============LICENSE_START===================================================
-#  Copyright (C) 2021 Nordix Foundation.
+#  Copyright (C) 2021-2022 Nordix Foundation.
 # ============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -323,7 +323,8 @@ def query_all_subscriptions():
     logger.info('Attempting to fetch all the subscriptions')
     subscriptions = db.session.query(SubscriptionModel) \
         .options(joinedload(SubscriptionModel.network_filter),
-                 joinedload(SubscriptionModel.measurement_groups)) \
+                 joinedload(SubscriptionModel.measurement_groups),
+                 joinedload(SubscriptionModel.nfs)) \
         .all()
     db.session.remove()
     return subscriptions
index 560eaeb..14f813d 100755 (executable)
@@ -1,5 +1,5 @@
 # ============LICENSE_START===================================================
-#  Copyright (C) 2020-2021 Nordix Foundation.
+#  Copyright (C) 2020-2022 Nordix Foundation.
 # ============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -86,6 +86,7 @@ def create_multiple_subscription_data(subscription_names):
     subscriptions = []
     for subscription_name in subscription_names:
         subscriptions.append(create_subscription_data(subscription_name))
+    subscriptions[1].nfs = []
     return subscriptions
 
 
index 962e8fb..fa96c31 100755 (executable)
@@ -1,5 +1,5 @@
 # ============LICENSE_START===================================================
-#  Copyright (C) 2019-2021 Nordix Foundation.
+#  Copyright (C) 2019-2022 Nordix Foundation.
 # ============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -153,6 +153,9 @@ class ControllerTestCase(BaseClassSetup):
         self.assertEqual(subs[1]['subscription']['measurementGroups'][0]['measurementGroup']
                          ['measurementGroupName'], 'MG1')
         self.assertEqual(len(subs[1]['subscription']['measurementGroups']), 2)
+        self.assertEqual(subs[0]['subscription']['nfs'][0], 'pnf_101')
+        self.assertEqual(subs[0]['subscription']['nfs'][1], 'pnf_102')
+        self.assertEqual(subs[1]['subscription']['nfs'], [])
         self.assertEqual(len(subs), 2)
 
     @patch('mod.api.services.subscription_service.query_all_subscriptions',