Example #1
0
 def test_lhn_stays_expanded(self, header_dashboard, selenium):
   """Tests if, after opening LHN, it slides out and stays expanded."""
   lhn_menu = header_dashboard.open_lhn_menu()
   initial_position = lhn_menu.my_objects.element.location
   selenium_utils.wait_until_stops_moving(lhn_menu.my_objects.element)
   selenium_utils.hover_over_element(
       selenium, dashboard.Header(selenium).button_my_tasks.element)
   assert initial_position == lhn.Menu(selenium).my_objects.element.location
Example #2
0
 def hover_over_visible_member(self, member_title):
   """Hovers over visible member with (unique) title "member_title".
   Args: member_title (basestring): (unique) title of member
   """
   try:
     el = self._get_visible_member_by_title(member_title)
     selenium_utils.hover_over_element(self._driver, el)
     selenium_utils.get_when_visible(
         self._driver, locator.LhnMenu.EXTENDED_INFO)
     return extended_info.ExtendedInfo(self._driver)
   except selenium_exception.StaleElementReferenceException:
     return self.hover_over_visible_member(member_title)
Example #3
0
 def select_map(self):
     """
 Click on "Map to this object" button in dropdown. Before this, check
 whether the dropdown is display. If no open it
 Returns:
 Unified mapper
 """
     if not self.dropdown_element.is_displayed():
         selenium_utils.hover_over_element(self._driver, self.dropdown_btn)
         self.dropdown_btn.click()
     self.get_dropdown_item(self._elements.MAP).click()
     return unified_mapper.MapObjectsModal(self._driver, self.obj_name)
Example #4
0
 def hover_over_visible_member(self, member_title):
   """Hovers over visible member with (unique) title "member_title".
   Args: member_title (basestring): (unique) title of member
   """
   try:
     el = self._get_visible_member_by_title(member_title)
     selenium_utils.hover_over_element(self._driver, el)
     selenium_utils.get_when_visible(
         self._driver, locator.LhnMenu.EXTENDED_INFO)
     return extended_info.ExtendedInfo(self._driver)
   except selenium_exception.StaleElementReferenceException:
     return self.hover_over_visible_member(member_title)
Example #5
0
 def select_map(self):
   """
   Click on "Map to this object" button in dropdown. Before this, check
   whether the dropdown is display. If no open it
   Returns:
   Unified mapper
   """
   if not self.dropdown_element.is_displayed():
     selenium_utils.hover_over_element(self._driver, self.dropdown_btn)
     self.dropdown_btn.click()
   self.get_dropdown_item(self._elements.MAP).click()
   return unified_mapper.MapObjectsModal(self._driver, self.obj_name)
Example #6
0
    def test_mapping_via_lhn(self, selenium, new_product, new_project,
                             new_system, new_data_asset, new_process):
        """LHN mapping tests from smoke tests, section 6"""
        objects = [
            new_product, new_project, new_system, new_data_asset, new_process
        ]

        for object_ in objects:
            selenium.get(object_.url)
            header = dashboard.Header(selenium)

            # map objects
            for mapped_object in objects:
                # don't map an object to itself
                if mapped_object != object_:
                    extended_info = conftest_utils\
                        .get_lhn_accordion(selenium, mapped_object.object_name)\
                        .hover_over_visible_member(mapped_object.title_entered.text)

                    if not extended_info.is_mapped:
                        extended_info.map_to_object()

                        # workaround for CORE-3324
                        selenium_utils.hover_over_element(
                            selenium, header.toggle_user_dropdown.element)

                        # close LHN so that the contents are seen
                        header.close_lhn_menu()

                        widget = factory.get_cls_widget(
                            mapped_object.object_name)(selenium)

                        # check that the focus is on relevant widget
                        assert widget.name_from_url in mapped_object.object_name

                        # check items count
                        assert widget.member_count == 1

            # check that all mapped widgets are shown
            widget_bar = dashboard.Dashboard(selenium)

            for mapped_object in objects:
                if mapped_object != object_:
                    # select a widget
                    getattr(
                        widget_bar,
                        factory.get_method_select(mapped_object.object_name))()

                    # verify widget
                    widget = factory.get_cls_widget(
                        mapped_object.object_name)(selenium)
                    assert widget.name_from_url in mapped_object.object_name
Example #7
0
 def open_tree_actions_dropdown_by_title(self, title):
     """Open dropdown of obj on Tree View by title. Hover mouse on dropdown
 button.
 Return: lib.element.tree_view."dropdown_obj"
 """
     button_num = self._get_item_num_by_title(title)
     item_dropdown_button = self.tree_view_items()[button_num].item_btn
     selenium_utils.hover_over_element(
         self._driver,
         self.tree_view_items_elements()[button_num])
     selenium_utils.hover_over_element(self._driver, item_dropdown_button)
     item_dropdown_button.click()
     return self.dropdown_tree_view_item_cls(self._driver, self.obj_name,
                                             item_dropdown_button)
