Created Services test to its new version (with API calls)

This commit is contained in:
cesar991 2016-08-30 16:30:42 +02:00
parent 77ed3ae3fc
commit ec1bd8af2f
3 changed files with 148 additions and 100 deletions

View File

@ -1,9 +1,11 @@
# -*- coding: utf-8 -*-
from include.common_classes_60 import PandoraWebDriverTestCase
from include.common_classes_60 import PandoraWebDriverTestCase
from include.common_functions_60 import login, click_menu_element, detect_and_pass_all_wizards, is_enterprise, gen_random_string
from include.agent_functions import *
from include.module_functions import *
from include.service_functions import *
from include.api_functions import *
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
@ -42,26 +44,53 @@ class Service(PandoraWebDriverTestCase):
driver = self.driver
self.login()
detect_and_pass_all_wizards(driver)
create_agent(driver,self.agent_name,ip="127.0.0.1",group="Applications")
activate_api(driver,"1234")
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")
# creamos 3 modulos uno que este router ping (127.0.0.3) y otro ping printer (127.0.0.1) y Apache server -> Host latency min_warning 0.01
create_network_server_module(driver,self.agent_name,module_name = self.module_critical_1_name,component_group="Network Management",network_component="Host Alive",ip="129.99.40.1")
time.sleep(3)
create_network_server_module(driver,self.agent_name,module_name = self.module_critical_2_name,component_group="Network Management",network_component="Host Alive",ip="129.99.40.1")
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")
time.sleep(3)
params = [self.agent_name,self.module_critical_2_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")
time.sleep(3)
params = [self.agent_name,self.module_critical_3_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")
create_network_server_module(driver,self.agent_name,module_name = self.module_critical_3_name,component_group="Network Management",network_component="Host Alive",ip="129.99.40.1")
time.sleep(3)
params = [self.agent_name,self.module_normal_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")
create_network_server_module(driver,self.agent_name,module_name = self.module_normal_1_name,component_group="Network Management",network_component="Host Alive",ip="127.0.0.1")
create_network_server_module(driver,self.agent_name,module_name = self.module_normal_2_name,component_group="Network Management",network_component="Host Alive",ip="127.0.0.1")
time.sleep(3)
create_network_server_module(driver,self.agent_name,module_name = self.module_warning_1_name,component_group="Network Management",network_component="Host Latency",ip="127.0.0.1",min_warning="-10")
params = [self.agent_name,self.module_normal_2_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")
time.sleep(3)
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")
lista = driver.current_url.split('/')
url = lista[0]+'//'+lista[2]+'/pandora_console'
driver.get(url)
#Creamos servicio en modo simple
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="Simple")
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="simple")
# añadimos los 3 modulos al servicio un router y el warning router critico printer no critico y apache critico
@ -78,65 +107,64 @@ class Service(PandoraWebDriverTestCase):
self.assertIsInstance(element,WebElement)
@is_enterprise
def test_B_simple_service(self):
def test_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.
"""
u"""
Add 3 modules in Simple service, two normal and one in critical, force service and check that service is critical.
"""
service_name = gen_random_string(6)
service_name = gen_random_string(6)
driver = self.driver
driver = self.driver
#Creamos servicio en modo simple
#Creamos servicio en modo simple
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="Simple")
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="simple")
# añadimos los 3 modulos al servicio un router y el warning router critico printer no critico y apache critico
# añadimos los 3 modulos al servicio un router y el warning router critico printer no critico y apache critico
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,is_critical=True)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_2_name,description=self.module_critical_2_name)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_3_name,description=self.module_critical_3_name,is_critical=True)
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,is_critical=True)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_2_name,description=self.module_critical_2_name)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_3_name,description=self.module_critical_3_name,is_critical=True)
# Forzamos el servicio y comprobamos que el estado es warning
# Forzamos el servicio y comprobamos que el estado es warning
force_service(driver,service_name)
force_service(driver,service_name)
search_service(driver,service_name,go_to_service=False)
search_service(driver,service_name,go_to_service=False)
element = driver.find_element_by_xpath('//td/img[@data-title="Critical"]')
self.assertIsInstance(element,WebElement)
element = driver.find_element_by_xpath('//td/img[@data-title="Critical"]')
self.assertIsInstance(element,WebElement)
@is_enterprise
def test_C_simple_service(self):
@is_enterprise
def test_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.
"""
u"""
Add 3 modules in Simple service, two normal and one in critical, force service and check that service is critical.
"""
service_name = gen_random_string(6)
service_name = gen_random_string(6)
driver = self.driver
driver = self.driver
#Creamos servicio en modo simple
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="simple")
# añadimos los 3 modulos al servicio un router y el warning router critico printer no critico y apache critico
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_normal_1_name,description=self.module_normal_1_name,is_critical=True)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_2_name,description=self.module_critical_2_name)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_normal_1_name,description=self.module_normal_1_name,is_critical=True)
# Forzamos el servicio y comprobamos que el estado es warning
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)
#Creamos servicio en modo simple
create_service(driver,service_name,"Applications",self.agent_name,description=service_name,mode="Simple")
# añadimos los 3 modulos al servicio un router y el warning router critico printer no critico y apache critico
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_normal_1_name,description=self.module_normal_1_name,is_critical=True)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_critical_2_name,description=self.module_critical_2_name)
add_elements_to_service(driver,service_name,"Module",agent_name=self.agent_name,module=self.module_normal_1_name,description=self.module_normal_1_name,is_critical=True)
# Forzamos el servicio y comprobamos que el estado es warning
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)
if __name__ == "__main__":
unittest.main()
unittest.main()

