3 Library RequestsLibrary
4 Library OperatingSystem
8 ${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.
12 Distribute Service Template
13 Create Session sdc_controller_session http://${REPO_IP}:8085
14 ${data}= Get Binary File ${CURDIR}${/}data${/}distributeServiceTemplate.json
15 &{headers}= Create Dictionary Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ= resource-location=/distribution-test-zip/unzipped/ Content-Type=application/json Accept=application/json
16 ${resp}= Post Request sdc_controller_session /test/treatNotification/v1 data=${data} headers=${headers}
17 Run Keyword If '${resp.status_code}' == '200' log to console \nexecuted with expected result
18 Should Be Equal As Strings '${resp.status_code}' '200'
20 Invoke 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}
27 ${service_instantiation_json_response}= Evaluate json.loads(r"""${service_instantiation_request.content}""", strict=False) json
28 ${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 ""
33 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
34 ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
35 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
36 log to console ${orchestration_status_request.content}
37 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
38 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
39 Log To Console Received actual repsonse status:${actual_request_state}
40 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
41 log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
42 SLEEP ${SLEEP_INTERVAL_SEC}s
45 Log To Console final repsonse status received: ${actual_request_state}
46 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
47 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
49 Invoke VNF Instantiation
50 Run Keyword If "${service_instance_Id}"!="${EMPTY}" Log to Console Service Instance ID :${service_instance_Id} received
51 ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
53 Create Session api_handler_session http://${REPO_IP}:8080
54 ${data}= Get Binary File ${CURDIR}${/}data${/}vnfInstantiationRequest.json
55 ${vnf_instantiate_request_json}= evaluate json.loads(r'''${data}''', strict=False) json
56 set to dictionary ${vnf_instantiate_request_json}[requestDetails][relatedInstanceList][0][relatedInstance] instanceId=${service_instance_Id}
57 ${vnf_instantiate_request_string}= evaluate json.dumps(${vnf_instantiate_request_json}) json
58 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
59 ${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}
60 Run Keyword If '${vnf_instantiate_request.status_code}' == '200' log to console \nexecuted with expected result
61 ${vnf_instantiate_json_response}= Evaluate json.loads(r"""${vnf_instantiate_request.content}""") json
62 ${request_ID}= Set Variable ${vnf_instantiate_json_response}[requestReferences][requestId]
63 ${actual_request_state}= SET VARIABLE ""
64 ${vnf_instance_Id}= Set Variable ${vnf_instantiate_json_response}[requestReferences][instanceId]
65 SET GLOBAL VARIABLE ${vnf_instance_Id}
67 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
68 ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
69 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
70 Log To Console ${orchestration_status_request.content}
71 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
72 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
73 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
74 Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
75 SLEEP ${SLEEP_INTERVAL_SEC}s
78 ${service_instance_Id}= SET VARIABLE ${orchestration_json_response}[request][instanceReferences][serviceInstanceId]
79 Log To Console final repsonse status received: ${actual_request_state}
80 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
81 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
84 Run Keyword If "${vnf_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${vnf_instance_Id} received
85 ... ELSE Fail Log to Console Invalid VNF Instance ID :${vnf_instance_Id} recieved
86 Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${service_instance_Id} received
87 ... ELSE Fail Log to Console Invalid VNF Instance ID :${service_instance_Id} recieved
89 Create Session api_handler_session http://${REPO_IP}:8080
90 ${data}= Get Binary File ${CURDIR}${/}data${/}vnfDeleteRequest.json
91 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
92 ${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}
93 ${vnf_delete_json_response}= Evaluate json.loads(r"""${vnf_delete_request.content}""") json
94 Log to Console ${vnf_delete_json_response}
95 ${request_ID}= Set Variable ${vnf_delete_json_response}[requestReferences][requestId]
96 ${actual_request_state}= Set Variable ""
98 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
99 ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
100 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
101 Log To Console ${orchestration_status_request.content}
102 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
103 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
104 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
105 Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
106 SLEEP ${SLEEP_INTERVAL_SEC}s
109 Log To Console final repsonse status received: ${actual_request_state}
110 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
111 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
114 Delete Service Instance
115 Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${service_instance_Id} received
116 ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
118 Create Session api_handler_session http://${REPO_IP}:8080
119 ${data}= Get Binary File ${CURDIR}${/}data${/}serviceDeleteRequest.json
120 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
121 ${service_delete_request}= Delete Request api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id} data=${data} headers=${headers}
122 ${service_delete_json_response}= Evaluate json.loads(r"""${service_delete_request.content}""") json
123 Log to Console ${service_delete_json_response}
124 ${request_ID}= Set Variable ${service_delete_json_response}[requestReferences][requestId]
125 ${actual_request_state}= Set Variable ""
127 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
128 ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
129 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
130 Log To Console ${orchestration_status_request.content}
131 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
132 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
133 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
134 Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
135 SLEEP ${SLEEP_INTERVAL_SEC}s
138 Log To Console final repsonse status received: ${actual_request_state}
139 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
140 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'