blob: 83040aded4a1923f0f7807f63959c1936b3074fc [file] [log] [blame]
*** settings ***
Resource ../../common.robot
Library Collections
Library RequestsLibrary
Library OperatingSystem
Library json
Library HttpLibrary.HTTP
*** Variables ***
@{return_ok_list}= 200 201 202 204
${queryswagger_url} /api/nslcm/v1/swagger.json
${create_ns_url} /api/nslcm/v1/ns
${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
#json files
${create_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_ns.json
#global variables
${nsInstId}
*** 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://${MSB_IAG_IP}:80 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://${MSB_IAG_IP}:80 headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${create_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}
DeleteNS Test
[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}
${resp}= Delete Request web_session ${delete_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://${MSB_IAG_IP}:80 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://${MSB_IAG_IP}:80 headers=${headers}
${resp}= Get Request web_session ${get_ns_url}
${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}