mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
130 lines
4.0 KiB
ABAP
130 lines
4.0 KiB
ABAP
*"* use this source file for your ABAP unit test classes
|
|
CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION MEDIUM FINAL.
|
|
PRIVATE SECTION.
|
|
CLASS-DATA gi_environment TYPE REF TO if_osql_test_environment.
|
|
CLASS-METHODS class_setup.
|
|
CLASS-METHODS class_teardown.
|
|
CLASS-METHODS create_envoirment.
|
|
METHODS check_list_subpackages FOR TESTING RAISING zcx_abapgit_exception.
|
|
|
|
ENDCLASS.
|
|
CLASS ltcl_test IMPLEMENTATION.
|
|
|
|
METHOD create_envoirment.
|
|
|
|
DATA lt_tables TYPE if_osql_test_environment=>ty_t_sobjnames.
|
|
DATA ls_tadir TYPE tadir.
|
|
DATA lt_tadir TYPE STANDARD TABLE OF tadir.
|
|
DATA ls_tdevc TYPE tdevc.
|
|
DATA lt_tdevc TYPE STANDARD TABLE OF tdevc.
|
|
|
|
APPEND 'TADIR' TO lt_tables.
|
|
APPEND 'TDEVC' TO lt_tables.
|
|
APPEND 'SOTR_HEADU' TO lt_tables.
|
|
gi_environment = cl_osql_test_environment=>create( lt_tables ).
|
|
|
|
ls_tadir-pgmid = 'R3TR'.
|
|
ls_tadir-object = 'DEVC'.
|
|
ls_tadir-obj_name = 'BASIS'.
|
|
ls_tadir-devclass = 'BASIS'.
|
|
INSERT ls_tadir INTO TABLE lt_tadir.
|
|
|
|
ls_tadir-pgmid = 'R3TR'.
|
|
ls_tadir-object = 'DEVC'.
|
|
ls_tadir-obj_name = '/STMC/FND'.
|
|
ls_tadir-devclass = '/STMC/FND'.
|
|
INSERT ls_tadir INTO TABLE lt_tadir.
|
|
|
|
ls_tadir-pgmid = 'R3TR'.
|
|
ls_tadir-object = 'DTEL'.
|
|
ls_tadir-obj_name = 'DEVCLASS'.
|
|
ls_tadir-devclass = 'BASIS'. "not in reality
|
|
INSERT ls_tadir INTO TABLE lt_tadir.
|
|
|
|
ls_tadir-pgmid = 'R3TR'.
|
|
ls_tadir-object = 'DTEL'.
|
|
ls_tadir-obj_name = 'MATNR'.
|
|
ls_tadir-devclass = 'BASIS'. "not in reality
|
|
INSERT ls_tadir INTO TABLE lt_tadir.
|
|
|
|
gi_environment->insert_test_data( lt_tadir ).
|
|
|
|
ls_tdevc-devclass = 'BASIS'.
|
|
INSERT ls_tdevc INTO TABLE lt_tdevc.
|
|
|
|
ls_tdevc-devclass = '$SWF_RUN_CNT'.
|
|
ls_tdevc-parentcl = '/STMC/FND'. "not in reality
|
|
INSERT ls_tdevc INTO TABLE lt_tdevc.
|
|
|
|
ls_tdevc-devclass = '/STMC/FND'.
|
|
ls_tdevc-parentcl = 'BASIS'. "not in reality
|
|
INSERT ls_tdevc INTO TABLE lt_tdevc.
|
|
|
|
gi_environment->insert_test_data( lt_tdevc ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD check_list_subpackages.
|
|
DATA lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
|
|
|
DATA lt_list TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
|
DATA lt_list2 TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
|
DATA lt_list3 TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
|
|
|
SELECT devclass FROM tdevc
|
|
INTO TABLE lt_list
|
|
WHERE parentcl = 'BASIS'
|
|
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
|
|
|
|
READ TABLE lt_list TRANSPORTING NO FIELDS
|
|
WITH KEY table_line = '/STMC/FND'.
|
|
IF sy-subrc <> 0.
|
|
cl_abap_unit_assert=>fail( |Package /STMC/FND not found as sub package of BASIS| ).
|
|
ENDIF.
|
|
|
|
SELECT devclass FROM tdevc
|
|
INTO TABLE lt_list2
|
|
WHERE parentcl = '/STMC/FND'
|
|
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
|
|
|
|
READ TABLE lt_list2 TRANSPORTING NO FIELDS
|
|
WITH KEY table_line = '$SWF_RUN_CNT'.
|
|
IF sy-subrc <> 0.
|
|
cl_abap_unit_assert=>fail( |Package $SWF_RUN_CNT not found as sub package of /STMC/FND| ).
|
|
ENDIF.
|
|
|
|
SELECT devclass FROM tdevc
|
|
INTO TABLE lt_list3
|
|
FOR ALL ENTRIES IN lt_list
|
|
WHERE parentcl = lt_list-table_line
|
|
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
|
|
|
|
READ TABLE lt_list3 TRANSPORTING NO FIELDS
|
|
WITH KEY table_line = '$SWF_RUN_CNT'.
|
|
IF sy-subrc <> 0.
|
|
cl_abap_unit_assert=>fail( |Package $SWF_RUN_CNT not found as sub package of /STMC/FND with for all entries| ).
|
|
ENDIF.
|
|
|
|
lt_packages = zcl_abapgit_factory=>get_sap_package( 'BASIS' )->list_subpackages( ).
|
|
|
|
READ TABLE lt_packages TRANSPORTING NO FIELDS
|
|
WITH KEY table_line = '$SWF_RUN_CNT'.
|
|
IF sy-subrc <> 0.
|
|
cl_abap_unit_assert=>fail( |Package $SWF_RUN_CNT not found as sub package with method list_subpackages| ).
|
|
ENDIF.
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD class_setup.
|
|
create_envoirment( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD class_teardown.
|
|
IF NOT gi_environment IS INITIAL.
|
|
gi_environment->destroy( ).
|
|
ENDIF.
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|