Add service auto tests

(cherry picked from commit 22f5b29b47)
This commit is contained in:
cesar991 2016-08-31 14:39:32 +02:00
parent 498ad5f42c
commit 4e358417e2
2 changed files with 145 additions and 17 deletions

View File

@ -16,7 +16,7 @@ from selenium.webdriver.remote.webelement import WebElement
import unittest, time, re
class Service(PandoraWebDriverTestCase):
class SimpleService(PandoraWebDriverTestCase):
test_name = u'Service tests'
test_description = u''
@ -33,7 +33,7 @@ class Service(PandoraWebDriverTestCase):
@is_enterprise
def test_A_simple_service(self):
def qtest_A_simple_service(self):
u"""
Add 3 modules in Simple service, two critical and one in warning, force service and check that service is warning.
@ -107,7 +107,7 @@ class Service(PandoraWebDriverTestCase):
self.assertIsInstance(element,WebElement)
@is_enterprise
def test_B_simple_service(self):
def qtest_B_simple_service(self):
u"""
Add 3 modules in Simple service, two normal and one in critical, force service and check that service is critical.
@ -137,7 +137,7 @@ class Service(PandoraWebDriverTestCase):
self.assertIsInstance(element,WebElement)
@is_enterprise
def test_C_simple_service(self):
def qtest_C_simple_service(self):
u"""
Add 3 modules in Simple service, two normal and one in critical, force service and check that service is critical.
@ -165,6 +165,113 @@ class Service(PandoraWebDriverTestCase):
element = driver.find_element_by_xpath('//td/img[@data-title="Ok"]')
self.assertIsInstance(element,WebElement)
class ManualService(PandoraWebDriverTestCase):
test_name = u'Auto service tests'
test_description = u'Test for auto service type'
tickets_associated = []
agent_name = gen_random_string(6)
module_ok_1_name = gen_random_string(6)
module_warning_1_name = gen_random_string(6)
module_critical_1_name = gen_random_string(6)
def test_A_manual_service_ok(self):
u"""
Creamos agente y modulos necesarios, creamos un servicio de tipo manual para añadirle el modulo OK y al dar valor menor de 0.5 tener el servicio en Ok
"""
service_name = gen_random_string(6)
driver = self.driver
self.login()
detect_and_pass_all_wizards(driver)
activate_api(driver,"1234")
#Creamos agentes y modulos warning, critical y ok que usaremos en los 3 test de servicios tipo manual
params = [self.agent_name,"127.0.0.1","0","4","0","300","2","pandorafms","2","0","0","pruebas"]
create_agent_api(driver,params,user="admin",pwd="pandora")
params = [self.agent_name,self.module_critical_1_name,"0","6","1","0","0","0","0","0","0","0","0","129.99.40.1","0","0","180","0","0","0","0","Host_Alive"]
add_network_module_to_agent_api(driver,params,user="admin",pwd="pandora",apipwd="1234")
params = [self.agent_name,self.module_warning_1_name,"0","7","1","-10","9999","0","0","0","0","0","0","127.0.0.1","0","0","180","0","0","0","0","Host_Latency"]
add_network_module_to_agent_api(driver,params,user="admin",pwd="pandora",apipwd="1234")
params = [self.agent_name,self.module_ok_1_name,"0","6","1","0","0","0","0","0","0","0","0","127.0.0.1","0","0","180","0","0","0","0","Host_Alive"]
add_network_module_to_agent_api(driver,params,user="admin",pwd="pandora",apipwd="1234")
lista = driver.current_url.split('/')
url = lista[0]+'//'+lista[2]+'/pandora_console'
driver.get(url)
#Creamos el servicio añadiendo modulo en warnining y el servicio será OK
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="manual",critical="1",warning="0.5")
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_ok_1_name,description=self.module_ok_1_name,ok_weight="0.2")
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_warning_1_name,description=self.module_warning_1_name,warning_weight="0.2")
force_service(driver,service_name)
search_service(driver,service_name,go_to_service=False)
element = driver.find_element_by_xpath('//td/img[@data-title="Ok"]')
self.assertIsInstance(element,WebElement)
def test_B_auto_service_critical(self):
u"""
Utilizando el agente y modulos necesarios, creamos un servicio de tipo auto para añadirle el modulo warning y Ok y al dar valor mayor de 1 tendremos el servicio en critical
"""
service_name = gen_random_string(6)
driver = self.driver
#Creamos el servicio añadiendo el modulo ok y warning y el servicio será critical
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="manual",critical="1",warning="0.5")
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_ok_1_name,description=self.module_ok_1_name,ok_weight="0.5")
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_1_name,description=self.module_critical_1_name,critical_weight="0.5")
force_service(driver,service_name)
search_service(driver,service_name,go_to_service=False)
element = driver.find_element_by_xpath('//td/img[@data-title="Critical"]')
self.assertIsInstance(element,WebElement)
def qtest_C_auto_service_warning(self):
u"""
Utilizando el agente y modulos necesarios, creamos un servicio de tipo auto para añadirle el modulo warning y añadimos un critical y warning weight para que de un valor entre 0.5 y 1 y así obtener un servicio tipo auto en warning
"""
service_name = gen_random_string(6)
driver = self.driver
#Creamos el servicio que será de tipo warning
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="manual",critical="1",warning="0.5")
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_warning_1_name,description=self.module_warning_1_name,warning_weight="0.3")
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_1_name,description=self.module_critical_1_name,critical_weight="0.3")
force_service(driver,service_name)
search_service(driver,service_name,go_to_service=False)
element = driver.find_element_by_xpath('//td/img[@data-title="Warning"]')
self.assertIsInstance(element,WebElement)
if __name__ == "__main__":
unittest.main()

View File

@ -11,7 +11,7 @@ import random, re
import string
def create_service(driver,name,group,agent,description=None,mode="Auto",critical=None,warning=None):
def create_service(driver,name,group,agent,description=None,mode="auto",critical=None,warning=None):
# Mode by defect is "Auto". Mode can be "Auto", "Simple" or "Manual".
# If mode = "manual" insert critial and warning values
@ -47,7 +47,7 @@ def create_service(driver,name,group,agent,description=None,mode="Auto",critical
if mode == "simple":
driver.find_element_by_id("radiobtn0003").click()
if mode == "manual":
elif mode == "manual":
driver.find_element_by_id("radiobtn0001").click()
driver.find_element_by_id("text-critical").clear()
@ -55,7 +55,11 @@ def create_service(driver,name,group,agent,description=None,mode="Auto",critical
driver.find_element_by_id("text-warning").clear()
driver.find_element_by_id("text-warning").send_keys(warning)
elif mode == "auto":
driver.find_element_by_id("radiobtn0002").click()
driver.find_element_by_id("submit-crt").click()
@ -135,7 +139,7 @@ def force_service(driver,service_name):
time.sleep(10)
def add_elements_to_service(driver,service_name,type_element,agent_name=None,module=None,service_to_add=None,description=None,is_critical=False):
def add_elements_to_service(driver,service_name,type_element,agent_name=None,module=None,service_to_add=None,description=None,is_critical=False,critical_weight=None,warning_weight=None,unknown_weight=None,ok_weight=None):
search_service(driver,service_name)
driver.find_element_by_xpath('//*[@id="menu_tab"]/ul/li[2]/a/img').click()
@ -155,10 +159,8 @@ def add_elements_to_service(driver,service_name,type_element,agent_name=None,mod
if is_critical == True:
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("submit-crt").click()
if type_element == "Module":
elif type_element == "Module":
Select(driver.find_element_by_id("type_element")).select_by_visible_text("Module")
@ -177,9 +179,7 @@ def add_elements_to_service(driver,service_name,type_element,agent_name=None,mod
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("submit-crt").click()
if type_element == "Service":
elif type_element == "Service":
Select(driver.find_element_by_id("type_element")).select_by_visible_text("Service")
@ -192,6 +192,27 @@ def add_elements_to_service(driver,service_name,type_element,agent_name=None,mod
if is_critical == True:
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("submit-crt").click()
if critical_weight != None:
driver.find_element_by_id("text-weight_critical").clear()
driver.find_element_by_id("text-weight_critical").send_keys(critical_weight)
if warning_weight != None:
driver.find_element_by_id("text-weight_warning").clear()
driver.find_element_by_id("text-weight_warning").send_keys(warning_weight)
if unknown_weight != None:
driver.find_element_by_id("text-weight_unknown").clear()
driver.find_element_by_id("text-weight_unknown").send_keys(unknown_weight)
if ok_weight != None:
driver.find_element_by_id("text-weight_ok").clear()
driver.find_element_by_id("text-weight_ok").send_keys(ok_weight)
driver.find_element_by_id("submit-crt").click()