X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Ftests%2Ftest_ns.py;h=0e842cbde48c040db566707b018e23ff0607ffd2;hb=73d8bd00fd53c8864fa0803f2ae48e93fb06c791;hp=4d191ce56ef7251dd802af48c9e7976495e7ab5e;hpb=e64f7fb3e0efd6fcc78ea322c90106c7403a8a62;p=osm%2FLCM.git diff --git a/osm_lcm/tests/test_ns.py b/osm_lcm/tests/test_ns.py index 4d191ce..0e842cb 100644 --- a/osm_lcm/tests/test_ns.py +++ b/osm_lcm/tests/test_ns.py @@ -980,7 +980,7 @@ class TestMyNS(asynctest.TestCase): yield "app_name-{}".format(num_calls) num_calls += 1 - def _n2vc_CreateExecutionEnvironment(self, namespace): + def _n2vc_CreateExecutionEnvironment(self, namespace, reuse_ee_id, db_dict): k_list = namespace.split(".") ee_id = k_list[1] + "." if len(k_list) >= 2: @@ -988,7 +988,7 @@ class TestMyNS(asynctest.TestCase): ee_id += k[:8] else: ee_id += "_NS_" - return ee_id + return ee_id, {} def _ro_show(self, *args, **kwargs): ro_ns_desc = yaml.load(ro_ns_text) @@ -1074,13 +1074,16 @@ class TestMyNS(asynctest.TestCase): # allow several versions of n2vc self.my_ns.n2vc.FormatApplicationName = asynctest.Mock(side_effect=self._n2vc_FormatApplicationName()) self.my_ns.n2vc.DeployCharms = asynctest.CoroutineMock(side_effect=self._n2vc_DeployCharms) - self.my_ns.n2vc.CreateExecutionEnvironment = asynctest.CoroutineMock( + self.my_ns.n2vc.create_execution_environment = asynctest.CoroutineMock( side_effect=self._n2vc_CreateExecutionEnvironment) - self.my_ns.n2vc.InstallConfigurationSW = asynctest.CoroutineMock(return_value=pub_key) - self.my_ns.n2vc.ExecutePrimitive = asynctest.CoroutineMock(side_effect=self._return_uuid) + self.my_ns.n2vc.install_configuration_sw = asynctest.CoroutineMock(return_value=pub_key) + self.my_ns.n2vc.get_ee_ssh_public__key = asynctest.CoroutineMock(return_value=pub_key) + self.my_ns.n2vc.exec_primitive = asynctest.CoroutineMock(side_effect=self._return_uuid) self.my_ns.n2vc.GetPrimitiveStatus = asynctest.CoroutineMock(return_value="completed") self.my_ns.n2vc.GetPrimitiveOutput = asynctest.CoroutineMock(return_value={"result": "ok", "pubkey": pub_key}) + self.my_ns.n2vc.get_public_key = asynctest.CoroutineMock( + return_value=getenv("OSMLCM_VCA_PUBKEY", "public_key")) # Mock RO if not getenv("OSMLCMTEST_RO_NOMOCK"): @@ -1089,7 +1092,9 @@ class TestMyNS(asynctest.TestCase): self.my_ns.RO.get_list = asynctest.CoroutineMock(self.my_ns.RO.get_list, return_value=[]) self.my_ns.RO.create = asynctest.CoroutineMock(self.my_ns.RO.create, side_effect=self._ro_create()) self.my_ns.RO.show = asynctest.CoroutineMock(self.my_ns.RO.show, side_effect=self._ro_show()) - self.my_ns.RO.create_action = asynctest.CoroutineMock(self.my_ns.RO.create_action) + self.my_ns.RO.create_action = asynctest.CoroutineMock(self.my_ns.RO.create_action, + return_value={"vm-id": {"vim_result": 200, + "description": "done"}}) @asynctest.fail_on(active_handles=True) # all async tasks must be completed async def test_instantiate(self): @@ -1131,6 +1136,32 @@ class TestMyNS(asynctest.TestCase): # TODO add more checks of called methods # TODO add a terminate + def test_ns_params_2_RO(self): + vim = self._db_get_list("vim_accounts")[0] + vim_id = vim["_id"] + ro_vim_id = vim["_admin"]["deployed"]["RO"] + ns_params = {"vimAccountId": vim_id} + mgmt_interface = {"cp": "cp"} + vdu = [{"id": "vdu_id", "interface": [{"external-connection-point-ref": "cp"}]}] + vnfd_dict = { + "1": {"vdu": vdu, "mgmt-interface": mgmt_interface}, + "2": {"vdu": vdu, "mgmt-interface": mgmt_interface, "vnf-configuration": None}, + "3": {"vdu": vdu, "mgmt-interface": mgmt_interface, "vnf-configuration": {"config-access": None}}, + "4": {"vdu": vdu, "mgmt-interface": mgmt_interface, + "vnf-configuration": {"config-access": {"ssh-access": None}}}, + "5": {"vdu": vdu, "mgmt-interface": mgmt_interface, + "vnf-configuration": {"config-access": {"ssh-access": {"required": True, "default_user": "U"}}}}, + } + nsd = {"constituent-vnfd": []} + for k in vnfd_dict.keys(): + nsd["constituent-vnfd"].append({"vnfd-id-ref": k, "member-vnf-index": k}) + + n2vc_key_list = ["key"] + ro_ns_params = self.my_ns.ns_params_2_RO(ns_params, nsd, vnfd_dict, n2vc_key_list) + ro_params_expected = {'wim_account': None, "datacenter": ro_vim_id, + "vnfs": {"5": {"vdus": {"vdu_id": {"mgmt_keys": n2vc_key_list}}}}} + self.assertEqual(ro_ns_params, ro_params_expected) + @asynctest.fail_on(active_handles=True) # all async tasks must be completed async def test_scale(self): pass