示例#1
0
 def create_and_clone_audit(self, new_program_rest, new_control_rest,
                            map_new_program_rest_to_new_control_rest,
                            new_audit_rest, new_assessment_rest,
                            new_assessment_template_rest, new_issue_rest,
                            selenium):
     """Create Audit with clonable and non clonable objects via REST API and
 clone it with them via UI.
 Preconditions:
 - Program, Control created via REST API.
 - Control mapped to Program via REST API.
 - Audit created under Program via REST API.
 - Assessment, Assessment Template, Issue created under Audit via REST API.
 - Issue mapped to Audit via REST API.
 """
     # pylint: disable=too-many-locals
     expected_audit = entities_factory.AuditsFactory().clone(
         audit=new_audit_rest)[0]
     expected_asmt_tmpl = entities_factory.AssessmentTemplatesFactory(
     ).clone(asmt_tmpl=new_assessment_template_rest)[0]
     actual_audit = (webui_service.AuditsService(
         selenium).clone_via_info_page_and_get_obj(
             audit_obj=new_audit_rest))
     return {
         "audit": new_audit_rest,
         "expected_audit": expected_audit,
         "actual_audit": actual_audit,
         "assessment": new_assessment_rest,
         "issue": new_issue_rest,
         "assessment_template": new_assessment_template_rest,
         "expected_assessment_template": expected_asmt_tmpl,
         "control": new_control_rest,
         "program": new_program_rest
     }
示例#2
0
 def test_asmt_tmpl_creation(self, new_program_rest, new_audit_rest,
                             selenium):
     """Check if Assessment Template can be created from Audit page via
 Assessment Templates widget.
 Preconditions:
 - Audit created under Program via REST API.
 """
     expected_asmt_tmpl = (
         entities_factory.AssessmentTemplatesFactory().create().repr_ui())
     (webui_service.AssessmentTemplatesService(
         selenium).create_obj_via_tree_view(src_obj=new_audit_rest,
                                            obj=expected_asmt_tmpl))
     actual_asmt_tmpls_tab_count = (
         webui_service.AssessmentTemplatesService(
             selenium).get_count_objs_from_tab(src_obj=new_audit_rest))
     assert len([expected_asmt_tmpl]) == actual_asmt_tmpls_tab_count
     actual_asmt_tmpls = (webui_service.AssessmentTemplatesService(
         selenium).get_list_objs_from_tree_view(src_obj=new_audit_rest))
     # due to 'expected_asmt_tmpl.updated_at = None'
     actual_asmt_tmpls = [
         actual_asmt_tmpl.update_attrs(updated_at=None)
         for actual_asmt_tmpl in actual_asmt_tmpls
     ]
     assert [expected_asmt_tmpl] == actual_asmt_tmpls, (
         messages.AssertionMessages.format_err_msg_equal(
             [expected_asmt_tmpl], actual_asmt_tmpls))
示例#3
0
 def create_and_clone_audit_w_params_to_update(
         self, request, new_program_rest, new_control_rest,
         map_new_program_rest_to_new_control_rest, new_audit_rest,
         new_assessment_rest, new_assessment_template_rest, new_issue_rest,
         selenium):
     """Create Audit with clonable and non clonable objects via REST API and
 clone it with them via UI.
 Preconditions:
 - Program, Control created via REST API.
 - Control mapped to Program via REST API.
 - Audit created under Program via REST API.
 - Assessment, Assessment Template, Issue created under Audit via REST API.
 - Issue mapped to Audit via REST API.
 """
     # pylint: disable=too-many-locals
     if hasattr(request, "param") and request.param:
         if isinstance(request.param, tuple):
             fixture, params_to_update = request.param
             # fixtures which are objects
             if fixture in request.fixturenames and fixture.startswith(
                     "new_"):
                 fixture = locals().get(fixture)
                 (get_cls_rest_service(objects.get_plural(
                     fixture.type))().update_obj(obj=fixture,
                                                 **params_to_update))
     expected_audit = entities_factory.AuditsFactory().clone(
         audit=new_audit_rest)[0]
     expected_asmt_tmpl = entities_factory.AssessmentTemplatesFactory(
     ).clone(asmt_tmpl=new_assessment_template_rest)[0]
     actual_audit = (webui_service.AuditsService(
         selenium).clone_via_info_page_and_get_obj(
             audit_obj=new_audit_rest))
     return {
         "audit": new_audit_rest,
         "expected_audit": expected_audit,
         "actual_audit": actual_audit,
         "assessment": new_assessment_rest,
         "issue": new_issue_rest,
         "assessment_template": new_assessment_template_rest,
         "expected_assessment_template": expected_asmt_tmpl,
         "control": new_control_rest,
         "program": new_program_rest
     }
示例#4
0
 def test_asmt_tmpl_creation(self, program, audit, selenium):
     """Check if Assessment Template can be created from Audit page via
 Assessment Templates widget.
 Preconditions:
 - Audit created under Program via REST API.
 """
     expected_asmt_tmpl = (
         entities_factory.AssessmentTemplatesFactory().create())
     asmt_tmpls_ui_service = webui_service.AssessmentTemplatesService(
         selenium)
     asmt_tmpls_ui_service.create_obj_via_tree_view(src_obj=audit,
                                                    obj=expected_asmt_tmpl)
     actual_asmt_tmpls_tab_count = (
         asmt_tmpls_ui_service.get_count_objs_from_tab(src_obj=audit))
     assert len([expected_asmt_tmpl]) == actual_asmt_tmpls_tab_count
     actual_asmt_tmpls = asmt_tmpls_ui_service.get_list_objs_from_tree_view(
         src_obj=audit)
     # 'expected_asmt_tmpls': modified_by (None) *factory
     # 'actual_asmt_tmpls': assignees, verifiers, template_object_type (None)
     self.general_equal_assert([expected_asmt_tmpl], actual_asmt_tmpls,
                               "modified_by", "assignees", "verifiers",
                               "template_object_type", "slug")
示例#5
0
 def test_asmt_tmpl_creation(self, new_program_rest, new_audit_rest,
                             selenium):
     """Check if Assessment Template can be created from Audit page via
 Assessment Templates widget.
 Preconditions:
 - Audit created under Program via REST API.
 """
     expected_asmt_tmpl = (
         entities_factory.AssessmentTemplatesFactory().create().repr_ui())
     asmt_tmpls_ui_service = webui_service.AssessmentTemplatesService(
         selenium)
     asmt_tmpls_ui_service.create_obj_via_tree_view(src_obj=new_audit_rest,
                                                    obj=expected_asmt_tmpl)
     actual_asmt_tmpls_tab_count = (
         asmt_tmpls_ui_service.get_count_objs_from_tab(
             src_obj=new_audit_rest))
     assert len([expected_asmt_tmpl]) == actual_asmt_tmpls_tab_count
     actual_asmt_tmpls = asmt_tmpls_ui_service.get_list_objs_from_tree_view(
         src_obj=new_audit_rest)
     # 'expected_asmt_tmpl': modified_by (None) *factory
     self.general_equal_assert([expected_asmt_tmpl], actual_asmt_tmpls,
                               "modified_by")