def test_create_ICMP_module(self): u""" Creates a simple ICMP check against localhost and checks the result is 1 """ driver = self.driver self.login() detect_and_pass_all_wizards(driver) create_agent(driver,"PAN3_agent",ip="127.0.0.1") create_module("network_server",driver,agent_name="PAN3_agent",module_name="PAN3_module",component_group="Network Management",network_component="Host Alive",ip="127.0.0.1") driver.find_element_by_xpath('//*[@id="menu_tab"]//a[contains(@href,"ver_agente")]').click() max_retries = 3 i = 1 element_text = "" while (i <= max_retries): # Temporary workaround to weird StaleElementReferenceException exceptions due Javascript altering the DOM try: element_text = refresh_N_times_until_find_element(driver,5,"table1-1-7",how=By.ID).text self.assertEqual("1", element_text.lstrip().rstrip()) # The lstrip.rstrip is done because if not, this error is raised: "'1' != u'1 '" break except StaleElementReferenceException as e_stale: i = i+1 if i > max_retries: self.verificationErrors.append(str(e_stale)) break else: next except AssertionError as e: self.verificationErrors.append(str(e)) break
def test_A_delete_agent_bulk_operations(self): u""" Creation two agents and delete this agents using bulk operation' Ticket Associated = 3831 """ driver = self.driver self.login() detect_and_pass_all_wizards create_agent(driver, "prueba masivas 1") driver.find_element_by_css_selector("b").click() create_agent(driver, "prueba masivas 2") driver.find_element_by_css_selector("b").click() driver.find_element_by_css_selector("b").click() click_menu_element(driver, "Agents operations") driver.find_element_by_id("option").click() Select(driver.find_element_by_id("option")).select_by_visible_text( "Bulk agent delete") Select(driver.find_element_by_id("id_agents")).select_by_visible_text( "prueba masivas 1") Select(driver.find_element_by_id("id_agents")).select_by_visible_text( "prueba masivas 2") driver.find_element_by_id("submit-go").click() self.assertRegexpMatches(self.close_alert_and_get_its_text(), r"^Are you sure[\s\S]$") self.assertEqual( self.driver.find_element_by_xpath( '//div[@id="main"]//td[contains(.,"Successfully deleted (2)")]' ).text, "Successfully deleted (2)")
def test_japanese_characters(self): u""" Creates an agent and a module with japanese characters and test if the event list show the characters properly """ driver = self.driver self.login() detect_and_pass_all_wizards(driver) create_agent(driver, u"次のライセンスに基づいていま") #Create module create_module("network_server", driver, agent_name=u"次のライセンスに基づいていま", module_name=u"管理者ガイド", component_group="Network Management", network_component="Host Alive", ip="192.168.50.50") #Create alert driver.find_element_by_xpath( '//ul[@class="mn"]/li/a/img[@data-title="Alerts"]').click() Select(driver.find_element_by_id( "id_agent_module")).select_by_visible_text(u"管理者ガイド") Select(driver.find_element_by_id("template")).select_by_visible_text( "Critical condition") Select(driver.find_element_by_id( "action_select")).select_by_visible_text("Default action") driver.find_element_by_id("submit-add").click() #Force alert click_menu_element(driver, "Agent detail") driver.find_element_by_id("text-search").clear() driver.find_element_by_id("text-search").send_keys(u"次のライセンスに基づいていま") driver.find_element_by_id("submit-srcbutton").click() driver.find_element_by_css_selector("b").click() driver.find_element_by_xpath( '//ul[@class="mn"]/li/a/img[@data-title="Alerts"]').click() driver.find_element_by_xpath( '//tr[@id="table2-0"]/td/a/img[@data-title="Force"]').click() time.sleep(10) #Search events of our agent search_events(driver, agent_name=u"次のライセンスに基づいていま", module_name=u"管理者ガイド") #Check that there are japanese characters present on the event element = driver.find_element_by_xpath( u'//a[contains(.,"Alert fired (Critical condition) assigned to (管理者ガイド)")]' ) self.assertIsInstance(element, WebElement)
def test_ACL_propagation(self): u""" ACL Propagation test: Creates one group "A" with ACL propagation, then a group "B" son of "A" with no ACL propagation, and finally group "C". The test asserts if a user with privileges to "A" can see the agent of "B" but no agents of "C". """ group_name_A = gen_random_string(6) group_name_B = gen_random_string(6) group_name_C = gen_random_string(6) agent_name_A = gen_random_string(6) agent_name_B = gen_random_string(6) user_name = gen_random_string(6) driver = self.driver self.login() detect_and_pass_all_wizards(driver) create_agent_group( driver, group_name_A, propagate_acl=True, description="Group A, with propagate ACL, son of ALL") create_agent_group(driver, group_name_B, parent_group=group_name_A, description="Group B, son of A") create_agent_group(driver, group_name_C, parent_group=group_name_B, description="Group C, son of B") create_agent(driver, agent_name_A, description="Agent in group B", group=group_name_B) create_agent(driver, agent_name_B, description="Agent in group C", group=group_name_C) l = [("Chief Operator", group_name_A, [])] create_user(driver, user_name, "pandora", profile_list=l) self.logout() self.login(user=user_name) detect_and_pass_all_wizards(driver) #Is the agent listed in the agent list? search_agent(driver, agent_name_A, go_to_agent=False) element = driver.find_element_by_xpath('//a[contains(.,"' + agent_name_A + '")]') self.assertIsInstance(element, WebElement) #Is the agent accesible for the user? search_agent(driver, agent_name_A, go_to_agent=True) element = driver.find_element_by_xpath( '//*[@id="agent_contact_main"]/thead/tr/th') self.assertIsInstance(element, WebElement) #Is the agent invisible to the user? (It should be invisible) search_agent(driver, agent_name_B, go_to_agent=False) element = driver.find_elements_by_xpath('//a[contains(.,"' + agent_name_B + '")]') self.assertEqual(element, [])
def test_ACL_tag(self): u"""Create agent and two modules, one without tag and with tag, create a user with tag and check this user can view module with tag and user can´t view module without tag""" agent_name = gen_random_string(6) module_name_A = gen_random_string(6) module_name_B = gen_random_string(6) user_name = gen_random_string(6) driver = self.driver self.login() detect_and_pass_all_wizards(driver) create_agent(driver, agent_name, group="Applications", ip="192.168.50.50") #We create a module without a tag create_module("network_server", driver, agent_name=agent_name, module_name=module_name_A, component_group="Network Management", network_component="Host Alive", ip="192.168.50.50") #We now create a modulo with tag "critical" create_module("network_server", driver, agent_name=agent_name, module_name=module_name_B, component_group="Network Management", network_component="Host Alive", ip="192.168.50.50", tag_name="critical") l = [("Operator (Read)", "All", ["critical"])] create_user(driver, user_name, "pandora", profile_list=l) self.logout() self.login(user=user_name) detect_and_pass_all_wizards(driver) search_agent(driver, agent_name) time.sleep(6) #The user should be able to see the module with Tag module = driver.find_element_by_xpath('//td[contains(.,"' + module_name_B + '")]') self.assertIsInstance(module, WebElement) #The user should NOT be able to see the module without tag modules = driver.find_elements_by_xpath('//td[contains(.,"' + module_name_A + '")]') self.assertEqual(modules, [])