blob: 241ebb815b91f832864aedb817519bac994c058a [file] [log] [blame]
*** settings ***
Resource ../../common.robot
Library Collections
Library RequestsLibrary
Library OperatingSystem
Library json
Library HttpLibrary.HTTP
Library ONAPLibrary.Utilities
*** Variables ***
@{return_ok_list}= 200 201 202 204
${queryswagger_url} /api/nslcm/v1/swagger.json
${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
${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
${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_subscriptions_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_subscription.json
${create_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_ns_instance.json
${terminate_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/terminate_ns_instance.json
${update_ns_instance_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/update_ns_instance.json
#global variables
${nsInstId}
${jobInstId}
${vnfInstId}
${vlInstId}
${nsInstanceId}
*** Test Cases ***
NslcmSwaggerTest
[Documentation] query swagger info of nslcm
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 headers=${headers}
${resp}= Get Request web_session ${queryswagger_url}
${responese_code}= Convert To String ${resp.status_code}
List Should Contain Value ${return_ok_list} ${responese_code}
${response_json} json.loads ${resp.content}
${swagger_version}= Convert To String ${response_json['swagger']}
Should Be Equal ${swagger_version} 2.0
NslcmSwaggerByMSBTest
[Documentation] query swagger info of nslcm by MSB
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 headers=${headers}
${resp}= Get Request web_session ${queryswagger_url}
${responese_code}= Convert To String ${resp.status_code}
List Should Contain Value ${return_ok_list} ${responese_code}
${response_json} json.loads ${resp.content}
${swagger_version}= Convert To String ${response_json['swagger']}
Should Be Equal ${swagger_version} 2.0
CreateNSTest
[Documentation] Create NS function test
${json_value}= json_from_file ${create_ns_json}
${json_string}= string_from_json ${json_value}
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${ns_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}
${nsInstId}= Convert To String ${response_json['nsInstanceId']}
Set Global Variable ${nsInstId}
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://${NSLCM_IP}:8403 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://${NSLCM_IP}:8403 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://${NSLCM_IP}:8403 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${terminate_vnfs_url}/${vnfInstId} ${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://${NSLCM_IP}:8403 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}
DeleteVlTest
[Documentation] Delete vl function test
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 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}
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://${NSLCM_IP}:8403 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${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://${NSLCM_IP}:8403 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${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}
GetJobTest
[Documentation] Query Ns Job function test
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 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}
UpdateNSTest
[Documentation] Scale Ns function test
${json_value}= json_from_file ${update_ns_json}
${json_string}= string_from_json ${json_value}
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${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://${NSLCM_IP}:8403 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${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://${NSLCM_IP}:8403 headers=${headers}
${resp}= Delete Request web_session ${ns_url}/${nsInstId}
${responese_code}= Convert To String ${resp.status_code}
List Should Contain Value ${return_ok_list} ${responese_code}
LcmHealthCheckTest
[Documentation] check health for nslcm by MSB
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 headers=${headers}
${resp}= Get Request web_session ${healthcheck_url}
${responese_code}= Convert To String ${resp.status_code}
List Should Contain Value ${return_ok_list} ${responese_code}
${response_json} json.loads ${resp.content}
${health_status}= Convert To String ${response_json['status']}
Should Be Equal ${health_status} active
LcmGetNsTest
[Documentation] get ns instances for nslcm by MSB
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 headers=${headers}
${resp}= Get Request web_session ${ns_url}
${responese_code}= Convert To String ${resp.status_code}
List Should Contain Value ${return_ok_list} ${responese_code}
QueryAllPnfsTest
[Documentation] Query all pnfs function test
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${NSLCM_IP}:8403 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}
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 globalcustomerid=global-customer-id-test1 servicetype=service-type-test1
Create Session web_session http://${NSLCM_IP}:8403 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['nsInstanceId']}
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://${NSLCM_IP}:8403 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}
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://${NSLCM_IP}:8403 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://${NSLCM_IP}:8403 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}
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://${NSLCM_IP}:8403 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://${NSLCM_IP}:8403 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}