blob: 8f85855489f161e3c4cec716b4fb6db0089fd75d [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
${vnflcm_port} 8801
${subscriptions_url} /api/vnflcm/v1/subscriptions
#json files
${vnf_subscription_json} ${SCRIPTS}/../tests/vfc/gvnfm-vnflcm/jsoninput/vnf_subscription.json
#global variables
${subscriptionId}
*** Test Cases ***
Create new VNF Package subscription
Log Create new VNF Package subscription
[Documentation] The objective is to test the creation of a new VNF package subscription
${json_value}= json_from_file ${vnf_subscription_json}
${json_string}= string_from_json ${json_value}
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${subscriptions_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}
${callback_uri}= Convert To String ${response_json['callbackUri']}
Should Be Equal ${callback_uri} http://127.0.0.1:${vnflcm_port}/api/vnflcm/v1/callback_sample
${subscriptionId}= Convert To String ${response_json['id']}
Set Global Variable ${subscriptionId}
Create duplicated VNF Package subscription
Log Create duplicated VNF Package subscription
[Documentation] The objective is to test the attempt of a creation of a duplicated VNF package subscription
${json_value}= json_from_file ${vnf_subscription_json}
${json_string}= string_from_json ${json_value}
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
Set Request Body ${json_string}
${resp}= Post Request web_session ${subscriptions_url} ${json_string}
Should Be Equal As Strings 502 ${resp.status_code}
GET All VNF Package Subscriptions
Log GET All VNF Package Subscriptions
[Documentation] The objective is to test the retrieval of all VNF package subscriptions
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
${resp}= Get Request web_session ${subscriptions_url}
Should Be Equal As Strings 200 ${resp.status_code}
PUT VNF Package Subscriptions - Method not implemented
Log PUT VNF Package Subscriptions - Method not implemented
[Documentation] The objective is to test that PUT method is not allowed to modify VNF package subscriptions
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
${resp}= Put Request web_session ${subscriptions_url}
Should Be Equal As Strings 405 ${resp.status_code}
PATCH VNF Package Subscriptions - Method not implemented
Log PATCH VNF Package Subscriptions - Method not implemented
[Documentation] The objective is to test that PATCH method is not allowed to update VNF package subscriptions
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
${resp}= Patch Request web_session ${subscriptions_url}
Should Be Equal As Strings 405 ${resp.status_code}
DELETE VNF Package Subscriptions - Method not implemented
Log DELETE VNF Package Subscriptions - Method not implemented
[Documentation] The objective is to test that DELETE method is not allowed to delete VNF package subscriptions
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
${resp}= Delete Request web_session ${subscriptions_url}
Should Be Equal As Strings 405 ${resp.status_code}
DELETE VNF Package Subscription
Log DELETE VNF Package Subscription
${headers} Create Dictionary Content-Type=application/json Accept=application/json
Create Session web_session http://${VNFLCM_IP}:${vnflcm_port} headers=${headers}
${resp}= Delete Request web_session ${subscriptions_url}/${subscriptionId}
${responese_code}= Convert To String ${resp.status_code}
List Should Contain Value ${return_ok_list} ${responese_code}