Example #1
0
 def test_destructive_search_unified_mapper_and_check_mapping(
         self, create_audit_with_control_and_update_control,
         control_for_mapper, control_for_tree_view, dynamic_objects,
         dynamic_relationships, expected_map_statuses, expected_is_found,
         selenium):
     """Check searching of shapshotable and snapshoted objects via Unified
 Mapper modal and check their correct mapping.
 """
     audit_with_one_control = create_audit_with_control_and_update_control
     source_obj = dynamic_objects
     expected_control_from_mapper = (
         audit_with_one_control[control_for_mapper][0].repr_ui())
     expected_control_from_tree_view = (
         (expected_control_from_mapper
          if control_for_mapper == control_for_tree_view else
          audit_with_one_control[control_for_tree_view][0].repr_ui())
         if control_for_tree_view else None)
     expected_map_status = MappingStatusAttrs(
         expected_control_from_mapper.title, *expected_map_statuses)
     controls_ui_service = webui_service.ControlsService(selenium)
     actual_controls_from_mapper, actual_map_status = (
         controls_ui_service.get_list_objs_from_mapper(
             src_obj=source_obj, dest_objs=[expected_control_from_mapper]))
     actual_controls_from_tree_view = (
         controls_ui_service.get_list_objs_from_tree_view(
             src_obj=source_obj))
     # 'actual_controls': created_at, updated_at, custom_attributes (None)
     expected_controls_from_mapper, actual_controls_from_mapper = (
         Representation.extract_objs(
             [expected_control_from_mapper], actual_controls_from_mapper,
             *Representation.tree_view_attrs_to_exclude))
     expected_controls_from_tree_view = []
     if expected_control_from_tree_view:
         expected_controls_from_tree_view, actual_controls_from_tree_view = (
             Representation.extract_objs(
                 [expected_control_from_tree_view],
                 actual_controls_from_tree_view,
                 *Representation.tree_view_attrs_to_exclude))
     assert (expected_is_found is (expected_controls_from_mapper[0]
                                   in actual_controls_from_mapper) is
             (expected_map_status in actual_map_status)) == (
                 (expected_controls_from_tree_view[0]
                  in actual_controls_from_tree_view)
                 if expected_control_from_tree_view else
                 expected_controls_from_tree_view
                 == actual_controls_from_tree_view), (
                     messages.AssertionMessages.format_err_msg_equal(
                         messages.AssertionMessages.format_err_msg_contains(
                             expected_controls_from_mapper[0],
                             actual_controls_from_mapper),
                         messages.AssertionMessages.format_err_msg_contains(
                             expected_controls_from_tree_view[0],
                             actual_controls_from_tree_view)
                         if expected_control_from_tree_view else
                         messages.AssertionMessages.format_err_msg_equal(
                             expected_controls_from_tree_view,
                             actual_controls_from_tree_view)))
Example #2
0
 def test_destructive_search_unified_mapper_and_check_mapping(
     self, create_audit_with_control_and_update_control, control_for_mapper,
     control_for_tree_view, dynamic_objects, dynamic_relationships,
     expected_map_statuses, expected_is_found, selenium
 ):
   """Check searching of shapshotable and snapshoted objects via Unified
   Mapper modal and check their correct mapping.
   """
   audit_with_one_control = create_audit_with_control_and_update_control
   source_obj = dynamic_objects
   expected_control_from_mapper = (
       audit_with_one_control[control_for_mapper][0].repr_ui())
   expected_control_from_tree_view = (
       (expected_control_from_mapper
        if control_for_mapper == control_for_tree_view else
        audit_with_one_control[control_for_tree_view][0].repr_ui())
       if control_for_tree_view else None)
   expected_map_status = MappingStatusAttrs(
       expected_control_from_mapper.title, *expected_map_statuses)
   controls_ui_service = webui_service.ControlsService(selenium)
   actual_controls_from_mapper, actual_map_status = (
       controls_ui_service.get_list_objs_from_mapper(
           src_obj=source_obj, dest_objs=[expected_control_from_mapper]))
   actual_controls_from_tree_view = (
       controls_ui_service.get_list_objs_from_tree_view(src_obj=source_obj))
   # 'actual_controls': created_at, updated_at, custom_attributes (None)
   expected_controls_from_mapper, actual_controls_from_mapper = (
       Representation.extract_objs(
           [expected_control_from_mapper], actual_controls_from_mapper,
           *Representation.tree_view_attrs_to_exclude))
   expected_controls_from_tree_view = []
   if expected_control_from_tree_view:
     expected_controls_from_tree_view, actual_controls_from_tree_view = (
         Representation.extract_objs(
             [expected_control_from_tree_view],
             actual_controls_from_tree_view,
             *Representation.tree_view_attrs_to_exclude))
   assert (
       expected_is_found
       is (expected_controls_from_mapper[0] in actual_controls_from_mapper)
       is (expected_map_status in actual_map_status)) == (
       (expected_controls_from_tree_view[0] in actual_controls_from_tree_view)
       if expected_control_from_tree_view else
       expected_controls_from_tree_view ==
       actual_controls_from_tree_view), (
       messages.AssertionMessages.format_err_msg_equal(
           messages.AssertionMessages.format_err_msg_contains(
               expected_controls_from_mapper[0], actual_controls_from_mapper),
           messages.AssertionMessages.format_err_msg_contains(
               expected_controls_from_tree_view[0],
               actual_controls_from_tree_view)
           if expected_control_from_tree_view else
           messages.AssertionMessages.format_err_msg_equal(
               expected_controls_from_tree_view,
               actual_controls_from_tree_view)))
