From: zhaoliping123 Date: Tue, 15 Oct 2019 07:20:08 +0000 (+0800) Subject: Add some test cases for VF-C to CSIT X-Git-Tag: 6.0.0-ONAP~103 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=179d6fc0411bdf3d7a3dd64e65ba151797939d22;p=integration%2Fcsit.git Add some test cases for VF-C to CSIT Issue-ID: VFC-1534 Change-Id: Ie98a32cfadbde57bf35d3de52e5d222a251aaebe Signed-off-by: zhaoliping123 --- diff --git a/tests/vfc/nfvo-lcm/jsoninput/create_ns_instance.json b/tests/vfc/nfvo-lcm/jsoninput/create_ns_instance.json new file mode 100644 index 00000000..bed82d90 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/create_ns_instance.json @@ -0,0 +1,5 @@ +{ + "nsdId": "23", + "nsName": "ns23", + "nsDescription": "ns23 desc" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/create_pnf.json b/tests/vfc/nfvo-lcm/jsoninput/create_pnf.json new file mode 100644 index 00000000..282e0af2 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/create_pnf.json @@ -0,0 +1,8 @@ +{ + "pnfId": "123", + "pnfName": "pnf1", + "pnfdId": "456", + "pnfdInfoId": "011234", + "pnfProfileId": "456788", + "cpInfo": "cp info" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/create_sfc.json b/tests/vfc/nfvo-lcm/jsoninput/create_sfc.json new file mode 100644 index 00000000..e7fe0170 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/create_sfc.json @@ -0,0 +1,6 @@ +{ + "fpindex": "123", + "nsInstanceId": "123", + "context": "create sfc", + "sdnControllerId": "123" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/create_subscription.json b/tests/vfc/nfvo-lcm/jsoninput/create_subscription.json new file mode 100644 index 00000000..553d38ce --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/create_subscription.json @@ -0,0 +1,54 @@ +{ + "callbackUri": "/api/nslcm/v1/subscriptions", + "filter": { + "nsInstanceSubscriptionFilter": { + "nsdIds": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ], + "vnfdIds": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ], + "pnfdIds": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ], + "nsInstanceIds": [ + "3fa85f64-5717-4562-b3fc-2c963f66afa6" + ], + "nsInstanceNames": [ + "ns1" + ] + }, + "notificationTypes": [ + "NsLcmOperationOccurrenceNotification" + ], + "operationTypes": [ + "INSTANTIATE" + ], + "operationStates": [ + "STARTING" + ], + "nsComponentTypes": [ + "VNF" + ], + "lcmOpNameImpactingNsComponent": [ + "VNF_INSTANTIATE" + ], + "lcmOpOccStatusImpactingNsComponent": [ + "START" + ] + }, + "authentication": { + "authType": [ + "BASIC" + ], + "paramsBasic": { + "userName": "test", + "password": "test" + }, + "paramsOauth2ClientCredentials": { + "clientId": "123", + "clientPassword": "test", + "tokenEndpoint": "test" + } + } +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/create_vl.json b/tests/vfc/nfvo-lcm/jsoninput/create_vl.json new file mode 100644 index 00000000..6db4cce0 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/create_vl.json @@ -0,0 +1,6 @@ +{ + "vlIndex": "23456", + "nsInstanceId": "234", + "context": "create a new vl", + "additionalParamForNs": "vl1" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/create_vnf.json b/tests/vfc/nfvo-lcm/jsoninput/create_vnf.json new file mode 100644 index 00000000..68fadccd --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/create_vnf.json @@ -0,0 +1,5 @@ +{ + "vnfIndex": "vnf123", + "nsInstanceId": "123", + "additionalParamForVnf": "addInfo" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/heal_ns.json b/tests/vfc/nfvo-lcm/jsoninput/heal_ns.json new file mode 100644 index 00000000..f3f669ab --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/heal_ns.json @@ -0,0 +1,22 @@ +{ + "healVnfData": { + "vnfInstanceId": "123", + "cause": "new", + "additionalParams": { + "action": "add", + "actionvminfo": { + "vmid": "123", + "vduid": "1", + "vmname": "wm123" + } + } + }, + "healNsData": { + "degreeHealing": "HEAL_RESTORE", + "actionsHealing": [ + "One action" + ], + "healScript": "script of NS heal", + "additionalParamsforNs": "Addition params of NS heal" + } +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/heal_ns_instance.json b/tests/vfc/nfvo-lcm/jsoninput/heal_ns_instance.json new file mode 100644 index 00000000..d15d7373 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/heal_ns_instance.json @@ -0,0 +1,42 @@ +{ + "healVnfData": [ + { + "vnfInstanceId": "vnf123", + "cause": "string", + "additionalParams": { + "additionalProp1": { + "action": "action1", + "actionvminfo": { + "vmid": "vm123", + "vduid": "vdu123", + "vmname": "vmname1" + } + }, + "additionalProp2": { + "action": "action2", + "actionvminfo": { + "vmid": "vm456", + "vduid": "vdu456", + "vmname": "vmname456" + } + }, + "additionalProp3": { + "action": "action3", + "actionvminfo": { + "vmid": "vm789", + "vduid": "vdu789", + "vmname": "vmname789" + } + } + } + } + ], + "healNsData": { + "degreeHealing": "HEAL_RESTORE", + "actionsHealing": [ + "action for healing" + ], + "healScript": "script2", + "additionalParamsforNs": "additional info" + } +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/instantiate_ns.json b/tests/vfc/nfvo-lcm/jsoninput/instantiate_ns.json new file mode 100644 index 00000000..01ed3961 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/instantiate_ns.json @@ -0,0 +1,51 @@ +{ + "locationConstraints": [ + { + "vnfProfileId": "123", + "locationConstraints": { + "vimId": "vim123" + } + } + ], + "additionalParamForNs": { + "additionalProp1": "Prop1", + "additionalProp2": "Prop2", + "additionalProp3": "Prop3" + }, + "addpnfData": [ + { + "pnfId": "123", + "pnfName": "pdf123", + "pnfdId": "123", + "pnfProfileId": "123", + "cpData": [ + { + "cpInstanceId": "123", + "cpdId": "123", + "cpProtocolData": [ + { + "layerProtocol": "IP_OVER_ETHERNET", + "ipOverEthernet": { + "macAddress": "7C-76-35-4C-31-78", + "ipAddresses": [ + { + "type": "IPV4", + "fixedAddresses": [ + "192.168.43.10" + ], + "numDynamicAddresses": 0, + "addressRange": { + "minAddress": "192.168.253.0", + "maxAddress": "192.168.253.255" + }, + "subnetId": "255.255.255.0" + } + ] + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/instantiate_ns_instance.json b/tests/vfc/nfvo-lcm/jsoninput/instantiate_ns_instance.json new file mode 100644 index 00000000..75a19459 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/instantiate_ns_instance.json @@ -0,0 +1,127 @@ +{ + "nsFlavourId": "nsFlavour123", + "sapData": [ + { + "sapdId": "23", + "sapName": "sap123", + "description": "sap desc", + "sapProtocolData": [ + { + "layerProtocol": "IP_OVER_ETHERNET", + "ipOverEthernet": { + "macAddress": "7C-76-35-4C-31-78", + "ipAddresses": [ + { + "type": "IPV4", + "fixedAddresses": [ + "192.168.43.12" + ], + "numDynamicAddresses": 0, + "addressRange": { + "minAddress": "192.168.253.0", + "maxAddress": "192.168.253.255" + }, + "subnetId": "255.255.255.0" + } + ] + } + } + ] + } + ], + "addpnfData": [ + { + "pnfId": "pnf123", + "pnfName": "pnfName123", + "pnfdId": "pnfd123", + "pnfProfileId": "pnfPro123", + "cpData": [ + { + "cpInstanceI16": { + "IdentifierInPnf": {} + }, + "cpdId": { + "IdentifierInNsd": {} + }, + "cpProtocolData": [ + { + "layerProtocol": "IP_OVER_ETHERNET", + "ipOverEthernet": { + "macAddress": "7C-76-35-4C-31-78", + "ipAddresses": [ + { + "type": "IPV4", + "fixedAddresses": [ + "192.168.43.15" + ], + "numDynamicAddresses": 0, + "addressRange": { + "minAddress": "192.168.43.0", + "maxAddress": "192.168.43.255" + }, + "subnetId": "255.255.255.0" + } + ] + } + } + ] + } + ] + } + ], + "vnfInstanceData": [ + { + "vnfInstanceId": "vnf123", + "vnfProfileId": "vnfPro123" + } + ], + "nestedNsInstanceId": [ + "nested123" + ], + "localizationLanguage": [ + { + "vnfProfileId": "string", + "locationConstraints": { + "countryCode": "460", + "civicAddressElement": [ + { + "caType": "type1", + "caValue": "123" + } + ] + } + } + ], + "additionalParamForNs": { + "additionalProp1": "nsProp1", + "additionalProp2": "nsProp2", + "additionalProp3": "nsProp3" + }, + "additionalParamsForVnf": [ + { + "vnfProfileId": "vnfPro456", + "additionalParams": { + "additionalProp1": "vnfProp1", + "additionalProp2": "vnfProp2", + "additionalProp3": "vnfProp3" + } + } + ], + "startTime": "2019-10-08T01:45:26.226Z", + "nsInstantiationLevelId": "345678", + "additionalAffinityOrAntiAffiniityRule": [ + { + "vnfdId": [ + "123" + ], + "vnfProfileId": [ + "456" + ], + "vnfInstanceId": [ + "789" + ], + "affinityOrAntiAffiinty": "AFFINITY", + "scope": "NFVI_POP" + } + ] +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/postdeal_ns.json b/tests/vfc/nfvo-lcm/jsoninput/postdeal_ns.json new file mode 100644 index 00000000..c518885c --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/postdeal_ns.json @@ -0,0 +1,3 @@ +{ + "status": "ongoing" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/scale_ns.json b/tests/vfc/nfvo-lcm/jsoninput/scale_ns.json new file mode 100644 index 00000000..e7f729d8 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/scale_ns.json @@ -0,0 +1,14 @@ +{ + "scaleType": "ns", + "scaleNsData": [ + { + "scaleNsByStepsData": [ + { + "aspectId": "123", + "numberOfSteps": "3", + "scalingDirection": "north" + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/scale_ns_instance.json b/tests/vfc/nfvo-lcm/jsoninput/scale_ns_instance.json new file mode 100644 index 00000000..73d27f6e --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/scale_ns_instance.json @@ -0,0 +1,59 @@ +{ + "scaleType": "ns_instance", + "scaleNsData": [ + { + "vnfInstanceToBeAdded": [ + { + "vnfInstanceId": "vnf456", + "vnfProfileId": "vnfPro456" + } + ], + "vnfInstanceToBeRemoved": [ + "" + ], + "scaleNsByStepsData": { + "scalingDirection": "SCALE_IN", + "aspectId": "123", + "numberOfSteps": "2" + }, + "scaleNsToLevelData": { + "nsInstantiationLevel": "1", + "nsScaleInfo": [ + { + "nsScalingAspectId": "2", + "nsScaleLevelId": "3" + } + ] + }, + "additionalParamsForNs": { + "additionalProp1": "nsProp11", + "additionalProp2": "nsProp12", + "additionalProp3": "nsProp13" + }, + "additionalParamsForVnf": [ + { + "vnfProfileId": "string", + "additionalParams": { + "additionalProp1": "vnfProp11", + "additionalProp2": "vnfProp12", + "additionalProp3": "vnfProp13" + } + } + ], + "locationConstraints": [ + { + "vnfProfileId": "vnfPro789", + "locationConstraints": { + "countryCode": "460", + "civicAddressElement": [ + { + "caType": "type2", + "caValue": "789" + } + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/terminate_ns.json b/tests/vfc/nfvo-lcm/jsoninput/terminate_ns.json new file mode 100644 index 00000000..9ae8b329 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/terminate_ns.json @@ -0,0 +1,4 @@ +{ + "terminationType": "ns", + "gracefulTerminationTimeout": "1602668855" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/terminate_ns_instance.json b/tests/vfc/nfvo-lcm/jsoninput/terminate_ns_instance.json new file mode 100644 index 00000000..d03830a9 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/terminate_ns_instance.json @@ -0,0 +1,3 @@ +{ + "terminationTime": "1602668880" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/terminate_vnf.json b/tests/vfc/nfvo-lcm/jsoninput/terminate_vnf.json new file mode 100644 index 00000000..9884b6ac --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/terminate_vnf.json @@ -0,0 +1,4 @@ +{ + "terminationType": "vnf", + "gracefulTerminationTimeout": "3600" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/update_job_ns.json b/tests/vfc/nfvo-lcm/jsoninput/update_job_ns.json new file mode 100644 index 00000000..3682bcfb --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/update_job_ns.json @@ -0,0 +1,5 @@ +{ + "progress": "updating", + "desc": "update job des", + "errcode": "405" +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/update_ns.json b/tests/vfc/nfvo-lcm/jsoninput/update_ns.json new file mode 100644 index 00000000..2722b3a5 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/update_ns.json @@ -0,0 +1,12 @@ +{ + "updateType": "ADD_VNF", + "addVnfInstance": [ + { + "vnfInstanceId": "456", + "vnfProfileId": "456" + } + ], + "updateTime": { + "DateTime": {} + } +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/jsoninput/update_ns_instance.json b/tests/vfc/nfvo-lcm/jsoninput/update_ns_instance.json new file mode 100644 index 00000000..2722b3a5 --- /dev/null +++ b/tests/vfc/nfvo-lcm/jsoninput/update_ns_instance.json @@ -0,0 +1,12 @@ +{ + "updateType": "ADD_VNF", + "addVnfInstance": [ + { + "vnfInstanceId": "456", + "vnfProfileId": "456" + } + ], + "updateTime": { + "DateTime": {} + } +} \ No newline at end of file diff --git a/tests/vfc/nfvo-lcm/test.robot b/tests/vfc/nfvo-lcm/test.robot index 83040ade..452392f9 100644 --- a/tests/vfc/nfvo-lcm/test.robot +++ b/tests/vfc/nfvo-lcm/test.robot @@ -14,12 +14,47 @@ ${delete_ns_url} /api/nslcm/v1/ns ${get_ns_url} /api/nslcm/v1/ns ${get_subscriptions_url} /api/nslcm/v1/subscriptions ${healthcheck_url} /api/nslcm/v1/health_check +${get_job_url} /api/nslcm/v1/jobs +${vnfs_url} /api/nslcm/v1/ns/vnfs +${terminate_vnfs_url} /api/nslcm/v1/ns/terminatevnf +${vls_url} /api/nslcm/v1/ns/vls +${sfcs_url} /api/nslcm/v1/ns/sfcs +${pnfs_url} /api/nslcm/v1/pnfs + +${ns_instances_url} /api/nslcm/v1/ns_instances #json files ${create_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_ns.json +${heal_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/heal_ns.json +${instantiate_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/instantiate_ns.json +${postdeal_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/postdeal_ns.json +${scale_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/scale_ns.json +${update_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/update_ns.json +${terminate_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/terminate_ns.json +${update_job_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/update_job_ns.json +${create_vnf_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_vnf.json +${terminate_vnf_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/terminate_vnf.json +${create_vl_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_vl.json +${create_sfcs_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_sfc.json +${create_subscriptions_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_subscription.json +${create_pnfs_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_pnf.json + +${create_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_ns_instance.json +${heal_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/heal_ns_instance.json +${instantiate_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/instantiate_ns_instance.json +${postdeal_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/postdeal_ns_instance.json +${scale_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/scale_ns_instance.json +${update_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/update_ns_instance.json +${terminate_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/terminate_ns_instance.json #global variables ${nsInstId} +${jobInstId} +${vnfInstId} +${vlInstId} +${sfcInstId} +${pnfId} +${nsInstanceId} *** Test Cases *** NslcmSwaggerTest @@ -58,7 +93,201 @@ CreateNSTest ${nsInstId}= Convert To String ${response_json['nsInstanceId']} Set Global Variable ${nsInstId} -DeleteNS Test +CreateSfcTest + [Documentation] Create sfc function test + ${json_value}= json_from_file ${create_sfcs_json} + Set To Dictionary ${json_value} nsInstanceId=${nsInstId} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${sfcs_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${sfcInstId}= Convert To String ${response_json['sfcInstId']} + Set Global Variable ${sfcInstId} + +QuerySfcTest + [Documentation] Query sfc function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${sfcs_url}/${sfcInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +DeleteSfcTest + [Documentation] Delete sfc function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Delete Request web_session ${sfcs_url}/${sfcInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +CreateVnfTest + [Documentation] Create vnf function test + ${json_value}= json_from_file ${create_vnf_json} + Set To Dictionary ${json_value} nsInstanceId=${nsInstId} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${vnfs_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${vnfInstId}= Convert To String ${response_json['vnfInstId']} + Set Global Variable ${vnfInstId} + +QueryVnfTest + [Documentation] Query vnf function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${vnfs_url}/${vnfInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +TerminateVnfTest + [Documentation] Terminate vnf function test + ${json_value}= json_from_file ${terminate_vnf_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${terminate_vnfs_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +CreateVlTest + [Documentation] Create vl function test + ${json_value}= json_from_file ${create_vl_json} + Set To Dictionary ${json_value} nsInstanceId=${nsInstId} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${vls_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${vlInstId}= Convert To String ${response_json['vlId']} + Set Global Variable ${vlInstId} + +QueryVlTest + [Documentation] Query vl function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${vls_url}/${vlInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +DeleteVlTest + [Documentation] Delete vl function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Delete Request web_session ${vls_url}/${vlInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +InstantiateNSTest + [Documentation] Instantiate Ns function test + ${json_value}= json_from_file ${instantiate_ns_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_ns_url}/${nsInstId}/instantiate ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +QueryNSTest + [Documentation] Query Ns function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${get_ns_url}/${nsInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +ScaleNSTest + [Documentation] Scale Ns function test + ${json_value}= json_from_file ${scale_ns_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_ns_url}/${nsInstId}/scale ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +HealNSTest + [Documentation] Heal Ns function test + ${json_value}= json_from_file ${heal_ns_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_ns_url}/${nsInstId}/heal ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${jobInstId}= Convert To String ${response_json['jobId']} + Set Global Variable ${jobInstId} + +UpdateJobTest + [Documentation] Update Ns Job function test + ${json_value}= json_from_file ${update_job_ns_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${get_job_url}/${jobInstId} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + +GetJobTest + [Documentation] Query Ns Job function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${get_job_url}/${jobInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +PostdealNSTest + [Documentation] Postdeal Ns function test + ${json_value}= json_from_file ${postdeal_ns_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_ns_url}/${nsInstId}/postdeal ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +UpdateNSTest + [Documentation] Scale Ns function test + ${json_value}= json_from_file ${update_ns_json} + ${json_string}= string_from_json ${json_value} + Log ${json_string} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_ns_url}/${nsInstId}/update ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +TerminateNSTest + [Documentation] Terminate Ns function test + ${json_value}= json_from_file ${terminate_ns_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_ns_url}/${nsInstId}/terminate ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +DeleteNSTest [Documentation] Delete NS function test ${headers} Create Dictionary Content-Type=application/json Accept=application/json Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} @@ -85,10 +314,153 @@ LcmGetNsTest ${responese_code}= Convert To String ${resp.status_code} List Should Contain Value ${return_ok_list} ${responese_code} +CreatePnfsTest + [Documentation] Create pnf function test + ${json_value}= json_from_file ${create_pnfs_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${pnfs_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${pnfId}= Convert To String ${response_json['pnfId']} + Set Global Variable ${pnfId} + +QueryAllPnfsTest + [Documentation] Query all pnfs function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${pnfs_url} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +QueryPnfsTest + [Documentation] Query pnf function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${pnfs_url}/${pnfId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +DeletePnfTest + [Documentation] Delete pnf function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Delete Request web_session ${pnfs_url}/${pnfId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +CreateNSInstanceTest + [Documentation] Create NS Instance function test + ${json_value}= json_from_file ${create_ns_instance_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${ns_instances_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${nsInstanceId}= Convert To String ${response_json['id']} + Set Global Variable ${nsInstanceId} + +QueryNSInstancesTest + [Documentation] Query Ns Instances function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${ns_instances_url} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +QueryNSIntanceTest + [Documentation] Query One Ns Instance function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${ns_instances_url}/${nsInstanceId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +InstantiateNSInstanceTest + [Documentation] Instantiate Ns function test + ${json_value}= json_from_file ${instantiate_ns_instance_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${ns_instances_url}/${nsInstanceId}/instantiate ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +ScaleNSInstanceTest + [Documentation] Scale Ns Instance function test + ${json_value}= json_from_file ${scale_ns_instance_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${ns_instances_url}/${nsInstanceId}/scale ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +HealNSInstanceTest + [Documentation] Heal Ns Instance function test + ${json_value}= json_from_file ${heal_ns_instance_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${ns_instances_url}/${nsInstanceId}/heal ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +UpdateNSInstanceTest + [Documentation] Scale Ns Instance function test + ${json_value}= json_from_file ${update_ns_instance_json} + ${json_string}= string_from_json ${json_value} + Log ${json_string} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${ns_instances_url}/${nsInstId}/update ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +TerminateNSInstanceTest + [Documentation] Terminate Ns Instance function test + ${json_value}= json_from_file ${terminate_ns_instance_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${ns_instances_url}/${nsInstanceId}/terminate ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +DeleteNSInstanceTest + [Documentation] Delete NS Instance function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Delete Request web_session ${ns_instances_url}/${nsInstanceId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + +LcmCreateSubscriptionsTest + [Documentation] Postdeal Ns function test + ${json_value}= json_from_file ${create_subscriptions_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${get_subscriptions_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + LcmGetSubscriptionsTest [Documentation] get subscriptions for nslcm by MSB ${headers} Create Dictionary Content-Type=application/json Accept=application/json Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} ${resp}= Get Request web_session ${get_subscriptions_url} ${responese_code}= Convert To String ${resp.status_code} - List Should Contain Value ${return_ok_list} ${responese_code} + List Should Contain Value ${return_ok_list} ${responese_code} \ No newline at end of file