summaryrefslogtreecommitdiffstats
path: root/testsuite/robot/resources/aai/csit-service-instance.robot
diff options
context:
space:
mode:
authorKeong Lim <keong.lim@huawei.com>2019-04-11 14:38:02 +1000
committerKeong Lim <keong.lim@huawei.com>2019-04-11 14:44:14 +1000
commit48a68d781f78cb14356b0cd6379b828580a79b99 (patch)
treee96558a40c1cf41e573b2393fd11fb6744e8f3be /testsuite/robot/resources/aai/csit-service-instance.robot
parent3d25e76b64aca32e8165d28d1908e055459e0688 (diff)
AAI-2184 Robot testcases for BBS use case Dublin
Update .gitignore for pydevproject file Update Robot testcases for CCVPN use case Casablanca Add assets and resources for BBS use case Dublin Add regression testsuite for Dublin Add subobject handling Add service-subscription sub-object Add service-instance sub-object Add metadatum sub-object Re-factor top-level classes as subobjects of network and business namespaces Updated filenames with csit prefix Needs the robot/library/ sub-directory of testsuite repo Change-Id: I9956da0b3a6c0bdf782ad486ea4680bc5460c406 Issue-ID: AAI-2184 Signed-off-by: Keong Lim <keong.lim@huawei.com>
Diffstat (limited to 'testsuite/robot/resources/aai/csit-service-instance.robot')
-rw-r--r--testsuite/robot/resources/aai/csit-service-instance.robot102
1 files changed, 102 insertions, 0 deletions
diff --git a/testsuite/robot/resources/aai/csit-service-instance.robot b/testsuite/robot/resources/aai/csit-service-instance.robot
new file mode 100644
index 0000000..0b9d441
--- /dev/null
+++ b/testsuite/robot/resources/aai/csit-service-instance.robot
@@ -0,0 +1,102 @@
+*** Settings ***
+Documentation Operations on service-instances in AAI for BBS use case,
+... using earliest API version where it is implemented
+... and latest API version where it is not implemented.
+... Note that service-instance is always a sub-object!
+
+Resource ../json_templater.robot
+Resource aai_interface.robot
+Resource csit-api-version-properties.robot
+Resource csit-relationship-list.robot
+Resource csit-subobject.robot
+Library OperatingSystem
+Library Collections
+
+
+*** Variables ***
+${AAI_SINST_CONTAINER_PATH}= /service-instances
+${AAI_SINST_SUBOBJECT_PATH}= /service-instance
+${AAI_SINST_UNIQUE_KEY}= service-instance-id
+${AAI_SINST_CSIT_BODY}= robot/assets/templates/aai/csit-service-instance.template
+${AAI_SINST_ROOT_PATH}= ${AAI_BUSINESS_PATH}${AAI_SINST_CONTAINER_PATH}${AAI_SINST_SUBOBJECT_PATH}
+${AAI_SINST_API_NA_INDEX_PATH}= ${AAI_UNSUPPORTED_INDEX_PATH}
+${AAI_SINST_API_IMPL_INDEX_PATH}= ${AAI_DUBLIN_INDEX_PATH}
+# ${AAI_SINST_API_IMPL_INDEX_PATH}= ${AAI_CASABLANCA_INDEX_PATH}
+
+*** Keywords ***
+Create Service Instance If Not Exists
+ [Documentation] Creates Service Instance in AAI if it doesn't exist
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${get_resp}= Get SubObject ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${AAI_SINST_UNIQUE_KEY} ${service_instance_id}
+ Return From Keyword If '${get_resp.status_code}' == '200'
+ Create Service Instance ${api_version_base_object_url} ${service_instance_id}
+
+Create Service Instance
+ [Documentation] Creates Service Instance in AAI
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${arguments}= Create Dictionary service_instance_id=${service_instance_id}
+ ${put_resp}= Create SubObject ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${service_instance_id} ${AAI_SINST_CSIT_BODY} ${arguments}
+
+Delete Service Instance If Exists
+ [Documentation] Removes Service Instance from AAI if it exists
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${get_resp}= Get SubObject ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${AAI_SINST_UNIQUE_KEY} ${service_instance_id}
+ Run Keyword If '${get_resp.status_code}' == '200' Delete Service Instance ${api_version_base_object_url} ${service_instance_id} ${get_resp.json()}
+
+Delete Service Instance
+ [Documentation] Removes Service Instance from AAI
+ [Arguments] ${api_version_base_object_url} ${service_instance_id} ${json}
+ ${del_resp}= Delete SubObject ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${service_instance_id} ${json}
+
+Get Service Instance
+ [Documentation] Return Service Instance
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${get_resp}= Get SubObject ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${AAI_SINST_UNIQUE_KEY} ${service_instance_id}
+ Should Be Equal As Strings ${get_resp.status_code} 200
+ [Return] ${get_resp.json()}
+
+Get Valid Service Instance URL
+ [Documentation] Return Valid Service Instance URL
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${resp}= Get Valid SubObject URL ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${service_instance_id}
+ [Return] ${resp}
+
+Get Nodes Query Service Instance
+ [Documentation] Return Nodes query Service Instance
+ [Arguments] ${service_instance_id}
+ ${get_resp}= Confirm Nodes Query SubObjects ${AAI_SINST_API_IMPL_INDEX_PATH} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_UNIQUE_KEY} ${service_instance_id}
+ [Return] ${get_resp.json()}
+
+Get Example Service Instance
+ [Documentation] Return Example Service Instance
+ ${get_resp}= Confirm Examples Query SubObjects ${AAI_SINST_API_IMPL_INDEX_PATH} ${AAI_SINST_CONTAINER_PATH}
+ [Return] ${get_resp.json()}
+
+Confirm No Service Instance
+ [Documentation] Confirm No Service Instance
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${get_resp}= Get SubObject ${api_version_base_object_url} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${AAI_SINST_UNIQUE_KEY} ${service_instance_id}
+ Should Be Equal As Strings ${get_resp.status_code} 404
+
+Confirm API Not Implemented Service Instance
+ [Documentation] Confirm latest API version where Service Instance is not implemented
+ [Arguments] ${service_instance_id}
+ ${resp}= Confirm API Not Implemented SubObject ${AAI_SINST_API_NA_INDEX_PATH}${AAI_BUSINESS_PATH} ${AAI_SINST_CONTAINER_PATH} ${AAI_SINST_SUBOBJECT_PATH} ${service_instance_id}
+
+Add Service Instance Relationship
+ [Documentation] Adds Relationship to existing Service Instance in AAI
+ [Arguments] ${api_version_base_object_url} ${service_instance_id} ${related_class_name} ${related_object_url}
+ ${put_resp}= Add Relationship ${api_version_base_object_url}${AAI_SINST_ROOT_PATH}/${service_instance_id} ${related_class_name} ${related_object_url}
+
+Get Service Instance RelationshipList
+ [Documentation] Return relationship-list from Service Instance
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${resp}= Get RelationshipList ${api_version_base_object_url}${AAI_SINST_ROOT_PATH}/${service_instance_id}
+ [Return] ${resp}
+
+Get Service Instance With RelationshipList
+ [Documentation] Return Service Instance with relationship-list
+ [Arguments] ${api_version_base_object_url} ${service_instance_id}
+ ${resp}= Get Object With Depth ${api_version_base_object_url}${AAI_SINST_ROOT_PATH}/${service_instance_id}
+ [Return] ${resp}
+