abapGit/src/zcl_abapgit_folder_logic.clas.testclasses.abap
2018-06-18 15:37:16 +02:00

280 lines
7.1 KiB
ABAP

CLASS ltcl_folder_logic_helper DEFINITION FOR TESTING FINAL.
PUBLIC SECTION.
CLASS-METHODS: test
IMPORTING
iv_starting TYPE string
iv_top TYPE devclass
iv_logic TYPE string
iv_package TYPE devclass
iv_path TYPE string
RAISING zcx_abapgit_exception.
ENDCLASS.
CLASS ltcl_folder_logic_helper IMPLEMENTATION.
METHOD test.
DATA: lv_path TYPE string,
lv_package TYPE devclass,
lo_dot TYPE REF TO zcl_abapgit_dot_abapgit.
lo_dot = zcl_abapgit_dot_abapgit=>build_default( ).
lo_dot->set_starting_folder( iv_starting ).
lo_dot->set_folder_logic( iv_logic ).
lv_package = zcl_abapgit_folder_logic=>path_to_package(
iv_top = iv_top
io_dot = lo_dot
iv_path = iv_path ).
lv_path = zcl_abapgit_folder_logic=>package_to_path(
iv_top = iv_top
io_dot = lo_dot
iv_package = iv_package ).
cl_abap_unit_assert=>assert_equals(
act = lv_package
exp = iv_package ).
cl_abap_unit_assert=>assert_equals(
act = lv_path
exp = iv_path ).
ENDMETHOD.
ENDCLASS.
CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
PUBLIC SECTION.
INTERFACES: zif_abapgit_sap_package.
PRIVATE SECTION.
CONSTANTS: c_top TYPE devclass VALUE '$TOP',
c_src TYPE string VALUE '/src/'.
METHODS:
setup,
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
prefix_error1 FOR TESTING RAISING zcx_abapgit_exception,
full1 FOR TESTING RAISING zcx_abapgit_exception,
full2 FOR TESTING RAISING zcx_abapgit_exception.
ENDCLASS. "ltcl_convert DEFINITION
CLASS ltcl_folder_logic IMPLEMENTATION.
METHOD zif_abapgit_sap_package~list_subpackages.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~list_superpackages.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~read_parent.
rv_parentcl = '$TOP'.
ENDMETHOD.
METHOD zif_abapgit_sap_package~create_child.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~exists.
rv_bool = abap_true.
ENDMETHOD.
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~get_transport_type.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~create.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~create_local.
RETURN.
ENDMETHOD.
METHOD setup.
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP'
ii_sap_package = me ).
zcl_abapgit_injector=>set_sap_package( iv_package = '$TOP_FOO'
ii_sap_package = me ).
zcl_abapgit_injector=>set_sap_package( iv_package = '$FOOBAR'
ii_sap_package = me ).
ENDMETHOD.
METHOD prefix1.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
iv_package = c_top
iv_path = c_src ).
ENDMETHOD.
METHOD prefix2.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
iv_package = '$TOP_FOO'
iv_path = '/src/foo/' ).
ENDMETHOD.
METHOD prefix_error1.
* PREFIX mode, top package is $TOP, so all subpackages should be named $TOP_something
TRY.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
iv_package = '$FOOBAR'
iv_path = '/src/' ).
cl_abap_unit_assert=>fail( 'Error expected' ).
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDMETHOD.
METHOD full1.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-full
iv_package = c_top
iv_path = c_src ).
ENDMETHOD.
METHOD full2.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-full
iv_package = '$TOP_FOO'
iv_path = '/src/top_foo/' ).
ENDMETHOD.
ENDCLASS.
CLASS ltcl_folder_logic_namespaces DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
PUBLIC SECTION.
INTERFACES: zif_abapgit_sap_package.
PRIVATE SECTION.
CONSTANTS: c_top TYPE devclass VALUE '/TEST/TOOLS',
c_src TYPE string VALUE '/src/'.
METHODS:
setup,
prefix1 FOR TESTING RAISING zcx_abapgit_exception,
prefix2 FOR TESTING RAISING zcx_abapgit_exception,
full1 FOR TESTING RAISING zcx_abapgit_exception,
full2 FOR TESTING RAISING zcx_abapgit_exception.
ENDCLASS. "ltcl_convert DEFINITION
CLASS ltcl_folder_logic_namespaces IMPLEMENTATION.
METHOD zif_abapgit_sap_package~list_subpackages.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~list_superpackages.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~read_parent.
rv_parentcl = c_top.
ENDMETHOD.
METHOD zif_abapgit_sap_package~create_child.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~exists.
rv_bool = abap_true.
ENDMETHOD.
METHOD zif_abapgit_sap_package~get_transport_type.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~create.
RETURN.
ENDMETHOD.
METHOD zif_abapgit_sap_package~create_local.
RETURN.
ENDMETHOD.
METHOD setup.
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/TOOLS'
ii_sap_package = me ).
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/T1'
ii_sap_package = me ).
zcl_abapgit_injector=>set_sap_package( iv_package = '/TEST/TOOLS_T1'
ii_sap_package = me ).
ENDMETHOD.
METHOD prefix1.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
iv_package = c_top
iv_path = c_src ).
ENDMETHOD.
METHOD prefix2.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
iv_package = '/TEST/TOOLS_T1'
iv_path = '/src/t1/' ).
ENDMETHOD.
METHOD full1.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-full
iv_package = c_top
iv_path = c_src ).
ENDMETHOD.
METHOD full2.
ltcl_folder_logic_helper=>test(
iv_starting = c_src
iv_top = c_top
iv_logic = zif_abapgit_dot_abapgit=>c_folder_logic-full
iv_package = '/TEST/T1'
iv_path = '/src/#test#t1/' ).
ENDMETHOD.
ENDCLASS.