aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoreHanan <eoin.hanan@est.tech>2019-09-03 13:45:18 +0000
committerEoin Hanan <eoin.hanan@est.tech>2019-09-03 13:48:31 +0000
commit319d0ad25fc3c0f088b8cc6cebd1e03463bbb9d3 (patch)
treed7167c25c7e7f7822177a9ef484e004e27983e4a /tests
parent6a8875e2bae1bf39f265179d1649fb8c9ed7e9a6 (diff)
Create VNF Instantiation Testing
Change-Id: I230e569c0b25d31aaf63d5476c7585673c9eb58b Issue-ID: SO-2238 Signed-off-by: eHanan <eoin.hanan@est.tech>
Diffstat (limited to 'tests')
-rw-r--r--tests/so/etsi/data/vnfInstantiationRequest.json49
-rw-r--r--tests/so/etsi/etsi_tests.robot56
2 files changed, 95 insertions, 10 deletions
diff --git a/tests/so/etsi/data/vnfInstantiationRequest.json b/tests/so/etsi/data/vnfInstantiationRequest.json
new file mode 100644
index 00000000..a4cc5c90
--- /dev/null
+++ b/tests/so/etsi/data/vnfInstantiationRequest.json
@@ -0,0 +1,49 @@
+{
+ "requestDetails": {
+ "requestInfo": {
+ "instanceName": "CsitEtsiVnfInstance",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "demo",
+ "productFamilyId": "f13844f4-dbf8-4d0e-a979-45204f3ddb4e"
+ },
+ "modelInfo": {
+ "modelType": "vnf",
+ "modelInvariantId": "0a0b9979-863d-4b7e-b7f4-d27725a182b3",
+ "modelVersionId": "8f43a8c9-c677-462a-ae36-8ddb5990a60d",
+ "modelName": "manualDistributionTestVNF",
+ "modelVersion": "1.0",
+ "modelCustomizationId": "82ad3aa0-edc6-410c-a217-655fb064323f",
+ "modelCustomizationName": "manualDistributionTestVNF 0"
+ },
+ "requestParameters": {
+ "userParams": [],
+ "testApi": "GR_API"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "EtsiCloudRegion",
+ "cloudOwner": "CloudOwner",
+ "tenantId": "693c7729b2364a26a3ca602e6f66187d"
+ },
+ "lineOfBusiness": {
+ "lineOfBusinessName": "EtsiCsitLineOfBusiness"
+ },
+ "platform": {
+ "platformName": "EtsiCsitPlatform"
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "",
+ "modelInfo": {
+ "modelType": "service",
+ "modelName": "Sol004Zip4Service",
+ "modelInvariantId": "0ddc448d-5513-44bc-8b02-5759d84600d5",
+ "modelVersion": "1.0",
+ "modelVersionId": "99d59273-4450-4034-9141-027f0c1a807a"
+ }
+ }
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/tests/so/etsi/etsi_tests.robot b/tests/so/etsi/etsi_tests.robot
index b2bf3ede..4459c07a 100644
--- a/tests/so/etsi/etsi_tests.robot
+++ b/tests/so/etsi/etsi_tests.robot
@@ -5,7 +5,8 @@ Library OperatingSystem
Library json
*** Variables ***
-
+${SLEEP_INTERVAL_SEC}= 5
+${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.
*** Test Cases ***
Distribute Service Template
@@ -23,20 +24,55 @@ Invoke Service Instantiation
${service_instantiation_request}= Post Request api_handler_session /onap/so/infra/serviceInstantiation/v7/serviceInstances data=${data} headers=${headers}
Run Keyword If '${service_instantiation_request.status_code}' == '200' log to console \nexecuted with expected result
log to console ${service_instantiation_request.content}
- ${service_instantiation_json_responce}= Evaluate json.loads("""${service_instantiation_request.content}""") json
-
- ${actual_request_state}= SET VARIABLE ""
+ ${service_instantiation_json_response}= Evaluate json.loads("""${service_instantiation_request.content}""") json
+ ${request_ID}= Set Variable ${service_instantiation_json_response}[requestReferences][requestId]
+ ${service_instance_Id}= Set Variable ${service_instantiation_json_response}[requestReferences][instanceId]
+ SET GLOBAL VARIABLE ${service_instance_Id}
+ ${actual_request_state}= Set Variable ""
- : FOR ${INDEX} IN RANGE 48
- \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${service_instantiation_json_responce}[requestReferences][requestId]
+ : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
+ \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
\ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
\ log to console ${orchestration_status_request.content}
- \ ${orchestration_json_responce}= Evaluate json.loads("""${orchestration_status_request.content}""") json
- \ ${actual_request_state}= SET VARIABLE ${orchestration_json_responce}[request][requestStatus][requestState]
+ \ ${orchestration_json_response}= Evaluate json.loads("""${orchestration_status_request.content}""") json
+ \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
\ Log To Console Received actual repsonse status:${actual_request_state}
\ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
- \ log to console Will try again after 5 seconds
- \ SLEEP 5s
+ \ log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds
+ \ SLEEP ${SLEEP_INTERVAL_SEC}s
+
Log To Console final repsonse status received: ${actual_request_state}
Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
Should Be Equal As Strings '${actual_request_state}' 'COMPLETE'
+
+Invoke VNF Instantiation
+ Run Keyword If "${service_instance_Id}"!="${EMPTY}" Log to Console Service Instance ID :${service_instance_Id} received
+ ... ELSE Fail Log to Console Invalid Service Instance ID :${service_instance_Id} recieved
+
+ Create Session api_handler_session http://${REPO_IP}:8080
+ ${data}= Get Binary File ${CURDIR}${/}data${/}vnfInstantiationRequest.json
+ ${vnf_instantiate_request_json}= evaluate json.loads('''${data}''') json
+ set to dictionary ${vnf_instantiate_request_json}[requestDetails][relatedInstanceList][0][relatedInstance] instanceId=${service_instance_Id}
+ ${vnf_instantiate_request_string}= evaluate json.dumps(${vnf_instantiate_request_json}) json
+
+ &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
+ ${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}
+ Run Keyword If '${vnf_instantiate_request.status_code}' == '200' log to console \nexecuted with expected result
+ ${vnf_instantiate_json_response}= Evaluate json.loads("""${vnf_instantiate_request.content}""") json
+ ${request_ID}= Set Variable ${vnf_instantiate_json_response}[requestReferences][requestId]
+ ${actual_request_state}= SET VARIABLE ""
+
+ : FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}
+ \ ${orchestration_status_request}= Get Request api_handler_session /onap/so/infra/orchestrationRequests/v7/${request_ID}
+ \ Run Keyword If '${orchestration_status_request.status_code}' == '200' log to console \nexecuted with expected result
+ \ Log To Console ${orchestration_status_request.content}
+ \ ${orchestration_json_response}= Evaluate json.loads("""${orchestration_status_request.content}""") json
+ \ ${actual_request_state}= SET VARIABLE ${orchestration_json_response}[request][requestStatus][requestState]
+ \ ${service_instance_Id}= SET VARIABLE ${orchestration_json_response}[request][instanceReferences][serviceInstanceId]
+ \ RUN KEYWORD IF '${actual_request_state}' == 'COMPLETE' or '${actual_request_state}' == 'FAILED' Exit For Loop
+ \ Log To Console Will try again after ${SLEEP_INTERVAL_SEC} seconds
+ \ SLEEP ${SLEEP_INTERVAL_SEC}s
+
+ Log To Console final repsonse status received: ${actual_request_state}
+ Run Keyword If '${actual_request_state}' == 'COMPLETE' log to console \nexecuted with expected result
+ Should Be Equal As Strings '${actual_request_state}' 'COMPLETE' \ No newline at end of file