175 lines
6.6 KiB
Python
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()
|
|
|
|
|
|
|