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 Invoke Service Instantiation
13 Create Session api_handler_session http://${REPO_IP}:8080
14 ${data}= Get Binary File ${CURDIR}${/}data${/}serviceInstantiationRequest.json
15 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
16 ${service_instantiation_request}= Post On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances data=${data} headers=${headers}
17 Run Keyword If '${service_instantiation_request.status_code}' == '200' log to console \nexecuted with expected result
18 log to console ${service_instantiation_request.content}
19 ${service_instantiation_json_response}= Evaluate json.loads(r"""${service_instantiation_request.content}""", strict=False) json
20 ${request_ID}= Set Variable ${service_instantiation_json_response}[requestReferences][requestId]
21 ${service_instance_Id}= Set Variable ${service_instantiation_json_response}[requestReferences][instanceId]
22 SET GLOBAL VARIABLE ${service_instance_Id}
23 ${actual_request_state}= Set Variable ""
25 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
26 ${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
27 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
28 log to console ${orchestration_status_request.content}
29 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
30 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
31 Log To Console Received actual repsonse status:${actual_request_state}
32 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
33 log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
34 SLEEP ${SLEEP_INTERVAL_SEC}s
37 Log To Console final repsonse status received: ${actual_request_state}
38 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
39 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
41 Invoke VNF Instantiation
42 Run Keyword If "${service_instance_Id}"!="${EMPTY}" Log to Console Service Instance ID :${service_instance_Id} received
43 ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
45 Create Session api_handler_session http://${REPO_IP}:8080
46 ${data}= Get Binary File ${CURDIR}${/}data${/}vnfInstantiationRequest.json
47 ${vnf_instantiate_request_json}= evaluate json.loads(r'''${data}''', strict=False) json
48 set to dictionary ${vnf_instantiate_request_json}[requestDetails][relatedInstanceList][0][relatedInstance] instanceId=${service_instance_Id}
49 ${vnf_instantiate_request_string}= evaluate json.dumps(${vnf_instantiate_request_json}) json
50 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
51 ${vnf_instantiate_request}= Post On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/vnfs data=${vnf_instantiate_request_string} headers=${headers}
52 Run Keyword If '${vnf_instantiate_request.status_code}' == '200' log to console \nexecuted with expected result
53 ${vnf_instantiate_json_response}= Evaluate json.loads(r"""${vnf_instantiate_request.content}""") json
54 ${request_ID}= Set Variable ${vnf_instantiate_json_response}[requestReferences][requestId]
55 ${actual_request_state}= SET VARIABLE ""
56 ${vnf_instance_Id}= Set Variable ${vnf_instantiate_json_response}[requestReferences][instanceId]
57 SET GLOBAL VARIABLE ${vnf_instance_Id}
59 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
60 ${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
61 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
62 Log To Console ${orchestration_status_request.content}
63 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""", strict=False) json
64 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
65 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
66 Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
67 SLEEP ${SLEEP_INTERVAL_SEC}s
70 ${service_instance_Id}= SET VARIABLE ${orchestration_json_response}[request][instanceReferences][serviceInstanceId]
71 Log To Console final repsonse status received: ${actual_request_state}
72 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
73 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
76 Run Keyword If "${vnf_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${vnf_instance_Id} received
77 ... ELSE Fail Log to Console Invalid VNF Instance ID :${vnf_instance_Id} recieved
78 Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${service_instance_Id} received
79 ... ELSE Fail Log to Console Invalid VNF Instance ID :${service_instance_Id} recieved
81 Create Session api_handler_session http://${REPO_IP}:8080
82 ${data}= Get Binary File ${CURDIR}${/}data${/}vnfDeleteRequest.json
83 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
84 ${vnf_delete_request}= Delete On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id}/vnfs/${vnf_instance_Id} data=${data} headers=${headers}
85 ${vnf_delete_json_response}= Evaluate json.loads(r"""${vnf_delete_request.content}""") json
86 Log to Console ${vnf_delete_json_response}
87 ${request_ID}= Set Variable ${vnf_delete_json_response}[requestReferences][requestId]
88 ${actual_request_state}= Set Variable ""
90 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
91 ${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
92 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
93 Log To Console ${orchestration_status_request.content}
94 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
95 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
96 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
97 Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
98 SLEEP ${SLEEP_INTERVAL_SEC}s
101 Log To Console final repsonse status received: ${actual_request_state}
102 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
103 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
106 Delete Service Instance
107 Run Keyword If "${service_instance_Id}" != "${EMPTY}" Log to Console VNF Instance ID :${service_instance_Id} received
108 ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
110 Create Session api_handler_session http://${REPO_IP}:8080
111 ${data}= Get Binary File ${CURDIR}${/}data${/}serviceDeleteRequest.json
112 &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
113 ${service_delete_request}= Delete On Session api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances/${service_instance_Id} data=${data} headers=${headers}
114 ${service_delete_json_response}= Evaluate json.loads(r"""${service_delete_request.content}""") json
115 Log to Console ${service_delete_json_response}
116 ${request_ID}= Set Variable ${service_delete_json_response}[requestReferences][requestId]
117 ${actual_request_state}= Set Variable ""
119 FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
120 ${orchestration_status_request}= Get On Session api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
121 Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
122 Log To Console ${orchestration_status_request.content}
123 ${orchestration_json_response}= Evaluate json.loads(r"""${orchestration_status_request.content}""") json
124 ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
125 RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
126 Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
127 SLEEP ${SLEEP_INTERVAL_SEC}s
130 Log To Console final repsonse status received: ${actual_request_state}
131 Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
132 Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'