Add some test cases for VF-C to CSIT
Issue-ID: VFC-1534
Change-Id: Ie98a32cfadbde57bf35d3de52e5d222a251aaebe
Signed-off-by: zhaoliping123 <zhaoliping@chinamobile.com>
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 0000000..bed82d9
--- /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 0000000..282e0af
--- /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 0000000..e7fe017
--- /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 0000000..553d38c
--- /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 0000000..6db4cce
--- /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 0000000..68fadcc
--- /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 0000000..f3f669a
--- /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 0000000..d15d737
--- /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 0000000..01ed396
--- /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 0000000..75a1945
--- /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 0000000..c518885
--- /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 0000000..e7f729d
--- /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 0000000..73d27f6
--- /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 0000000..9ae8b32
--- /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 0000000..d03830a
--- /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 0000000..9884b6a
--- /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 0000000..3682bcf
--- /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 0000000..2722b3a
--- /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 0000000..2722b3a
--- /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 83040ad..452392f 100644
--- a/tests/vfc/nfvo-lcm/test.robot
+++ b/tests/vfc/nfvo-lcm/test.robot
@@ -14,12 +14,47 @@
${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 @@
${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 @@
${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