summaryrefslogtreecommitdiffstats
path: root/robot/resources/aai
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/aai')
-rw-r--r--robot/resources/aai/create_tenant.robot24
-rw-r--r--robot/resources/aai/service_instance.robot9
2 files changed, 29 insertions, 4 deletions
diff --git a/robot/resources/aai/create_tenant.robot b/robot/resources/aai/create_tenant.robot
index da21ac92..e5a55966 100644
--- a/robot/resources/aai/create_tenant.robot
+++ b/robot/resources/aai/create_tenant.robot
@@ -28,12 +28,24 @@ Inventory Tenant If Not Exists
Inventory Tenant
[Documentation] Inventorys a Tenant in A&AI
[Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone} ${tenant_id} ${tenant_name}
+ ${json_resource_version}= Get Resource Version If Exists ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone}
${data_template}= OperatingSystem.Get File ${AAI_ADD_TENANT_BODY}
- ${arguments}= Create Dictionary cloud_owner=${cloud_owner} cloud_region_id=${cloud_region_id} cloud_type=${cloud_type} owner_defined_type=${owner_defined_type} cloud_region_version=${cloud_region_version} cloud_zone=${cloud_zone} tenant_id=${tenant_id} tenant_name=${tenant_name}
+ ${arguments}= Create Dictionary cloud_owner=${cloud_owner} cloud_region_id=${cloud_region_id} cloud_type=${cloud_type} owner_defined_type=${owner_defined_type} cloud_region_version=${cloud_region_version} cloud_zone=${cloud_zone} tenant_id=${tenant_id} tenant_name=${tenant_name} resource_version=${json_resource_version}
${data}= Fill JSON Template ${data_template} ${arguments}
${put_resp}= Run A&AI Put Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id} ${data}
- Should Be Equal As Strings ${put_resp.status_code} 201
- [Return] ${put_resp.status_code}
+ ${status_string}= Convert To String ${put_resp.status_code}
+ Should Match Regexp ${status_string} ^(201|200)$
+
+Get Resource Version If Exists
+ [Documentation] Creates a service in A&AI if it doesn't exist
+ [Arguments] ${cloud_owner} ${cloud_region_id} ${cloud_type} ${owner_defined_type} ${cloud_region_version} ${cloud_zone}
+ ${resource_version}= Set Variable
+ ${resp}= Get Cloud Region ${cloud_owner} ${cloud_region_id}
+ Return from Keyword if '${resp.status_code}' != '200' ${resource_version}
+ ${json}= Set Variable ${resp.json()}
+ ${resource_version}= Catenate ${json['resource-version']}
+ [Return] "resource-version":"${resource_version}",
+
Delete Tenant
[Documentation] Removes both Tenant
@@ -66,6 +78,12 @@ Get Tenants
Run Keyword If '${status}' == 'PASS' Update Tenant Dictionary ${dict} ${resp.json()}
[Return] ${dict}
+Get Cloud Region
+ [Documentation] Returns the Cloud Region if it exists
+ [Arguments] ${cloud_owner} ${cloud_region_id}
+ ${resp}= Run A&AI Get Request ${INDEX PATH}${ROOT_TENANT_PATH}${cloud_owner}/${cloud_region_id}
+ [Return] ${resp}
+
Update Tenant Dictionary
[Arguments] ${dict} ${json}
${list}= Evaluate ${json}['tenant']
diff --git a/robot/resources/aai/service_instance.robot b/robot/resources/aai/service_instance.robot
index c9fdadd6..5fffa02f 100644
--- a/robot/resources/aai/service_instance.robot
+++ b/robot/resources/aai/service_instance.robot
@@ -14,6 +14,7 @@ Resource ../json_templater.robot
Resource ../stack_validation/validate_vlb.robot
Resource ../stack_validation/validate_vfw.robot
Resource ../stack_validation/validate_vvg.robot
+Resource ../aai/aai_interface.robot
*** Variables ***
${INDEX PATH} /aai/v8
@@ -26,6 +27,7 @@ ${SERVCE INSTANCE TEMPLATE} robot/assets/templates/aai/service_subscription.t
${GENERIC_VNF_PATH_TEMPLATE} /network/generic-vnfs/generic-vnf/\${vnf_id}/vf-modules/vf-module/\${vf_module_id}
${VLB_CLOSED_LOOP_HACK_BODY} robot/assets/templates/aai/vlb_closed_loop_hack.template
+${VLB_CLOSED_LOOP_DELETE}
*** Keywords ***
Validate Service Instance
@@ -60,7 +62,12 @@ VLB Closed Loop Hack
${data}= Fill JSON Template File ${VLB_CLOSED_LOOP_HACK_BODY} ${dict}
${put_resp}= Run A&AI Put Request ${INDEX PATH}${datapath} ${data}
${status_string}= Convert To String ${put_resp.status_code}
- Should Match Regexp ${status_string} ^(201|412)$
+ Should Match Regexp ${status_string} ^(201|412)$
+ Set Test Variable ${VLB_CLOSED_LOOP_DELETE} ${datapath}
+
+Teardown VLB Closed Loop Hack
+ Return From Keyword If ' ${VLB_CLOSED_LOOP_DELETE}' == ''
+ Delete A&AI Entity ${VLB_CLOSED_LOOP_DELETE}
Validate VF Module