View File

@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
from common_classes_60 import PandoraWebDriverTestCase
from common_functions_60 import login, click_menu_element, detect_and_pass_all_wizards, logout
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re
def activate_api(driver,api_pwd):
click_menu_element(driver,"General Setup")
driver.find_element_by_id("textarea_list_ACL_IPs_for_API").clear()
driver.find_element_by_id("textarea_list_ACL_IPs_for_API").send_keys("*")
driver.find_element_by_id("password-api_password").clear()
driver.find_element_by_id("password-api_password").send_keys(api_pwd)
driver.find_element_by_id("submit-update_button").click()
def create_agent_api(driver,params,user="admin",pwd="pandora",apipwd="1234"):
lista = driver.current_url.split('/')
base_url = lista[0]+'//'+lista[2]+'/'
url = base_url+"pandora_console/include/api.php?op=set&op2=new_agent&other={0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|hola&other_mode=url_encode_separator_|".format(params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11])+"&user="+user+"&pass="+pwd+"&apipass="+apipwd
driver.get(url)
def add_network_module_to_agent_api(driver,params,user="admin",pwd="pandora",apipwd="1234"):
#params[3] = id_module_type, 6 para Host Alive, 7 para Host Latency
lista = driver.current_url.split('/')
base_url = lista[0]+'//'+lista[2]+'/'
url = base_url+"pandora_console/include/api.php?op=set&op2=create_network_module&id={0}&other={1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|{12}|{13}|{14}|{15}|{16}|{17}|{18}|{19}|{20}|{21}|latency&other_mode=url_encode_separator_|".format(params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9],params[10],params[11],params[12],params[13],params[14],params[15],params[16],params[17],params[18],params[19],params[20],params[21])+"&apipass="+apipwd+"&user="+user+"&pass="+pwd
driver.get(url)

View File

@ -44,10 +44,10 @@ def create_service(driver,name,group,agent,description=None,mode="Auto",critical
driver.find_element_by_id("text-description").clear()
driver.find_element_by_id("text-description").send_keys(description)
if mode == "Simple":
if mode == "simple":
driver.find_element_by_id("radiobtn0003").click()
if mode == "Manual":
if mode == "manual":
driver.find_element_by_id("radiobtn0001").click()
driver.find_element_by_id("text-critical").clear()
@ -130,20 +130,19 @@ def edit_service(driver,name,new_name=None,new_group=None,new_description=None,n
def force_service(driver,service_name):
search_service(driver,service_name,go_to_service=False)
driver.find_element_by_xpath('//tr[contains(.,"'+service_name+'")]/td[11]/a[2]').click()
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):
search_service(driver,service_name)
driver.find_element_by_xpath('//*[@id="menu_tab"]/ul/li[2]/a/img').click()
if type_element == "Agent":
driver.find_element_by_id("type_element").click()
Select(driver.find_element_by_id("type_element")).select_by_visible_text(type_element)
Select(driver.find_element_by_id("type_element")).select_by_visible_text("Agent")
driver.find_element_by_id("text-agent_name").clear()
driver.find_element_by_id("text-agent_name").send_keys(agent_name)
time.sleep(3)
@ -151,17 +150,17 @@ def add_elements_to_service(driver,service_name,type_element,agent_name=None,mod
if description != None:
driver.find_element_by_id("text-description").send_keys(description)
driver.find_element_by_id("text-description").send_keys("description")
if is_critical == True:
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("submit-crt").click()
if type_element == "Module":
driver.find_element_by_id("type_element").click()
Select(driver.find_element_by_id("type_element")).select_by_visible_text(type_element)
Select(driver.find_element_by_id("type_element")).select_by_visible_text("Module")
driver.find_element_by_id("text-agent_name").clear()
driver.find_element_by_id("text-agent_name").send_keys(agent_name)
@ -172,51 +171,27 @@ def add_elements_to_service(driver,service_name,type_element,agent_name=None,mod
if description != None:
driver.find_element_by_id("text-description").send_keys(description)
driver.find_element_by_id("text-description").send_keys("description")
if is_critical == True:
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("submit-crt").click()
if type_element == "Service":
driver.find_element_by_id("type_element").click()
Select(driver.find_element_by_id("type_element")).select_by_visible_text(type_element)
Select(driver.find_element_by_id("type_element")).select_by_visible_text("Service")
Select(driver.find_element_by_id("id_service_child")).select_by_visible_text(service_to_add)
if description != None:
driver.find_element_by_id("text-description").send_keys(description)
driver.find_element_by_id("text-description").send_keys("description")
if is_critical == True:
driver.find_element_by_id("checkbox-critical").click()
driver.find_element_by_id("submit-crt").click()
def delete_element_from_service(driver,service_name,agent=None,module=None,service_to_delete=None):
search_service(driver,service_name,go_to_service=True)
driver.find_element_by_xpath('//*[@id="menu_tab"]/ul/li[2]/a/img').click()
if agent != None and module != None:
driver.find_element_by_xpath('//tr[contains(.,"'+agent+'") and contains(.,"'+module+'")]/td[5]/a[2]').click()
if agent != None and module == None:
driver.find_element_by_xpath('//tr[contains(.,"'+agent+'")/td[5]/a[2]').click()
if service != None:
driver.find_element_by_xpath('//tr[contains(.,"'+service_to_delete+'")/td[5]/a[2]').click()
alert = driver.switch_to_alert()
alert.accept()