Added webUI tests for deploy
Change-Id: I16e645f9a8305e1460e3a17d8f67bf9aba2245e7
This commit is contained in:
parent
e96020b5d2
commit
735d94168b
|
@ -59,6 +59,7 @@ class UITestCase(testtools.TestCase):
|
|||
|
||||
def setUp(self):
|
||||
super(UITestCase, self).setUp()
|
||||
|
||||
self.driver = webdriver.Remote(
|
||||
command_executor=cfg.common.selenium_server,
|
||||
desired_capabilities=DesiredCapabilities.FIREFOX)
|
||||
|
@ -118,12 +119,12 @@ class UITestCase(testtools.TestCase):
|
|||
def delete_environment(self, env_name):
|
||||
self.driver.find_element_by_link_text('Environments').click()
|
||||
self.click_on_more(env_name)
|
||||
self.click_on_delete(env_name)
|
||||
self.select_action_for_environment(env_name, 'delete')
|
||||
self.confirm_deletion()
|
||||
|
||||
def edit_environment(self, old_name, new_name):
|
||||
self.click_on_more(old_name)
|
||||
self.click_on_edit(old_name)
|
||||
self.select_action_for_environment(old_name, 'edit')
|
||||
self.fill_field(by.By.ID, 'id_name', new_name)
|
||||
save = self.elements.get('button', 'InputSubmit')
|
||||
self.driver.find_element_by_xpath(save).click()
|
||||
|
@ -133,15 +134,10 @@ class UITestCase(testtools.TestCase):
|
|||
self.driver.find_element_by_xpath(
|
||||
".//*[@id='murano__row__%s']/td[4]/div/a[2]" % element_id).click()
|
||||
|
||||
def click_on_edit(self, env_name):
|
||||
def select_action_for_environment(self, env_name, action):
|
||||
element_id = self.get_element_id(env_name)
|
||||
self.driver.find_element_by_id(
|
||||
"murano__row_%s__action_edit" % element_id).click()
|
||||
|
||||
def click_on_delete(self, env_name):
|
||||
element_id = self.get_element_id(env_name)
|
||||
self.driver.find_element_by_id(
|
||||
"murano__row_%s__action_delete" % element_id).click()
|
||||
"murano__row_%s__action_%s" % (element_id, action)).click()
|
||||
|
||||
def navigate_to(self, link):
|
||||
self.driver.find_element_by_link_text('Murano').click()
|
||||
|
@ -507,7 +503,7 @@ class UITestCase(testtools.TestCase):
|
|||
% (service, action)).click()
|
||||
|
||||
def check_service_parameter(self, service, column, value):
|
||||
self.driver.refresh()
|
||||
|
||||
result = self.driver.find_element_by_xpath(
|
||||
".//*[@id='service_catalog__row__%s']/td[%s]"
|
||||
% (service, column)).text
|
||||
|
@ -527,3 +523,36 @@ class UITestCase(testtools.TestCase):
|
|||
self.driver.find_element_by_id('id_file').send_keys(
|
||||
os.path.join(__location, name))
|
||||
self.select_and_click_element('Upload')
|
||||
|
||||
def check_the_status_of_env(self, env_name, status):
|
||||
env_id = self.get_element_id(env_name)
|
||||
|
||||
env_status = self.driver.find_element_by_xpath(
|
||||
".//*[@id='murano__row__%s']/td[3]" % env_id)
|
||||
k = 0
|
||||
while env_status.text != status:
|
||||
time.sleep(15)
|
||||
k += 1
|
||||
self.driver.refresh()
|
||||
env_status = self.driver.find_element_by_xpath(
|
||||
".//*[@id='murano__row__%s']/td[3]" % env_id)
|
||||
if k > 160:
|
||||
log.error('\nTimeout has expired')
|
||||
break
|
||||
|
||||
def check_that_deploy_finished(self, env_name):
|
||||
self.navigate_to('Environments')
|
||||
self.click_on_more(env_name)
|
||||
self.select_action_for_environment(env_name, 'show_deployments')
|
||||
status = self.driver.find_element_by_xpath(
|
||||
"/html/body/div/div[2]/div[3]/form/table/tbody/tr/td[3]").text
|
||||
|
||||
self.driver.find_element_by_link_text("Show Details").click()
|
||||
self.driver.find_element_by_link_text("Logs").click()
|
||||
self.take_screenshot(self._testMethodName)
|
||||
|
||||
self.navigate_to('Environments')
|
||||
self.click_on_more(env_name)
|
||||
self.select_action_for_environment(env_name, 'show_deployments')
|
||||
|
||||
self.assertEqual('Successful', status, 'Deploy finished with errors')
|
||||
|
|
|
@ -0,0 +1,166 @@
|
|||
import sys
|
||||
import os
|
||||
sys.path.append(os.getcwd())
|
||||
|
||||
import testtools
|
||||
from base import UITestCase
|
||||
import selenium.webdriver.common.by as by
|
||||
|
||||
|
||||
class UIDeployTests(UITestCase):
|
||||
|
||||
def test_035_deploy_demo_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_demo')
|
||||
self.env_to_service('deploy_demo')
|
||||
|
||||
self.create_demo_service('DemoService')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'DemoService'))
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_demo', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_demo')
|
||||
|
||||
def test_036_deploy_telnet_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_telnet')
|
||||
self.env_to_service('deploy_telnet')
|
||||
|
||||
self.create_linux_telnet('linuxtelnet')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'linuxtelnet'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_telnet', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_telnet')
|
||||
|
||||
def test_037_deploy_apache_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_apache')
|
||||
self.env_to_service('deploy_apache')
|
||||
|
||||
self.create_linux_apache('linuxapache')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'linuxapache'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_apache', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_apache')
|
||||
|
||||
def test_038_deploy_ad_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_ad')
|
||||
self.env_to_service('deploy_ad')
|
||||
|
||||
self.create_ad_service('muranotest.domain')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'muranotest.domain'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_ad', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_ad')
|
||||
|
||||
def test_039_deploy_iis_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_iis')
|
||||
self.env_to_service('deploy_iis')
|
||||
|
||||
self.create_iis_service('IISService')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'IISService'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_iis', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_iis')
|
||||
|
||||
def test_040_deploy_asp_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_asp')
|
||||
self.env_to_service('deploy_asp')
|
||||
|
||||
self.create_asp_service('ASPService')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'ASPService'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_asp', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_asp')
|
||||
|
||||
@testtools.skip("There is no Neutron LB on lab")
|
||||
def test_041_deploy_iis_farm_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_iisfarm')
|
||||
self.env_to_service('deploy_iisfarm')
|
||||
|
||||
self.create_iisfarm_service('IISFarmService')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'IISFarmService'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_iisfarm', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_iisfarm')
|
||||
|
||||
@testtools.skip("There is no Neutron LB on lab")
|
||||
def test_042_deploy_asp_farm_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_aspfarm')
|
||||
self.env_to_service('deploy_aspfarm')
|
||||
|
||||
self.create_aspfarm_service('ASPFarmService')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'ASPFarmService'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_aspfarm', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_aspfarm')
|
||||
|
||||
def test_043_deploy_mssql_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_mssql')
|
||||
self.env_to_service('deploy_mssql')
|
||||
|
||||
self.create_mssql_service('MSSQLService')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'MSSQLService'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_mssql', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_mssql')
|
||||
|
||||
def test_044_deploy_sql_cluster_service(self):
|
||||
self.log_in()
|
||||
self.navigate_to('Environments')
|
||||
self.create_environment('deploy_mssql_cluster')
|
||||
self.env_to_service('deploy_mssql_cluster')
|
||||
|
||||
self.create_ad_service('activeDirectory.mssql')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'activeDirectory.mssql'))
|
||||
|
||||
self.driver.find_element_by_link_text('Create Service').click()
|
||||
self.create_sql_cluster_service('SQLCluster', 'activeDirectory.mssql')
|
||||
self.assertTrue(self.check_element_on_page(by.By.LINK_TEXT,
|
||||
'SQLCluster'))
|
||||
|
||||
self.driver.find_element_by_id('services__action_deploy_env').click()
|
||||
self.navigate_to('Environments')
|
||||
self.check_the_status_of_env('deploy_mssql_cluster', 'Ready')
|
||||
self.check_that_deploy_finished('deploy_mssql_cluster')
|
|
@ -532,8 +532,8 @@ class UISanityTests(UITestCase):
|
|||
submit_button = self.elements.get('button', 'InputSubmit')
|
||||
self.driver.find_element_by_xpath(submit_button).click()
|
||||
|
||||
self.assertTrue(self.check_service_parameter(
|
||||
'forModificationService', '2', 'modifiedService'))
|
||||
self.assertTrue(self.check_element_on_page(
|
||||
by.By.XPATH, './/*[@data-display="modifiedService"]'))
|
||||
|
||||
def test_025_modify_description(self):
|
||||
self.log_in()
|
||||
|
@ -657,13 +657,13 @@ class UISanityTests(UITestCase):
|
|||
|
||||
self.select_action_for_service('demoService', 'more')
|
||||
self.select_action_for_service('demoService', 'toggle_enabled')
|
||||
self.driver.refresh()
|
||||
|
||||
self.assertTrue(
|
||||
self.check_service_parameter('demoService', '3', 'False'))
|
||||
|
||||
self.select_action_for_service('demoService', 'more')
|
||||
self.select_action_for_service('demoService', 'toggle_enabled')
|
||||
self.driver.refresh()
|
||||
|
||||
self.assertTrue(
|
||||
self.check_service_parameter('demoService', '3', 'True'))
|
||||
|
||||
|
@ -675,7 +675,10 @@ class UISanityTests(UITestCase):
|
|||
self.select_action_for_service('demoService', 'manage_service')
|
||||
|
||||
self.select_and_click_element('agent##Demo.template')
|
||||
self.driver.refresh()
|
||||
|
||||
self.assertTrue(self.check_element_on_page(
|
||||
by.By.XPATH, ".//*[@id='agent__row__agent##Demo.template']"))
|
||||
|
||||
self.driver.find_element_by_id(
|
||||
'agent__action_delete_file_from_service').click()
|
||||
self.confirm_deletion()
|
||||
|
@ -690,9 +693,10 @@ class UISanityTests(UITestCase):
|
|||
self.assertTrue(self.check_element_on_page(
|
||||
by.By.XPATH, './/*[@data-display="ForDeletion"]'))
|
||||
|
||||
self.select_and_click_element('ForDeletionService')
|
||||
self.driver.refresh()
|
||||
self.select_and_click_element('ForDeletionService')
|
||||
|
||||
self.click_on_service_catalog_action('delete_service')
|
||||
self.confirm_deletion()
|
||||
self.assertFalse(self.check_element_on_page(
|
||||
by.By.XPATH, './/*[@data-display="ForDeletion"]'))
|
||||
by.By.XPATH, './/*[@data-display="ForDeletion"]'))
|
||||
|
|
Loading…
Reference in New Issue