Beispiel #1
0
	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
Beispiel #2
0
    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)")
Beispiel #3
0
    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)
Beispiel #4
0
    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, [])
Beispiel #5
0
    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, [])