pandorafms/tests/console/include/module_functions.py

175 lines
6.6 KiB
Python

# -*- coding: utf-8 -*-
from selenium import selenium
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait, Select
from selenium.webdriver.support import expected_conditions as EC
from agent_functions import search_agent
from common_functions_60 import *
import random, time
import string
def create_module(module_type,*args,**kwargs):
if module_type=='network_server':
create_network_server_module(*args,**kwargs)
elif module_type=='data_server':
create_data_server_module(*args,**kwargs)
def create_network_server_module(driver,agent_name=None,module_name=None,component_group=None,type_of_module=None,network_component=None,min_warning=None,max_warning=None,min_critical=None,max_critical=None,ip=None,tag_name=None,description=None):
# component_group -> Example: Remote ICMP network agent (latency)
# network_component -> Example: Host Alive
#The type_of_module variable is optional, but required if component_group and network_component variables are specified
if agent_name != None:
search_agent(driver,agent_name)
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click()
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click()
Select(driver.find_element_by_id("moduletype")).select_by_visible_text("Create a new network server module")
driver.find_element_by_xpath('//*[@id="main"]/form/table/tbody/tr/td[5]/input').click()
driver.find_element_by_xpath('//a[contains(.,"Advanced options")]').click()
if min_warning != None:
driver.find_element_by_id("text-min_warning").clear()
driver.find_element_by_id("text-min_warning").send_keys(min_warning)
if max_warning != None:
driver.find_element_by_id("text-max_warning").clear()
driver.find_element_by_id("text-max_warning").send_keys(min_warning)
if min_critical != None:
driver.find_element_by_id("text-min_critical").clear()
driver.find_element_by_id("text-min_critical").send_keys(min_critical)
if max_critical != None:
driver.find_element_by_id("text-max_critical").clear()
driver.find_element_by_id("text-max_critical").send_keys(max_critical)
if ip != None:
driver.find_element_by_id("text-ip_target").clear()
driver.find_element_by_id("text-ip_target").send_keys(ip)
if component_group!= None and network_component!= None:
Select(driver.find_element_by_id("network_component_group")).select_by_visible_text(component_group)
Select(driver.find_element_by_id("network_component")).select_by_visible_text(network_component)
else:
driver.find_element_by_id("text-name").clear()
driver.find_element_by_id("text-name").send_keys(module_name)
Select(driver.find_element_by_id("id_module_type")).select_by_visible_text(type_of_module)
if module_name != None:
time.sleep(3)
driver.find_element_by_id("text-name").clear()
driver.find_element_by_id("text-name").send_keys(module_name)
if tag_name != None:
Select(driver.find_element_by_id("id_tag_available")).select_by_visible_text(tag_name)
driver.find_element_by_xpath('//*[@id="right"]').click()
if description != None:
driver.find_element_by_id("textarea_description").clear()
driver.find_element_by_id("textarea_description").send_keys(description)
driver.find_element_by_id("submit-crtbutton").click()
def create_data_server_module(driver,module_name,agent_name=None,type_of_module=None,min_warning=None,max_warning=None,min_critical=None,max_critical=None,tag_name=None,description=None):
# type_of_module -> Example: Generic numeric
# The type_of_module variable is Generic numeric by default
if agent_name != None:
search_agent(driver,agent_name)
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click()
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click()
Select(driver.find_element_by_id("moduletype")).select_by_visible_text("Create a new data server module")
driver.find_element_by_xpath('//*[@id="main"]/form/table/tbody/tr/td[5]/input').click()
driver.find_element_by_xpath('//a[contains(.,"Advanced options")]').click()
driver.find_element_by_id("text-name").clear()
driver.find_element_by_id("text-name").send_keys(module_name)
if type_of_module != None:
Select(driver.find_element_by_id("id_module_type")).select_by_visible_text(type_of_module)
if min_warning != None:
driver.find_element_by_id("text-min_warning").clear()
driver.find_element_by_id("text-min_warning").send_keys(min_warning)
if max_warning != None:
driver.find_element_by_id("text-max_warning").clear()
driver.find_element_by_id("text-max_warning").send_keys(min_warning)
if min_critical != None:
driver.find_element_by_id("text-min_critical").clear()
driver.find_element_by_id("text-min_critical").send_keys(min_critical)
if max_critical != None:
driver.find_element_by_id("text-max_critical").clear()
driver.find_element_by_id("text-max_critical").send_keys(max_critical)
if tag_name != None:
Select(driver.find_element_by_id("id_tag_available")).select_by_visible_text(tag_name)
driver.find_element_by_xpath('//*[@id="right"]').click()
if description != None:
driver.find_element_by_id("textarea_description").clear()
driver.find_element_by_id("textarea_description").send_keys(description)
driver.find_element_by_id("submit-crtbutton").click()
def delete_module (driver,agent_name,module_name):
search_agent(driver,agent_name)
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click()
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click()
driver.find_element_by_id("text-search_string").clear()
driver.find_element_by_id("text-search_string").send_keys(module_name)
driver.find_element_by_id("submit-filter").click()
driver.find_element_by_id("checkbox-id_delete").click()
driver.find_element_by_xpath('//*[@id="table2-1-9"]/a/img').click()
alert = driver.switch_to_alert()
alert.accept()
def search_module (driver,agent_name,module_name,go_to_module=False):
search_agent(driver,agent_name)
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Manage"]').click()
driver.find_element_by_xpath('//ul[@class="mn"]/li/a/img[@data-title="Modules"]').click()
driver.find_element_by_id("text-search_string").clear()
driver.find_element_by_id("text-search_string").send_keys(module_name)
driver.find_element_by_id("submit-filter").click()
if go_to_module == True:
driver.find_element_by_xpath('//a[contains(.,"'+module_name+'")]').click()