Пример #1
0
  def login(self):
    """Clicks on the login button on the login page

    Returns:
         dashboard.Dashboard
    """
    self.button_login.click()
    return dashboard.Dashboard(self._driver)
Пример #2
0
 def get_objs_available_to_map_via_add_widget(self, src_obj):
   """Open Info Widget of source object. Clock 'add widget' button. Return
   list of objects names from 'add widget' dropdown available to map with
   source object.
   """
   # pylint: disable=invalid-name
   self.open_info_page_of_obj(src_obj)
   return sorted(dashboard.Dashboard(
       self.driver).get_mappable_via_add_widgets_objs_aliases())
Пример #3
0
 def test_horizontal_nav_bar_tabs(self, selenium, new_controls_rest):
     """Tests that several objects in a widget can be deleted sequentially."""
     selenium.get(dashboard.Dashboard.URL)
     controls_widget = dashboard.Dashboard(selenium).select_controls()
     for _ in xrange(controls_widget.member_count):
         counter = controls_widget.get_items_count()
         (controls_widget.select_nth_member(
             0).press_object_settings().select_delete().confirm_delete())
         controls_widget.wait_member_deleted(counter)
     assert generic_widget.Controls(selenium).members_listed == []
 def get_items_from_dashboard_widget(self, obj):
     """Navigate to InfoPage of object. Open 'Dashboard' tab and return
 all urls of dashboard items.
   - Return: list of str
 """
     self.open_info_page_of_obj(obj)
     dashboard_widget_elem = (dashboard.Dashboard(
         self.driver).select_dashboard_tab())
     return DashboardWidget(
         self.driver, dashboard_widget_elem).get_all_tab_names_and_urls()
Пример #5
0
 def test_horizontal_nav_bar_tabs(self, new_controls_rest, selenium):
     """Tests that several objects in widget can be deleted sequentially."""
     selenium.get(dashboard.Dashboard.URL)
     controls_widget = dashboard.Dashboard(selenium).select_controls()
     for _ in xrange(controls_widget.member_count):
         counter = controls_widget.get_items_count()
         (controls_widget.select_member_by_num(
             0).open_info_3bbs().select_delete().confirm_delete())
         controls_widget.wait_member_deleted(counter)
     assert generic_widget.Controls(selenium,
                                    objects.CONTROLS).members_listed == []
Пример #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
Пример #7
0
 def test_search_snapshots_in_lhn(
         self, create_audit_with_control_and_update_control, selenium,
         version_of_ctrl, is_found, tab_name):
     """Check via UI that LHN search not looking for snapshots."""
     audit_with_one_control = create_audit_with_control_and_update_control
     selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
     lhn_menu = dashboard.Dashboard(selenium).open_lhn_menu()
     lhn_menu.select_tab(tab_name)
     control_title = audit_with_one_control[version_of_ctrl][0].title
     lhn_menu.filter_query(control_title)
     controls = (lhn_menu.select_controls_or_objectives().select_controls().
                 members_visible)
     assert (control_title in [el.text for el in controls]) == is_found
Пример #8
0
 def test_search_snapshots_in_lhn(self,
                                  create_audit_and_update_original_control,
                                  selenium, version_of_ctrl, is_found,
                                  tab_name):
     """Check via UI that LHN search not looking for snapshots."""
     selenium.get(dashboard.Dashboard.URL)
     lhn_menu = dashboard.Dashboard(selenium).open_lhn_menu()
     lhn_menu.select_tab(tab_name)
     control_title = (
         create_audit_and_update_original_control[version_of_ctrl].title)
     lhn_menu.filter_query(control_title)
     list_of_ctrls = (lhn_menu.select_controls_or_objectives().
                      select_controls().members_visible)
     assert (control_title in [
         el.text for el in list_of_ctrls if len(list_of_ctrls) != 0
     ]) == is_found
Пример #9
0
def create_threat(threat):
  """Creates a threat `threat`."""
  selenium_utils.open_url(url.dashboard())
  dashboard.Dashboard().open_create_obj_modal(objects.get_singular(
      objects.THREATS, title=True))
  internal_ui_operations.submit_obj(threat)
Пример #10
0
 def open_obj_dashboard_tab(self):
   """Navigates to dashboard tab URL of object according to object name.
   Returns: generic widget class object."""
   dashboard.Dashboard().open_objs_tab_via_url(self.obj_type)
   return self.generic_widget_cls(self._driver, self.obj_name)
Пример #11
0
 def is_dashboard_tab_exist(self, obj):
     """Navigate to InfoPage of object and check is 'Dashboard' tab exist.
   - Return: bool.
 """
     self.open_info_page_of_obj(obj)
     return dashboard.Dashboard(self.driver).is_dashboard_tab_exist()
Пример #12
0
def open_create_obj_modal(obj_type):
    """Opens create object modal for selected type."""
    selenium_utils.open_url(url.dashboard())
    obj_modal = dashboard.Dashboard().open_create_obj_modal(obj_type=obj_type)
    return obj_modal
Пример #13
0
def lhn_menu(selenium):
    """Open LHN menu and return LHN page objects model."""
    selenium_utils.open_url(url.Urls().dashboard)
    return dashboard.Dashboard(selenium).open_lhn_menu()
Пример #14
0
def my_work_dashboard(selenium):
    """Open My Work Dashboard URL and
  return My Work Dashboard page objects model."""
    selenium_utils.open_url(url.Urls().dashboard)
    return dashboard.Dashboard(selenium)
Пример #15
0
 def lhn_menu(self, selenium):
     """Open LHN menu and return LHN page objects model."""
     selenium_utils.open_url(selenium, dashboard.Dashboard.URL)
     return dashboard.Dashboard(selenium).open_lhn_menu()
Пример #16
0
def create_workflow(workflow):
    """Creates a workflow `workflow`."""
    selenium_utils.open_url(url.dashboard())
    dashboard.Dashboard().start_workflow()
    internal_ui_operations.submit_obj(workflow)
Пример #17
0
def add_task_group(workflow, task_group):
    """Adds task group."""
    workflow_tabs.SetupTab().open_via_url(workflow)
    dashboard.Dashboard().start_task_group()
    object_modal.get_modal_obj("task_group").submit_obj(task_group)