Example #3
0
 def general_equal_assert(expected_objs, actual_objs, *exclude_attrs):
   """Perform general equal assert for deepcopy converted to list expected and
   actual objects according to '*exclude_attrs' tuple of excluding attributes'
   names (compare objects' collections w/ attributes' values set to None).
   """
   expected_objs_wo_excluded_attrs, actual_objs_wo_excluded_attrs = (
       Representation.extract_objs(
           help_utils.convert_to_list(expected_objs),
           help_utils.convert_to_list(actual_objs), *exclude_attrs))
   assert (expected_objs_wo_excluded_attrs ==
           actual_objs_wo_excluded_attrs), (
       messages.AssertionMessages.format_err_msg_equal(
           expected_objs_wo_excluded_attrs, actual_objs_wo_excluded_attrs))
Example #4
0
 def general_equal_assert(expected_objs, actual_objs, *exclude_attrs):
   """Perform general equal assert for deepcopy converted to list expected and
   actual objects according to '*exclude_attrs' tuple of excluding attributes'
   names (compare objects' collections w/ attributes' values set to None).
   """
   expected_objs_wo_excluded_attrs, actual_objs_wo_excluded_attrs = (
       Representation.extract_objs(
           help_utils.convert_to_list(expected_objs),
           help_utils.convert_to_list(actual_objs), *exclude_attrs))
   assert (expected_objs_wo_excluded_attrs ==
           actual_objs_wo_excluded_attrs), (
       messages.AssertionMessages.format_err_msg_equal(
           expected_objs_wo_excluded_attrs, actual_objs_wo_excluded_attrs))
Example #5
0
 def test_filter_of_snapshotable_control(
     self, create_audit_with_control_and_update_control, version_of_ctrl,
     is_found, selenium
 ):
   """Check via UI that filtering work for snapshoted version of Control only,
   filtering by actual values returns no items in scope of Audit page.
   """
   audit_with_one_control = create_audit_with_control_and_update_control
   audit = audit_with_one_control["new_audit_rest"][0]
   expected_control = audit_with_one_control[version_of_ctrl][0].repr_ui()
   filter_exp = FilterUtils.get_filter_exp_by_title(expected_control.title)
   actual_controls = (webui_service.ControlsService(selenium).
                      filter_and_get_list_objs_from_tree_view(
                          src_obj=audit, filter_exp=filter_exp))
   # 'actual_controls': created_at, updated_at, custom_attributes (None)
   expected_controls, actual_controls = Representation.extract_objs(
       [expected_control], actual_controls,
       *Representation.tree_view_attrs_to_exclude)
   expected_control = expected_controls[0]
   assert is_found is (expected_control in actual_controls), (
       messages.AssertionMessages.format_err_msg_contains(
           expected_control, actual_controls))
Example #6
0
 def test_filter_of_snapshotable_control(
         self, create_audit_with_control_and_update_control,
         version_of_ctrl, is_found, selenium):
     """Check via UI that filtering work for snapshoted version of Control only,
 filtering by actual values returns no items in scope of Audit page.
 """
     audit_with_one_control = create_audit_with_control_and_update_control
     audit = audit_with_one_control["new_audit_rest"][0]
     expected_control = audit_with_one_control[version_of_ctrl][0].repr_ui()
     filter_exp = FilterUtils.get_filter_exp_by_title(
         expected_control.title)
     actual_controls = (webui_service.ControlsService(
         selenium).filter_and_get_list_objs_from_tree_view(
             src_obj=audit, filter_exp=filter_exp))
     # 'actual_controls': created_at, updated_at, custom_attributes (None)
     expected_controls, actual_controls = Representation.extract_objs(
         [expected_control], actual_controls,
         *Representation.tree_view_attrs_to_exclude)
     expected_control = expected_controls[0]
     assert is_found is (expected_control in actual_controls), (
         messages.AssertionMessages.format_err_msg_contains(
             expected_control, actual_controls))