blob: 49670d96bc8850e61bc35a730d1a4fe716f10e6d [file] [log] [blame]
rope2521537edf2019-07-25 16:04:10 +00001*** Settings ***
2Library Collections
3Library RequestsLibrary
4Library OperatingSystem
5Library json
6
7*** Variables ***
eHanan319d0ad2019-09-03 13:45:18 +00008${SLEEP_INTERVAL_SEC}= 5
9${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}= 48 # Represents the maximum number of attempts that will be made before a timeout. It sleeps for SLEEP_INTERVAL_SEC seconds before retry.
rope2521537edf2019-07-25 16:04:10 +000010
11*** Test Cases ***
rope2521537edf2019-07-25 16:04:10 +000012Distribute Service Template
eHanan75c11712019-08-13 15:44:16 +000013 Create Session sdc_controller_session http://${REPO_IP}:8085
rope2521537edf2019-07-25 16:04:10 +000014 ${data}= Get Binary File ${CURDIR}${/}data${/}distributeServiceTemplate.json
eHanan2ae0ac02019-09-16 12:25:40 +010015 &{headers}= Create Dictionary Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ= resource-location=/distribution-test-zip/unzipped/ Content-Type=application/json Accept=application/json
eHanan75c11712019-08-13 15:44:16 +000016 ${resp}= Post Request sdc_controller_session /test/treatNotification/v1 data=${data} headers=${headers}
rope2521537edf2019-07-25 16:04:10 +000017 Run Keyword If '${resp.status_code}' == '200' log to console \nexecuted with expected result
waqas.ikramcb3218e2019-08-22 10:25:24 +000018 Should Be Equal As Strings '${resp.status_code}' '200'
rope2521537edf2019-07-25 16:04:10 +000019
eHanan75c11712019-08-13 15:44:16 +000020Invoke Service Instantiation
21 Create Session api_handler_session http://${REPO_IP}:8080
22 ${data}= Get Binary File ${CURDIR}${/}data${/}serviceInstantiationRequest.json
23 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
24 ${service_instantiation_request}= Post Request api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances data=${data} headers=${headers}
25 Run Keyword If '${service_instantiation_request.status_code}' == '200' log to console \nexecuted with expected result
26 log to console ${service_instantiation_request.content}
waqas.ikramed699532019-10-15 15:06:06 +010027 ${service_instantiation_json_response}= Evaluate json.loads(r"""${service_instantiation_request.content}""", strict=False) json
eHanan319d0ad2019-09-03 13:45:18 +000028 ${request_ID}= Set Variable ${service_instantiation_json_response}[requestReferences][requestId]
29 ${service_instance_Id}= Set Variable ${service_instantiation_json_response}[requestReferences][instanceId]
30 SET GLOBAL VARIABLE ${service_instance_Id}
31 ${actual_request_state}= Set Variable ""
eHanan75c11712019-08-13 15:44:16 +000032
eHanan319d0ad2019-09-03 13:45:18 +000033 : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
34 \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
eHanan75c11712019-08-13 15:44:16 +000035 \ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
36 \ log to console ${orchestration_status_request.content}
waqas.ikramed699532019-10-15 15:06:06 +010037 \ ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
eHanan319d0ad2019-09-03 13:45:18 +000038 \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
waqas.ikramcb3218e2019-08-22 10:25:24 +000039 \ Log To Console Received actual repsonse status:${actual_request_state}
eHanan75c11712019-08-13 15:44:16 +000040 \ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
eHanan319d0ad2019-09-03 13:45:18 +000041 \ log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
42 \ SLEEP ${SLEEP_INTERVAL_SEC}s
43
waqas.ikramcb3218e2019-08-22 10:25:24 +000044 Log To Console final repsonse status received: ${actual_request_state}
eHanan75c11712019-08-13 15:44:16 +000045 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
waqas.ikramcb3218e2019-08-22 10:25:24 +000046 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
eHanan319d0ad2019-09-03 13:45:18 +000047
48Invoke VNF Instantiation
49 Run Keyword If "${service_instance_Id}"!="${EMPTY}" Log to Console Service Instance ID :${service_instance_Id} received
50 ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
51
52 Create Session api_handler_session http://${REPO_IP}:8080
53 ${data}= Get Binary File ${CURDIR}${/}data${/}vnfInstantiationRequest.json
waqas.ikramed699532019-10-15 15:06:06 +010054 ${vnf_instantiate_request_json}= evaluate json.loads(r'''${data}''', strict=False) json
eHanan319d0ad2019-09-03 13:45:18 +000055 set to dictionary ${vnf_instantiate_request_json}[requestDetails][relatedInstanceList][0][relatedInstance] instanceId=${service_instance_Id}
56 ${vnf_instantiate_request_string}= evaluate json.dumps(${vnf_instantiate_request_json}) json
eHanan319d0ad2019-09-03 13:45:18 +000057 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
58 ${vnf_instantiate_request}= Post Request api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/vnfs data=${vnf_instantiate_request_string} headers=${headers}
59 Run Keyword If '${vnf_instantiate_request.status_code}' == '200' log to console \nexecuted with expected result
waqas.ikramed699532019-10-15 15:06:06 +010060 ${vnf_instantiate_json_response}= Evaluate json.loads(r"""${vnf_instantiate_request.content}""") json
eHanan319d0ad2019-09-03 13:45:18 +000061 ${request_ID}= Set Variable ${vnf_instantiate_json_response}[requestReferences][requestId]
62 ${actual_request_state}= SET VARIABLE ""
eHanan3cc3d462019-09-20 16:56:04 +010063 ${vnf_instance_Id}= Set Variable ${vnf_instantiate_json_response}[requestReferences][instanceId]
64 SET GLOBAL VARIABLE ${vnf_instance_Id}
eHanan319d0ad2019-09-03 13:45:18 +000065
66 : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
67 \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
68 \ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
69 \ Log To Console ${orchestration_status_request.content}
waqas.ikramed699532019-10-15 15:06:06 +010070 \ ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
eHanan319d0ad2019-09-03 13:45:18 +000071 \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
eHanan3cc3d462019-09-20 16:56:04 +010072 \ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
73 \ Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
74 \ SLEEP ${SLEEP_INTERVAL_SEC}s
75
76 ${service_instance_Id}= SET VARIABLE ${orchestration_json_response}[request][instanceReferences][serviceInstanceId]
77 Log To Console final repsonse status received: ${actual_request_state}
78 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
79 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
80
Piotr Borelowskif8d78f82020-06-25 17:05:53 +020081Invoke VNF Notification for SOL002
82 Create Session ve-vnfm-adapter-session http://${REPO_IP}:9098
83 ${data}= Get Binary File ${CURDIR}${/}data${/}notification.json
84 &{headers}= Create Dictionary Content-Type=application/json Accept=application/json Authorization=Basic YWRtaW46YTRiM2MyZDE=
85 ${notification_request}= Post Request ve-vnfm-adapter-session /lcm/v1/vnf/instances/notifications data=${data} headers=${headers}
86 Log To Console ${notification_request}
87 Run Keyword If '${notification_request.status_code}' == '200' Log To Console \nexecuted with expected result
88 Should Be Equal As Strings '${notification_request.status_code}' '200'
89
eHanan3cc3d462019-09-20 16:56:04 +010090Delete VNF Instance
91 Run Keyword If "${vnf_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${vnf_instance_Id} received
92 ... ELSE Fail Log to Console Invalid VNF Instance ID :${vnf_instance_Id} recieved
93 Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${service_instance_Id} received
94 ... ELSE Fail Log to Console Invalid VNF Instance ID :${service_instance_Id} recieved
95
96 Create Session api_handler_session http://${REPO_IP}:8080
97 ${data}= Get Binary File ${CURDIR}${/}data${/}vnfDeleteRequest.json
98 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
99 ${vnf_delete_request}= Delete Request api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/vnfs/${vnf_instance_Id} data=${data} headers=${headers}
waqas.ikramed699532019-10-15 15:06:06 +0100100 ${vnf_delete_json_response}= Evaluate json.loads(r"""${vnf_delete_request.content}""") json
eHanan3cc3d462019-09-20 16:56:04 +0100101 Log to Console ${vnf_delete_json_response}
102 ${request_ID}= Set Variable ${vnf_delete_json_response}[requestReferences][requestId]
103 ${actual_request_state}= Set Variable ""
104
105 : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
106 \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
107 \ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
108 \ Log To Console ${orchestration_status_request.content}
waqas.ikramed699532019-10-15 15:06:06 +0100109 \ ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
eHanan3cc3d462019-09-20 16:56:04 +0100110 \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
eHanan319d0ad2019-09-03 13:45:18 +0000111 \ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
112 \ Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
113 \ SLEEP ${SLEEP_INTERVAL_SEC}s
114
115 Log To Console final repsonse status received: ${actual_request_state}
116 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
waqas.ikrambba9cee2019-09-19 15:40:46 +0100117 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
eHanan6bd3f6c2019-09-25 15:24:32 +0100118
119
120Delete Service Instance
121 Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${service_instance_Id} received
122 ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
123
124 Create Session api_handler_session http://${REPO_IP}:8080
125 ${data}= Get Binary File ${CURDIR}${/}data${/}serviceDeleteRequest.json
126 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
127 ${service_delete_request}= Delete Request api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id} data=${data} headers=${headers}
waqas.ikramed699532019-10-15 15:06:06 +0100128 ${service_delete_json_response}= Evaluate json.loads(r"""${service_delete_request.content}""") json
eHanan6bd3f6c2019-09-25 15:24:32 +0100129 Log to Console ${service_delete_json_response}
130 ${request_ID}= Set Variable ${service_delete_json_response}[requestReferences][requestId]
131 ${actual_request_state}= Set Variable ""
132
133 : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
134 \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
135 \ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
136 \ Log To Console ${orchestration_status_request.content}
waqas.ikramed699532019-10-15 15:06:06 +0100137 \ ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
eHanan6bd3f6c2019-09-25 15:24:32 +0100138 \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
139 \ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
140 \ Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
141 \ SLEEP ${SLEEP_INTERVAL_SEC}s
142
143 Log To Console final repsonse status received: ${actual_request_state}
144 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
145 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'