Example #8
0
 def open_tree_actions_dropdown_by_title(self, title):
   """Open dropdown of obj on Tree View by title. Hover mouse on dropdown
   button.
   Return: lib.element.tree_view."dropdown_obj"
   """
   button_num = self._get_item_num_by_title(title)
   item_dropdown_button = self.tree_view_items()[button_num].item_btn
   selenium_utils.hover_over_element(
       self._driver, self.tree_view_items_elements()[button_num])
   selenium_utils.hover_over_element(
       self._driver, item_dropdown_button)
   item_dropdown_button.click()
   return self.dropdown_tree_view_item_cls(self._driver, self.obj_name,
                                           item_dropdown_button)
Example #9
0
    def test_lhn_stays_expanded(self, selenium):
        """Tests if, after opening the LHN, it slides out and stays expanded."""
        conftest_utils.navigate_to_page_with_lhn(selenium)

        lhn_menu = dashboard.Header(selenium).open_lhn_menu()
        initial_position = lhn_menu.my_objects.element.location

        selenium_utils.wait_until_stops_moving(lhn_menu.my_objects.element)
        selenium_utils.hover_over_element(
            selenium,
            dashboard.Header(selenium).button_my_tasks.element)

        assert initial_position == \
            lhn.Menu(selenium).my_objects.element.location
Example #10
0
 def open_tree_actions_dropdown_by_title(self, title):
   """Open dropdown of obj on Tree View by title. Hover mouse on dropdown
   button.
   Return: lib.element.tree_view."dropdown_obj"
   """
   button_num = self._get_item_num_by_title(title)
   item_dropdown_button = self.tree_view_items()[button_num].item_btn
   selenium_utils.hover_over_element(
       self._driver, self.tree_view_items()[button_num].element)
   selenium_utils.hover_over_element(
       self._driver, item_dropdown_button)
   item_dropdown_button.click()
   dropdown_menu_element = item_dropdown_button.find_element(
       *self._locators.ITEM_DROPDOWN_MENU_CSS)
   return self.dropdown_tree_view_item_cls(self._driver, self.obj_name,
                                           dropdown_menu_element)
Example #11
0
    def open_tree_actions_dropdown_by_title(self, title):
        """Open dropdown of obj on Tree View by title. Hover mouse on dropdown
    button.

    Return: lib.element.tree_view."dropdown_obj"
    """
        # pylint: disable=invalid-name
        obj = self.find_row(title)
        item_dropdown_button = obj.item_btn
        selenium_utils.hover_over_element(self._driver, obj.element)
        selenium_utils.hover_over_element(self._driver, item_dropdown_button)
        item_dropdown_button.click()
        dropdown_menu_element = item_dropdown_button.find_element(
            *self._locators.ITEM_DD_MENU_CSS)
        return self.dropdown_tree_view_item_cls(self._driver, self.obj_name,
                                                dropdown_menu_element)
Example #12
0
  def open_tree_actions_dropdown_by_title(self, title):
    """Open dropdown of obj on Tree View by title. Hover mouse on dropdown
    button.

    Return: lib.element.tree_view."dropdown_obj"
    """
    # pylint: disable=invalid-name
    button_num = self._get_item_num_by_title(title)
    item_dropdown_button = self.tree_view_items()[button_num].item_btn
    selenium_utils.hover_over_element(
        self._driver, self.tree_view_items()[button_num].element)
    selenium_utils.hover_over_element(
        self._driver, item_dropdown_button)
    item_dropdown_button.click()
    dropdown_menu_element = item_dropdown_button.find_element(
        *self._locators.ITEM_DD_MENU_CSS)
    return self.dropdown_tree_view_item_cls(self._driver, self.obj_name,
                                            dropdown_menu_element)
 def test_mapping_via_lhn(
     self, selenium, new_product_ui, new_project_ui, new_system_ui,
     new_data_asset_ui, new_process_ui
 ):
   """LHN mapping tests from smoke tests, section 6."""
   objects = [new_product_ui, new_project_ui, new_system_ui,
              new_data_asset_ui, new_process_ui]
   for object_ in objects:
     selenium.get(object_.url)
     header = dashboard.Header(selenium)
     # map objects
     for mapped_object in objects:
       # don't map an object to itself
       if mapped_object != object_:
         extended_info = (
             conftest_utils.get_lhn_accordion(
                 selenium,
                 mapped_object.object_name).hover_over_visible_member(
                 mapped_object.title_entered.text))
         if not extended_info.is_mapped:
           extended_info.map_to_object()
           # workaround for CORE-3324
           selenium_utils.hover_over_element(
               selenium, header.toggle_user_dropdown.element)
           # close LHN so that the contents are seen
           header.close_lhn_menu()
           widget = (
               factory.get_cls_widget(mapped_object.object_name)(selenium))
           # check that the focus is on relevant widget
           assert widget.name_from_url in mapped_object.object_name
           # check items count
           assert widget.member_count == 1
     # check that all mapped widgets are shown
     widget_bar = dashboard.Dashboard(selenium)
     for mapped_object in objects:
       if mapped_object != object_:
         # select a widget
         getattr(widget_bar,
                 factory.get_method_select(mapped_object.object_name))()
         # verify widget
         widget = (
             factory.get_cls_widget(mapped_object.object_name)(selenium))
         assert widget.name_from_url in mapped_object.object_name