diff options
author | 2018-03-07 17:47:18 +0800 | |
---|---|---|
committer | 2018-03-07 17:47:18 +0800 | |
commit | b6a20bdd5f602285bb2b215c495e9398d999d643 (patch) | |
tree | 5c5edeef561d8ae669407e519e90dd0a60ba8eb8 | |
parent | 12cc77707a7780d33603898186794bca9fdbe74d (diff) |
Add new test case and fix a bug
Change-Id: I48830537c9d2f444647ef4f290b6f3ea8e255fac
Issue-ID: VFC-784
Signed-off-by: fengyuanxing <feng.yuanxing@zte.com.cn>
-rw-r--r-- | lcm/pub/tests/test_scaleaspect.py | 63 | ||||
-rw-r--r-- | lcm/pub/utils/scaleaspect.py | 2 |
2 files changed, 44 insertions, 21 deletions
diff --git a/lcm/pub/tests/test_scaleaspect.py b/lcm/pub/tests/test_scaleaspect.py index 400e31d0..0af409f0 100644 --- a/lcm/pub/tests/test_scaleaspect.py +++ b/lcm/pub/tests/test_scaleaspect.py @@ -5,6 +5,7 @@ from lcm.pub.utils.scaleaspect import get_scale_vnf_data_from_json from lcm.pub.utils.scaleaspect import get_scale_vnf_data_info_list from lcm.pub.utils.scaleaspect import set_scacle_vnf_instance_id from lcm.pub.utils.scaleaspect import get_and_check_params +from lcm.pub.utils.scaleaspect import set_scaleVnfData_type from lcm.pub.database.models import NfInstModel from lcm.pub.database.models import NSInstModel from lcm.pub.msapi import catalog @@ -16,23 +17,10 @@ import mock class TestScaleAspect(TestCase): def setUp(self): - curdir_path = os.path.dirname( - os.path.dirname( - os.path.dirname( - os.path.abspath(__file__)))) - filename = curdir_path + "/ns/data/scalemapping.json" - self.scaling_map_json = get_json_data(filename) - + self.init_scaling_map_json() self.initInstModel() - self.ns_scale_aspect = "TIC_EDGE_IMS" - self.ns_scale_steps = "1" - self.ns_scale_direction = "SCALE_IN" - self.scaleNsData = { - "aspectId": self.ns_scale_aspect, - "numberOfSteps": self.ns_scale_steps, - "scalingDirection": self.ns_scale_direction - } + self.init_scale_ns_data() self.vnf_scale_info_list = [ { @@ -42,11 +30,29 @@ class TestScaleAspect(TestCase): }, { "vnfd_id": "nf_zte_hss", - "vnf_scaleAspectId": "mpu", - "numberOfSteps": "1" + "vnf_scaleAspectId": "gsu", + "numberOfSteps": "2" } ] + def init_scale_ns_data(self): + self.ns_scale_aspect = "TIC_EDGE_IMS" + self.ns_scale_steps = "1" + self.ns_scale_direction = "SCALE_IN" + self.scaleNsData = { + "aspectId": self.ns_scale_aspect, + "numberOfSteps": self.ns_scale_steps, + "scalingDirection": self.ns_scale_direction + } + + def init_scaling_map_json(self): + curdir_path = os.path.dirname( + os.path.dirname( + os.path.dirname( + os.path.abspath(__file__)))) + filename = curdir_path + "/ns/data/scalemapping.json" + self.scaling_map_json = get_json_data(filename) + def initInstModel(self): self.nsd_id = "23" self.ns_inst_id = "1" @@ -176,8 +182,8 @@ class TestScaleAspect(TestCase): self.assertEqual(2, result.__len__()) self.assertEqual(result[0]["numberOfSteps"], self.vnf_scale_info_list[0]["numberOfSteps"]) self.assertEqual(result[0]["vnf_scaleAspectId"], self.vnf_scale_info_list[0]["vnf_scaleAspectId"]) - self.assertEqual(result[1]["numberOfSteps"], self.vnf_scale_info_list[0]["numberOfSteps"]) - self.assertEqual(result[1]["vnf_scaleAspectId"], self.vnf_scale_info_list[0]["vnf_scaleAspectId"]) + self.assertEqual(result[1]["numberOfSteps"], self.vnf_scale_info_list[1]["numberOfSteps"]) + self.assertEqual(result[1]["vnf_scaleAspectId"], self.vnf_scale_info_list[1]["vnf_scaleAspectId"]) self.assertEqual("231", result[0]["vnfInstanceId"]) self.assertEqual("232", result[1]["vnfInstanceId"]) self.assertNotIn("vnfd_id", result[0]) @@ -212,7 +218,7 @@ class TestScaleAspect(TestCase): }, { "vnfd_id": "error2", - "vnf_scaleAspectId": "mpu", + "vnf_scaleAspectId": "gsu", "numberOfSteps": "1" } ] @@ -227,6 +233,23 @@ class TestScaleAspect(TestCase): self.assertEqual("232", result[1]["vnfInstanceId"]) self.assertEqual("233", result[2]["vnfInstanceId"]) + def test_set_scaleVnfData_type(self): + vnf_scale_list = set_scacle_vnf_instance_id(self.vnf_scale_info_list) + result = set_scaleVnfData_type(vnf_scale_list, self.ns_scale_direction) + self.assertEqual(2, result.__len__()) + + self.assertNotIn("scaleByStepData", result) + + self.assertEqual(self.ns_scale_direction, result[0]["scaleByStepData"]["type"]) + self.assertEqual("mpu", result[0]["scaleByStepData"]["aspectId"]) + self.assertNotIn("vnf_scaleAspectId", result[0]["scaleByStepData"]) + self.assertEqual("1", result[0]["scaleByStepData"]["numberOfSteps"]) + + self.assertEqual(self.ns_scale_direction, result[1]["scaleByStepData"]["type"]) + self.assertEqual("gsu", result[1]["scaleByStepData"]["aspectId"]) + self.assertNotIn("vnf_scaleAspectId", result[1]["scaleByStepData"]) + self.assertEqual("2", result[1]["scaleByStepData"]["numberOfSteps"]) + def test_get_nsdId(self): nsd_id = get_nsdId("1") self.assertEqual("23", nsd_id) diff --git a/lcm/pub/utils/scaleaspect.py b/lcm/pub/utils/scaleaspect.py index 941d1b48..7e9c6519 100644 --- a/lcm/pub/utils/scaleaspect.py +++ b/lcm/pub/utils/scaleaspect.py @@ -238,7 +238,7 @@ def set_scaleVnfData_type(vnf_scale_list, scale_type): scaleVnfDataList = [] if vnf_scale_list is not None: for i in range(vnf_scale_list.__len__()): - scaleVnfData = scale_vnf_data_mapping + scaleVnfData = copy.deepcopy(scale_vnf_data_mapping) scaleVnfData["vnfInstanceId"] = get_vnfInstanceIdByName( vnf_scale_list[i]["vnfInstanceId"]) scaleVnfData["scaleByStepData"]["type"] = scale_type |