summaryrefslogtreecommitdiffstats
path: root/robot/resources/vid/teardown_vid.robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/vid/teardown_vid.robot')
-rw-r--r--robot/resources/vid/teardown_vid.robot63
1 files changed, 63 insertions, 0 deletions
diff --git a/robot/resources/vid/teardown_vid.robot b/robot/resources/vid/teardown_vid.robot
new file mode 100644
index 00000000..50b50518
--- /dev/null
+++ b/robot/resources/vid/teardown_vid.robot
@@ -0,0 +1,63 @@
+*** Settings ***
+Documentation The main interface for interacting with VID. It handles low level stuff like managing the selenium request library and VID required steps
+Library ExtendedSelenium2Library
+Library Collections
+Library String
+Library StringTemplater
+Library UUID
+Resource vid_interface.robot
+Resource create_vid_vnf.robot
+Resource create_service_instance.robot
+
+*** Variables ***
+${VID_ENV} /vid
+${VID_SERVICE_MODELS_SEARCH_URL} ${GLOBAL_VID_SERVER}${VID_ENV}/serviceModels.htm#/instances/subdetails?selectedSubscriber=\${customer_id}
+
+*** Keywords ***
+
+Teardown VID
+ [Documentation] Teardown the VID This assumes that the any runnign stacks have been torn down
+ [Arguments] ${service_instance_id} ${lcp_region} ${tenant}
+ # Keep going to the VID service instance until all of the remove icons are goe
+ Wait Until Keyword Succeeds 300s 1s Delete VID ${service_instance_id} ${lcp_region} ${tenant}
+
+
+Delete VID
+ [Documentation] Teardown the next VID entity that has a Remove icon.
+ [Arguments] ${service_instance_id} ${lcp_region} ${tenant}
+ Go To ${VID_SERVICE_MODELS_SEARCH_URL}
+ Wait Until Page Contains Please search by timeout=60s
+ Wait Until Page Contains Element xpath=//div[@class='statusLine aaiHidden'] timeout=60s
+ Wait Until Element Is Not Visible xpath=//div[@class='statusLine aaiHidden'] timeout=60s
+
+ # If we don't wait for this control to be enabled, the submit results in a 'not found' pop-up (UnexpectedAlertPresentException)
+ Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id}
+ Click Button button=Submit
+ Wait Until Page Contains Element link=View/Edit timeout=60s
+ Click Element link=View/Edit
+ Wait Until Page Contains View/Edit Service Instance timeout=60s
+ ${status} ${data}= Run Keyword And Ignore Error Wait Until Element Is Visible xpath=//li/div/a/span[@class='glyphicon glyphicon-remove'] timeout=120s
+ Return From Keyword If '${status}' == 'FAIL'
+
+ # At least one more Remove!
+
+ # This list is a bit ogf a hack to determine the order of removal if there is more than one remove icon.
+ # Cannot tell how this will hold up once all of the VID removes are working for all conditions.
+ ${remove_order}= Create List Vfmodule_Ete
+ :for ${remove_first} in @{remove_order}
+ \ ${status} ${data}= Run Keyword And Ignore Error Page Should Contain Element xpath=//li/div[contains(.,'${remove_first}')]/a/span[@class='glyphicon glyphicon-remove']
+ \ Run Keyword If '${status}' == 'PASS' Click On Element When Visible xpath=//li/div[contains(.,'${remove_first}')]/a/span[@class='glyphicon glyphicon-remove'] timeout=120s
+ \ Run Keyword If '${status}' == 'FAIL' Click On Element When Visible xpath=//li/div/a/span[@class='glyphicon glyphicon-remove'] timeout=120s
+
+ Wait Until Page Contains Element xpath=//select[@parameter-id='lcpRegion']
+ Select From List By Label xpath=//select[@parameter-id='lcpRegion'] ${lcp_region}
+ Select From List By Label xpath=//select[@parameter-id='tenant'] ${tenant}
+ Click Element xpath=//div[@class='buttonRow']/button[@ngx-enabled='true']
+ #//*[@id="mContent"]/div/div/div/div/table/tbody/tr/td/div/div[2]/div/div[1]/div[5]/button[1]
+ Wait Until Page Contains Status:COMPLETE - 300s
+ ${response text}= Get Text xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding']
+ ${request_id}= Parse Request Id ${response text}
+ Click Element button=Close
+ Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE
+ Fail Successful VID Delete - continue with next delete
+