summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfengyuanxing <feng.yuanxing@zte.com.cn>2018-03-07 17:47:18 +0800
committerfengyuanxing <feng.yuanxing@zte.com.cn>2018-03-07 17:47:18 +0800
commitb6a20bdd5f602285bb2b215c495e9398d999d643 (patch)
tree5c5edeef561d8ae669407e519e90dd0a60ba8eb8
parent12cc77707a7780d33603898186794bca9fdbe74d (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.py63
-rw-r--r--lcm/pub/utils/scaleaspect.py2
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