diff --git a/tests/console/Services.py b/tests/console/Services.py index 239a6686c6..7c58984b85 100644 --- a/tests/console/Services.py +++ b/tests/console/Services.py @@ -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() diff --git a/tests/console/include/service_functions.py b/tests/console/include/service_functions.py index 4bc1e6fead..88a3f9e880 100644 --- a/tests/console/include/service_functions.py +++ b/tests/console/include/service_functions.py @@ -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() +