aboutsummaryrefslogtreecommitdiffstats
path: root/robot
diff options
context:
space:
mode:
authorJerry Flood <jf9860@att.com>2017-10-10 08:09:07 -0400
committerJerry Flood <jf9860@att.com>2017-10-10 10:12:59 -0400
commitc00a7c3fcebe8c3608e1f3de8828edd8f9b07bad (patch)
tree168356dcc206a65724d1aef9de023d236eb44f62 /robot
parent6bd1afa0fbc98c75cd4e0935fc04048a97f94118 (diff)
Add API calls for creating network zone -defaults
Issue: INT-256 Change-Id: Iaa83434ba4ba32eab81712e51e5e64a4c52ca0a3 Signed-off-by: Jerry Flood <jf9860@att.com>
Diffstat (limited to 'robot')
-rw-r--r--robot/assets/templates/aai/add_zone_body.template7
-rw-r--r--robot/resources/aai/create_zone.robot59
-rw-r--r--robot/resources/global_properties.robot6
-rw-r--r--robot/resources/test_templates/vnf_orchestration_test_template.robot2
4 files changed, 73 insertions, 1 deletions
diff --git a/robot/assets/templates/aai/add_zone_body.template b/robot/assets/templates/aai/add_zone_body.template
new file mode 100644
index 00000000..01f99c0a
--- /dev/null
+++ b/robot/assets/templates/aai/add_zone_body.template
@@ -0,0 +1,7 @@
+{
+"zone-id":"${zone_id}",
+"zone-name":"${zone_name}",
+"design-type":"${design_type}",
+"zone-context":"${zone_context}",
+"status":"deployed"
+} \ No newline at end of file
diff --git a/robot/resources/aai/create_zone.robot b/robot/resources/aai/create_zone.robot
new file mode 100644
index 00000000..995db3ee
--- /dev/null
+++ b/robot/resources/aai/create_zone.robot
@@ -0,0 +1,59 @@
+*** Settings ***
+Documentation Create A&AI Customer API.
+...
+... Create A&AI Customer API
+
+Resource ../json_templater.robot
+Resource aai_interface.robot
+Library OperatingSystem
+Library Collections
+
+
+
+*** Variables ***
+${ZONE_INDEX_PATH} /aai/v11
+${ROOT_ZONE_PATH} /network/zones/zone
+
+${SYSTEM USER} robot-ete
+${AAI_ADD_ZONE_BODY}= robot/assets/templates/aai/add_zone_body.template
+
+*** Keywords ***
+Inventory Zone If Not Exists
+ [Documentation] Creates a service in A&AI if it doesn't exist
+ [Arguments] ${zone_id}=${GLOBAL_AAI_ZONE_ID} ${zone_name}=${GLOBAL_AAI_ZONE_NAME} ${design_type}=${GLOBAL_AAI_DESIGN_TYPE} ${zone_context}=${GLOBAL_AAI_ZONE_CONTEXT}
+ ${get_resp}= Run A&AI Get Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id}
+ Return From Keyword If '${get_resp.status_code}' == '200'
+ Inventory Zone ${zone_id} ${zone_name} ${design_type} ${zone_context}
+
+Inventory Zone
+ [Documentation] Inventorys a Tenant in A&AI
+ [Arguments] ${zone_id} ${zone_name} ${design_type} ${zone_context}
+ ${arguments}= Create Dictionary zone_id=${zone_id} zone_name=${zone_name} design_type=${design_type} zone_context=${zone_context}
+ ${data}= Fill JSON Template File ${AAI_ADD_ZONE_BODY} ${arguments}
+ ${put_resp}= Run A&AI Put Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id} ${data}
+ ${status_string}= Convert To String ${put_resp.status_code}
+ Should Match Regexp ${status_string} ^(201|200)$
+
+Delete Zone
+ [Documentation] Removes both Tenant
+ [Arguments] ${zone_id}=${GLOBAL_AAI_ZONE_ID}
+ ${get_resp}= Run A&AI Get Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id}
+ Run Keyword If '${get_resp.status_code}' == '200' Delete Zone Exists ${zone_id} ${get_resp.json()}
+
+Delete Zone Exists
+ [Arguments] ${zone_id} ${json}
+ ${resource_version}= Catenate ${json['resource-version']}
+ ${put_resp}= Run A&AI Delete Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id} ${resource_version}
+ Should Be Equal As Strings ${put_resp.status_code} 204
+
+Get Zone
+ [Documentation] Return zone
+ [Arguments] ${zone_id}
+ ${resp}= Run A&AI Get Request ${ZONE_INDEX_PATH}${ROOT_ZONE_PATH}/${zone_id}
+ Should Be Equal As Strings ${resp.status_code} 200
+ [Return] ${resp.json()}
+
+
+
+
+
diff --git a/robot/resources/global_properties.robot b/robot/resources/global_properties.robot
index 871f9929..ebce72bd 100644
--- a/robot/resources/global_properties.robot
+++ b/robot/resources/global_properties.robot
@@ -24,4 +24,8 @@ ${GLOBAL_BUILD_NUMBER} 0
${GLOBAL_VID_UI_TIMEOUT_SHORT} 20s
${GLOBAL_VID_UI_TIMEOUT_MEDIUM} 60s
${GLOBAL_VID_UI_TIMEOUT_LONG} 120s
-${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt \ No newline at end of file
+${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt
+${GLOBAL_AAI_ZONE_ID} zone1
+${GLOBAL_AAI_ZONE_NAME} zone1-name
+${GLOBAL_AAI_DESIGN_TYPE} zone1-design-type
+${GLOBAL_AAI_ZONE_CONTEXT} zone1-context
diff --git a/robot/resources/test_templates/vnf_orchestration_test_template.robot b/robot/resources/test_templates/vnf_orchestration_test_template.robot
index ed847c21..d6bb1e9e 100644
--- a/robot/resources/test_templates/vnf_orchestration_test_template.robot
+++ b/robot/resources/test_templates/vnf_orchestration_test_template.robot
@@ -9,6 +9,7 @@ Resource ../vid/teardown_vid.robot
Resource ../sdngc_interface.robot
Resource model_test_template.robot
+Resource ../aai/create_zone.robot
Resource ../aai/create_customer.robot
Resource ../aai/create_tenant.robot
Resource ../aai/create_service.robot
@@ -89,6 +90,7 @@ Setup Orchestrate VNF
Initialize Regions From Openstack
:FOR ${region} IN @{REGIONS}
\ Inventory Tenant If Not Exists ${cloud_owner} ${region} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${TENANT_ID} ${TENANT_NAME}
+ Inventory Zone If Not Exists
Log Orchestrate VNF setup complete
Initialize Tenant From Openstack