rope252 | 1537edf | 2019-07-25 16:04:10 +0000 | [diff] [blame] | 1 | *** Settings *** |
| 2 | Library Collections |
| 3 | Library RequestsLibrary |
| 4 | Library OperatingSystem |
| 5 | Library json |
| 6 | |
| 7 | *** Variables *** |
eHanan | 319d0ad | 2019-09-03 13:45:18 +0000 | [diff] [blame^] | 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. |
rope252 | 1537edf | 2019-07-25 16:04:10 +0000 | [diff] [blame] | 10 | |
| 11 | *** Test Cases *** |
rope252 | 1537edf | 2019-07-25 16:04:10 +0000 | [diff] [blame] | 12 | Distribute Service Template |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 13 | Create Session sdc_controller_session http://${REPO_IP}:8085 |
rope252 | 1537edf | 2019-07-25 16:04:10 +0000 | [diff] [blame] | 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 |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 16 | ${resp}= Post Request sdc_controller_session /test/treatNotification/v1 data=${data} headers=${headers} |
rope252 | 1537edf | 2019-07-25 16:04:10 +0000 | [diff] [blame] | 17 | Run Keyword If '${resp.status_code}' == '200' log to console \nexecuted with expected result |
waqas.ikram | cb3218e | 2019-08-22 10:25:24 +0000 | [diff] [blame] | 18 | Should Be Equal As Strings '${resp.status_code}' '200' |
rope252 | 1537edf | 2019-07-25 16:04:10 +0000 | [diff] [blame] | 19 | |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 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} |
eHanan | 319d0ad | 2019-09-03 13:45:18 +0000 | [diff] [blame^] | 27 | ${service_instantiation_json_response}= Evaluate json.loads("""${service_instantiation_request.content}""") 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 "" |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 32 | |
eHanan | 319d0ad | 2019-09-03 13:45:18 +0000 | [diff] [blame^] | 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} |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 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} |
eHanan | 319d0ad | 2019-09-03 13:45:18 +0000 | [diff] [blame^] | 37 | \ ${orchestration_json_response}= Evaluate json.loads("""${orchestration_status_request.content}""") json |
| 38 | \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState] |
waqas.ikram | cb3218e | 2019-08-22 10:25:24 +0000 | [diff] [blame] | 39 | \ Log To Console Received actual repsonse status:${actual_request_state} |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 40 | \ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop |
eHanan | 319d0ad | 2019-09-03 13:45:18 +0000 | [diff] [blame^] | 41 | \ log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds |
| 42 | \ SLEEP ${SLEEP_INTERVAL_SEC}s |
| 43 | |
waqas.ikram | cb3218e | 2019-08-22 10:25:24 +0000 | [diff] [blame] | 44 | Log To Console final repsonse status received: ${actual_request_state} |
eHanan | 75c1171 | 2019-08-13 15:44:16 +0000 | [diff] [blame] | 45 | Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result |
waqas.ikram | cb3218e | 2019-08-22 10:25:24 +0000 | [diff] [blame] | 46 | Should Be Equal As Strings '${actual_request_state}' 'COMPLETE' |
eHanan | 319d0ad | 2019-09-03 13:45:18 +0000 | [diff] [blame^] | 47 | |
| 48 | Invoke 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 |
| 54 | ${vnf_instantiate_request_json}= evaluate json.loads('''${data}''') json |
| 55 | 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 |
| 57 | |
| 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("""${vnf_instantiate_request.content}""") json |
| 62 | ${request_ID}= Set Variable ${vnf_instantiate_json_response}[requestReferences][requestId] |
| 63 | ${actual_request_state}= SET VARIABLE "" |
| 64 | |
| 65 | : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT} |
| 66 | \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID} |
| 67 | \ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result |
| 68 | \ Log To Console ${orchestration_status_request.content} |
| 69 | \ ${orchestration_json_response}= Evaluate json.loads("""${orchestration_status_request.content}""") json |
| 70 | \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState] |
| 71 | \ ${service_instance_Id}= SET VARIABLE ${orchestration_json_response}[request][instanceReferences][serviceInstanceId] |
| 72 | \ 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 | Log To Console final repsonse status received: ${actual_request_state} |
| 77 | Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result |
| 78 | Should Be Equal As Strings '${actual_request_state}' 'COMPLETE' |