Added GUI testcases to config and delete DNS Server
Change-Id: Ib15d13793dc348648d8fac0cd1cdf15d8c937d54
Signed-off-by: Anves Kumar rayankula <anvesr77@in.ibm.com>
diff --git a/gui/gui_test/server_config/test_obmc_gui_network_settings.robot b/gui/gui_test/server_config/test_obmc_gui_network_settings.robot
index ec226b9..0b11107 100644
--- a/gui/gui_test/server_config/test_obmc_gui_network_settings.robot
+++ b/gui/gui_test/server_config/test_obmc_gui_network_settings.robot
@@ -27,6 +27,11 @@
${xpath_network_interface} //*[@data-test-id="networkSettings-select-interface"]
${xpath_input_netmask_addr0} //*[@data-test-id="networkSettings-input-subnetMask-0"]
${xpath_delete_static_ip} //*[@title="Delete IPv4 row"]
+${xpath_input_dns_server} //*[@data-test-id="networkSettings-input-dnsAddress-0"]
+${xpath_delete_dns_server} //*[@title="Delete DNS row"]
+
+
+@{static_name_servers} 10.10.10.10
*** Test Cases ***
@@ -167,6 +172,26 @@
${xpath_hostname_input} ${empty} Field required
+Config And Verify DNS Server Via GUI
+ [Documentation] Configure DNS server and verify.
+ [Tags] Config_And_Verify_DNS_Server_Via_GUI
+ [Setup] DNS Test Setup Execution
+ [Teardown] Run Keywords Delete DNS Server And Verify ${static_name_servers}
+ ... AND DNS Test Teardown Execution
+
+ Add DNS Server And Verify ${static_name_servers}
+
+
+Delete And Verify DNS Server Via GUI
+ [Documentation] Delete DNS server and verify.
+ [Tags] Delete_And_Verify_DNS_Server_Via_GUI
+ [Setup] Run Keywords DNS Test Setup Execution AND
+ ... Add DNS Server And Verify ${static_name_servers}
+ [Teardown] DNS Test Teardown Execution
+
+ Delete DNS Server And Verify ${static_name_servers}
+
+
*** Keywords ***
Suite Setup Execution
@@ -194,3 +219,88 @@
Click Element ${xpath_network_save_settings}
Page Should Contain ${expected_error}
+
+Add DNS Server And Verify
+ [Documentation] Add DNS server on BMC and verify it via BMC CLI.
+ [Arguments] ${static_name_servers}
+
+ # Description of the argument(s):
+ # static_name_servers A list of static name server IPs to be
+ # configured on the BMC.
+
+ Wait Until Page Contains Element ${xpath_add_dns_server}
+ ${length}= Get Length ${static_name_servers}
+ FOR ${i} IN RANGE ${length}
+ Click Button ${xpath_add_dns_server}
+ Input Text //*[@data-test-id="networkSettings-input-dnsAddress-${i}"]
+ ... ${static_name_servers}[${i}]
+ END
+
+ Click Button ${xpath_network_save_settings}
+ Wait Until Page Contains Element ${xpath_setting_success} timeout=15
+
+ Sleep ${NETWORK_TIMEOUT}s
+ Verify Static Name Server Details On GUI ${static_name_servers}
+ # Check if newly added DNS server is configured on BMC.
+ ${cli_name_servers}= CLI Get Nameservers
+ List Should Contain Sub List ${cli_name_servers} ${static_name_servers}
+
+
+Delete DNS Server And Verify
+ [Documentation] Delete static name servers.
+ [Arguments] ${static_name_servers}
+
+ # Description of the argument(s):
+ # static_name_servers A list of static name server IPs to be
+ # configured on the BMC.
+
+ ${length}= Get Length ${static_name_servers}
+ FOR ${i} IN RANGE ${length}
+ ${status}= Run Keyword And Return Status
+ ... Page Should Contain Element ${xpath_delete_dns_server}
+ Exit For Loop If "${status}" == "False"
+ Wait Until Element Is Enabled ${xpath_delete_dns_server}
+ Click Button ${xpath_delete_dns_server}
+ END
+
+ Click Button ${xpath_network_save_settings}
+ Wait Until Page Contains Element ${xpath_setting_success} timeout=15
+
+ Sleep ${NETWORK_TIMEOUT}s
+ Page Should Not Contain Element ${xpath_input_dns_server}
+ # Check if all name servers deleted on BMC.
+ ${nameservers}= CLI Get Nameservers
+ Should Be Empty ${nameservers}
+
+
+DNS Test Setup Execution
+ [Documentation] Do DNS test setup execution.
+
+ ${original_name_server}= CLI Get Nameservers
+ Set Suite Variable ${original_name_server}
+ Run Keyword If ${original_name_server} != @{EMPTY}
+ ... Delete DNS Server And Verify ${original_name_server}
+
+
+DNS Test Teardown Execution
+ [Documentation] Do DNS test teardown execution.
+
+ Run Keyword If ${original_name_server} != @{EMPTY}
+ ... Add DNS Server And Verify ${original_name_server}
+
+
+Verify Static Name Server Details On GUI
+ [Documentation] Verify static name servers on GUI.
+ [Arguments] ${static_name_servers}
+
+ # Description of the argument(s):
+ # static_name_servers A list of static name server IPs to be
+ # configured on the BMC.
+
+ ${length}= Get Length ${static_name_servers}
+ FOR ${i} IN RANGE ${length}
+ Page Should Contain Element //*[@data-test-id="networkSettings-input-dnsAddress-${i}"]
+ Textfield Value Should Be //*[@data-test-id="networkSettings-input-dnsAddress-${i}"]
+ ... ${static_name_servers}[${i}]
+ END
+