def test_asmts_gcas_filtering(
     self, new_program_rest, new_audit_rest, new_cas_for_assessments_rest,
     new_assessments_rest, operator, selenium
 ):
   """Test for checking filtering of Assessment by Global Custom Attributes
   in audit scope.
   Preconditions:
   - Program created via REST API.
   - Audit created via REST API.
   - Global Custom Attributes for Assessment created via REST API.
   - Assessments created via REST API.
   """
   custom_attr_values = (
       CustomAttributeDefinitionsFactory().generate_ca_values(
           list_ca_def_objs=new_cas_for_assessments_rest))
   checkbox_id = Representation.filter_objs_by_attrs(
       objs=new_cas_for_assessments_rest,
       attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX).id
   expected_asmt = new_assessments_rest[0]
   asmts_rest_service = rest_service.AssessmentsService()
   asmts_rest_service.update_obj(
       obj=expected_asmt, custom_attributes=custom_attr_values)
   asmts_rest_service.update_obj(
       obj=new_assessments_rest[1],
       custom_attributes={checkbox_id: not custom_attr_values[checkbox_id]})
   self._check_assessments_filtration(expected_asmt, custom_attr_values,
                                      operator, new_audit_rest, selenium)
Exemple #2
0
 def test_destructive_asmts_gcas_filtering(
     self, new_program_rest, new_audit_rest, new_cas_for_assessments_rest,
     new_assessments_rest, operator, selenium
 ):
   """Test for checking filtering of Assessment by Global Custom Attributes
   in audit scope.
   Preconditions:
   - Program created via REST API.
   - Audit created via REST API.
   - Global Custom Attributes for Assessment created via REST API.
   - Assessments created via REST API.
   """
   custom_attr_values = (
       CustomAttributeDefinitionsFactory().generate_ca_values(
           list_ca_def_objs=new_cas_for_assessments_rest))
   checkbox_id = Representation.filter_objs_by_attrs(
       objs=new_cas_for_assessments_rest,
       attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX).id
   expected_asmt = new_assessments_rest[0]
   asmts_rest_service = rest_service.AssessmentsService()
   asmts_rest_service.update_obj(
       obj=expected_asmt, custom_attributes=custom_attr_values)
   asmts_rest_service.update_obj(
       obj=new_assessments_rest[1],
       custom_attributes={checkbox_id: not custom_attr_values[checkbox_id]})
   self._check_assessments_filtration(expected_asmt, custom_attr_values,
                                      operator, new_audit_rest, selenium)
 def _set_values_for_assessment(assessment, cads,
                                only_checkbox, checkbox_value):
   """Set CA values for assessment"""
   checkbox_cad = Representation.filter_objs_by_attrs(
       objs=cads,
       attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX)
   if only_checkbox:
     cavs = [CustomAttributeDefinitionsFactory.generate_cav(
         checkbox_cad, checkbox_value)]
   else:
     cavs = CustomAttributeDefinitionsFactory.generate_cavs(cads)
     for cav in cavs:
       if cav.custom_attribute_id == checkbox_cad.id:
         cav.attribute_value = checkbox_value
   rest_service.AssessmentsService().update_obj(
       obj=assessment,
       custom_attribute_values=[cav.__dict__ for cav in cavs])
   return cavs
 def set_values_for_assessment(assessment, only_checkbox, checkbox_value):
   """Set LCA values for assessment"""
   custom_attr_definitions = [
       CustomAttributeDefinitionsFactory().create(**definition)
       for definition
       in assessment.cads_from_template()]
   checkbox_id = Representation.filter_objs_by_attrs(
       objs=custom_attr_definitions,
       attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX).id
   if only_checkbox:
     attr_values = {}
   else:
     attr_values = CustomAttributeDefinitionsFactory().generate_ca_values(
         list_ca_def_objs=custom_attr_definitions)
     attr_values[checkbox_id] = checkbox_value
   rest_service.AssessmentsService().update_obj(
       obj=assessment, custom_attributes=attr_values)
   return attr_values
 def _set_values_for_assessment(assessment, cads,
                                only_checkbox, checkbox_value):
   """Set CA values for assessment"""
   checkbox_cad = Representation.filter_objs_by_attrs(
       objs=cads,
       attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX)
   if only_checkbox:
     cavs = [CustomAttributeDefinitionsFactory.generate_ca_value(
         checkbox_cad, checkbox_value)]
   else:
     cavs = CustomAttributeDefinitionsFactory.generate_ca_values(cads)
     for cav in cavs:
       if cav.custom_attribute_id == checkbox_cad.id:
         cav.attribute_value = checkbox_value
   rest_service.AssessmentsService().update_obj(
       obj=assessment,
       custom_attribute_values=[cav.__dict__ for cav in cavs])
   return cavs
