TEST-3 Add retry loop to VID deploy step
Replace delay with a retry loop with timeout to allow
for distributed model to be available to VID.
Change-Id: Ief536ff07a3335ced09de068b1e38c3e28bb4ea9
Signed-off-by: jf9860 <jf9860@att.com>
diff --git a/robot/resources/vid/create_service_instance.robot b/robot/resources/vid/create_service_instance.robot
index 2ea01ce..204b7d6 100644
--- a/robot/resources/vid/create_service_instance.robot
+++ b/robot/resources/vid/create_service_instance.robot
@@ -11,47 +11,50 @@
Resource ../mso_interface.robot
Resource vid_interface.robot
-*** Keywords ***
+*** Keywords ***
Create VID Service Instance
- [Documentation] Creates a service instance using VID
- [Arguments] ${customer_name} ${service_model_type} ${service_type} ${service_name}
+ [Documentation] Creates a service instance using VID
+ [Arguments] ${customer_name} ${service_model_type} ${service_type} ${service_name}
Go To VID HOME
- Click Element partial link=Browse SDC Service
- Page Should Contain Element xpath=//div/h1[text() = 'Browse SDC Service Models']
- Wait Until Page Contains Element xpath=//button[text() = 'Deploy'] 240s
- Input Text When Enabled //input[@ng-model='searchString'] ${service_model_type}
- Wait Until Element Is Visible xpath=//tr[td/span/text() = '${service_model_type}']/td/button[contains(text(),'Deploy')] 300000
+ Wait Until Keyword Succeeds 300s 1s Wait For Model ${service_model_type}
Press Key xpath=//tr[td/span/text() = '${service_model_type}']/td/button[text() = 'Deploy' and not(@disabled)] \\13
- ${uuid}= Generate UUID
+ ${uuid}= Generate UUID
Wait Until Page Contains Element xpath=//input[@parameter-name='Instance Name'] 120s
Wait Until Element Is Visible xpath=//input[@parameter-name='Instance Name'] 120s
Xpath Should Match X Times //input[@parameter-name='Instance Name'] 1
Input Text When Enabled //input[@parameter-name='Instance Name'] ${service_name}
- Select From List When Enabled //select[@prompt='Select Subscriber Name'] ${customer_name}
+ Select From List When Enabled //select[@prompt='Select Subscriber Name'] ${customer_name}
Select From List WHen Enabled //select[@prompt='Select Service Type'] ${service_type}
Click On Button When Enabled //div[@class = 'buttonRow']/button[text() = 'Confirm']
Wait Until Element Contains xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] requestId timeout=120s
- ${response text}= Get Text xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding']
+ ${response text}= Get Text xpath=//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding']
Click On Button When Enabled //div[@class = 'buttonRow']/button[text() = 'Close']
- ${request_id}= Parse Request Id ${response text}
+ ${request_id}= Parse Request Id ${response text}
${service_instance_id}= Parse Instance Id ${response text}
Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE
[return] ${service_instance_id}
-
-Delete Service Instance By GUI
- [Arguments] ${service_instance_id} ${customer_name}
- Click On Element When Visible xpath=//a/span[@class='glyphicon glyphicon-remove']
- Click On Button When Visible xpath=//div[@class='buttonRow']/button[@ngx-enabled='true']
+Wait For Model
+ [Documentation] Distributed model may not yet be available. Kepp trying until it shows up.
+ [Arguments] ${service_model_type}
+ Click Element partial link=Browse SDC Service
+ Page Should Contain Element xpath=//div/h1[text() = 'Browse SDC Service Models']
+ Wait Until Page Contains Element xpath=//button[text() = 'Deploy'] 240s
+ Input Text When Enabled //input[@ng-model='searchString'] ${service_model_type}
+ Wait Until Element Is Visible xpath=//tr[td/span/text() = '${service_model_type}']/td/button[contains(text(),'Deploy')] 10s
+
+Delete Service Instance By GUI
+ [Arguments] ${service_instance_id} ${customer_name}
+ Click On Element When Visible xpath=//a/span[@class='glyphicon glyphicon-remove']
+ Click On Button When Visible xpath=//div[@class='buttonRow']/button[@ngx-enabled='true']
Wait Until Element Contains xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] requestId timeout=120s
${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}
Poll MSO Get Request ${GLOBAL_MSO_STATUS_PATH}${request_id} COMPLETE
-
-
-Search Service Instance
- [Arguments] ${service_instance_id} ${customer_name}
- Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a
- Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id}
- Click On Button When Enabled //button[text() = 'Submit']
-
\ No newline at end of file
+
+
+Search Service Instance
+ [Arguments] ${service_instance_id} ${customer_name}
+ Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a
+ Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id}
+ Click On Button When Enabled //button[text() = 'Submit']