Fix Bug 2208 KeyError while checking SDN assists requirement
[osm/LCM.git] / osm_lcm / tests / test_ns.py
index f44dbf6..2dbc006 100644 (file)
@@ -99,7 +99,7 @@ def callable(a):
     return a
 
 
-class TestMyNS(asynctest.TestCase):
+class TestBaseNS(asynctest.TestCase):
     async def _n2vc_DeployCharms(
         self,
         model_name,
@@ -205,18 +205,15 @@ class TestMyNS(asynctest.TestCase):
             self.db = Database({"database": {"driver": "memory"}}).instance.db
             self.db.create_list("vnfds", yaml.safe_load(descriptors.db_vnfds_text))
             self.db.create_list(
-                "vnfds_revisions",
-                yaml.safe_load(descriptors.db_vnfds_revisions_text),
+                "vnfds_revisions", yaml.safe_load(descriptors.db_vnfds_revisions_text)
             )
             self.db.create_list("nsds", yaml.safe_load(descriptors.db_nsds_text))
             self.db.create_list("nsrs", yaml.safe_load(descriptors.db_nsrs_text))
             self.db.create_list(
-                "vim_accounts",
-                yaml.safe_load(descriptors.db_vim_accounts_text),
+                "vim_accounts", yaml.safe_load(descriptors.db_vim_accounts_text)
             )
             self.db.create_list(
-                "k8sclusters",
-                yaml.safe_load(descriptors.db_k8sclusters_text),
+                "k8sclusters", yaml.safe_load(descriptors.db_k8sclusters_text)
             )
             self.db.create_list(
                 "nslcmops", yaml.safe_load(descriptors.db_nslcmops_text)
@@ -410,6 +407,8 @@ class TestMyNS(asynctest.TestCase):
     #     await self.test_instantiate()
     #     # this will check that the initial-congig-primitive 'not_to_be_called' is not called
 
+
+class TestMyNS(TestBaseNS):
     @asynctest.fail_on(active_handles=True)
     async def test_start_stop_rebuild_pass(self):
         nsr_id = descriptors.test_ids["TEST-OP-VNF"]["ns"]
@@ -1194,11 +1193,7 @@ class TestMyNS(asynctest.TestCase):
             q_filter={"_id": vnfd_id + ":1"},
             update_dict={"_admin.revision": 1, "kdu": []},
         )
-        self.db.set_one(
-            "vnfrs",
-            q_filter={"_id": vnfr_id},
-            update_dict={"revision": 1},
-        )
+        self.db.set_one("vnfrs", q_filter={"_id": vnfr_id}, update_dict={"revision": 1})
         mock_charm_hash.return_value = False
 
         mock_charm_artifact.side_effect = [
@@ -1276,9 +1271,7 @@ class TestMyNS(asynctest.TestCase):
         self.db.set_one(
             "nsrs",
             q_filter={"_id": nsr_id},
-            update_dict={
-                "_admin.deployed.VCA.0.kdu_name": "native-kdu",
-            },
+            update_dict={"_admin.deployed.VCA.0.kdu_name": "native-kdu"},
         )
         self.db.set_one("vnfrs", q_filter={"_id": vnfr_id}, update_dict={"revision": 1})
 
@@ -1320,20 +1313,12 @@ class TestMyNS(asynctest.TestCase):
         self.db.set_one(
             "vnfds",
             q_filter={"_id": vnfd_id},
-            update_dict={
-                "_admin.revision": 3,
-                "software-version": "1.0",
-                "kdu": [],
-            },
+            update_dict={"_admin.revision": 3, "software-version": "1.0", "kdu": []},
         )
         self.db.set_one(
             "vnfds_revisions",
             q_filter={"_id": vnfd_id + ":1"},
-            update_dict={
-                "_admin.revision": 1,
-                "software-version": "1.0",
-                "kdu": [],
-            },
+            update_dict={"_admin.revision": 1, "software-version": "1.0", "kdu": []},
         )
         self.db.set_one("vnfrs", q_filter={"_id": vnfr_id}, update_dict={"revision": 1})
 
@@ -1520,10 +1505,7 @@ class TestMyNS(asynctest.TestCase):
 
     def test_ns_update_check_juju_charm_artifacts_base_folder_wth_pkgdir(self):
         """Check charm artifacts"""
-        base_folder = {
-            "folder": vnfd_id,
-            "pkg-dir": "hackfest_3charmed_vnfd",
-        }
+        base_folder = {"folder": vnfd_id, "pkg-dir": "hackfest_3charmed_vnfd"}
         charm_name = "simple"
         charm_type = "lxc_proxy_charm"
         revision = 3
@@ -1533,9 +1515,7 @@ class TestMyNS(asynctest.TestCase):
 
     def test_ns_update_check_juju_charm_artifacts_base_folder_wthout_pkgdir(self):
         """Check charm artifacts, SOL004 packages"""
-        base_folder = {
-            "folder": vnfd_id,
-        }
+        base_folder = {"folder": vnfd_id}
         charm_name = "basic"
         charm_type, revision = "", ""
         expected_result = f"{vnfd_id}/Scripts/helm-charts/basic"
@@ -1543,7 +1523,7 @@ class TestMyNS(asynctest.TestCase):
         self.assertEqual(result, expected_result, "Wrong charm artifact path")
 
 
-class TestInstantiateN2VC(TestMyNS):
+class TestInstantiateN2VC(TestBaseNS):
     async def setUp(self):
         await super().setUp()
         self.db_nsr = yaml.safe_load(descriptors.db_nsrs_text)[0]
@@ -1566,6 +1546,7 @@ class TestInstantiateN2VC(TestMyNS):
             vdu_id=None,
             kdu_name=None,
             vdu_index=None,
+            kdu_index=None,
             config_descriptor=config_descriptor,
             deploy_params={},
             base_folder=base_folder,