Exemple #6
0
 def set_values_for_assessment(assessment, only_checkbox, checkbox_value):
   """Set LCA values for assessment"""
   custom_attr_definitions = [
       CustomAttributeDefinitionsFactory().create(**definition)
       for definition
       in assessment.cads_from_template()]
   checkbox_id = Representation.filter_objs_by_attrs(
       objs=custom_attr_definitions,
       attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX).id
   if only_checkbox:
     attr_values = {}
   else:
     attr_values = CustomAttributeDefinitionsFactory().generate_ca_values(
         list_ca_def_objs=custom_attr_definitions)
     attr_values[checkbox_id] = checkbox_value
   rest_service.AssessmentsService().update_obj(
       obj=assessment, custom_attributes=attr_values)
   return attr_values
 def test_asmts_gcas_filtering(self, new_program_rest, new_audit_rest,
                               new_cas_for_assessments_rest,
                               new_assessments_rest, operator, selenium):
     """Test for checking filtering of Assessment by Custom Attributes in
 audit scope.
 Preconditions:
 - Program created via REST API.
 - Audit created via REST API.
 - Assessments created via REST API.
 - Global Custom Attributes for Assessment created via REST API.
 - Set revers value of GCA with Checkbox type for second Assessment.
 """
     # pylint: disable=too-many-locals
     custom_attr_values = (
         CustomAttributeDefinitionsFactory().generate_ca_values(
             list_ca_def_objs=new_cas_for_assessments_rest))
     checkbox_id = Representation.filter_objs_by_attrs(
         objs=new_cas_for_assessments_rest,
         attribute_type=element.AdminWidgetCustomAttributes.CHECKBOX).id
     expected_asmt = new_assessments_rest[0]
     asmts_rest_service = rest_service.AssessmentsService()
     asmts_rest_service.update_obj(obj=expected_asmt,
                                   custom_attributes=custom_attr_values)
     asmts_rest_service.update_obj(obj=new_assessments_rest[1],
                                   custom_attributes={
                                       checkbox_id:
                                       not custom_attr_values[checkbox_id]
                                   })
     filter_exprs = FilterUtils().get_filter_exprs_by_cas(
         expected_asmt.custom_attribute_definitions, custom_attr_values,
         operator)
     # 'expected_asmt': updated_at (outdated)
     # 'actual_asmts': created_at, updated_at, custom_attributes, audit
     #                 assessment_type, modified_by (None)
     expected_asmt = Representation.extract_objs_wo_excluded_attrs(
         [expected_asmt.repr_ui()],
         *(Representation.tree_view_attrs_to_exclude +
           ("audit", "assessment_type", "modified_by")))[0]
     expected_results = [{
         "filter": filter_expr,
         "objs": [expected_asmt]
     } for filter_expr in filter_exprs]
     actual_results = [{
         "filter":
         filter_expr,
         "objs":
         webui_service.AssessmentsService(
             selenium).filter_and_get_list_objs_from_tree_view(
                 new_audit_rest, filter_expr)
     } for filter_expr in filter_exprs]
     assert expected_results == actual_results, (
         messages.AssertionMessages.format_err_msg_equal([{
             exp_res["filter"]:
             [exp_obj.title for exp_obj in exp_res["objs"]]
         } for exp_res in expected_results], [{
             act_res["filter"]:
             [act_obj.title for act_obj in act_res["objs"]]
         } for act_res in actual_results]) +
         messages.AssertionMessages.format_err_msg_equal(
             StringMethods.convert_list_elements_to_list(
                 [exp_res["objs"] for exp_res in expected_results]),
             StringMethods.convert_list_elements_to_list(
                 [act_res["objs"] for act_res in actual_results])))