diff --git a/src/repo/zcl_abapgit_file_status.clas.locals_imp.abap b/src/repo/zcl_abapgit_file_status.clas.locals_imp.abap index 4b7d493ce..8019d4b75 100644 --- a/src/repo/zcl_abapgit_file_status.clas.locals_imp.abap +++ b/src/repo/zcl_abapgit_file_status.clas.locals_imp.abap @@ -180,13 +180,18 @@ CLASS lcl_status_consistency_checks IMPLEMENTATION. FIELD-SYMBOLS LIKE LINE OF it_results. - " Collect all namespaces based on name of xml-files + " Collect all namespaces based on name of xml- and json-files LOOP AT it_results ASSIGNING . FIND REGEX '^#([a-zA-Z0-9]+)#.*\..*\.xml$' IN -filename SUBMATCHES lv_namespace. IF sy-subrc = 0. lv_namespace = '/' && to_upper( lv_namespace ) && '/'. COLLECT lv_namespace INTO lt_namespace. ENDIF. + FIND REGEX '^\(([a-zA-Z0-9]+)\).*\..*\.json$' IN -filename SUBMATCHES lv_namespace. + IF sy-subrc = 0. + lv_namespace = '/' && to_upper( lv_namespace ) && '/'. + COLLECT lv_namespace INTO lt_namespace. + ENDIF. ENDLOOP. li_namespace = zcl_abapgit_factory=>get_sap_namespace( ). diff --git a/src/repo/zcl_abapgit_file_status.clas.testclasses.abap b/src/repo/zcl_abapgit_file_status.clas.testclasses.abap index 5188d73f7..e0f5f50bb 100644 --- a/src/repo/zcl_abapgit_file_status.clas.testclasses.abap +++ b/src/repo/zcl_abapgit_file_status.clas.testclasses.abap @@ -61,6 +61,7 @@ CLASS ltcl_run_checks DEFINITION FOR TESTING RISK LEVEL HARMLESS neg_empty_filenames FOR TESTING RAISING zcx_abapgit_exception, package_move FOR TESTING RAISING zcx_abapgit_exception, check_namespace FOR TESTING RAISING zcx_abapgit_exception, + check_namespace_aff FOR TESTING RAISING zcx_abapgit_exception, check_sub_package FOR TESTING RAISING zcx_abapgit_exception. ENDCLASS. @@ -516,6 +517,35 @@ CLASS ltcl_run_checks IMPLEMENTATION. ENDMETHOD. + METHOD check_namespace_aff. + + " 6 Missing namespace + append_result( iv_obj_type = 'CLAS' + iv_obj_name = '/NOTEXIST/ZCLASS1' + iv_match = ' ' + iv_lstate = ' ' + iv_rstate = 'A' + iv_package = '/NOTEXIST/Z' + iv_path = '/' + iv_filename = '(notexist)zclass1.clas.json' ). + + CREATE OBJECT mo_instance + EXPORTING + iv_root_package = '/NOTEXIST/Z' + io_dot = mo_dot. + + mi_log = mo_instance->run_checks( mt_results ). + + cl_abap_unit_assert=>assert_equals( + act = mi_log->count( ) + exp = 1 ). + + ltcl_util=>check_contains( + ii_log = mi_log + iv_pattern = |Namespace *| ). + + ENDMETHOD. + METHOD check_sub_package. append_result( iv_obj_type = 'DEVC'