move some unit tests to global classes (#1210)

This commit is contained in:
Lars Hvam 2018-02-17 12:53:06 +01:00 committed by GitHub
parent 6d603deeb1
commit 85d364d460
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 356 additions and 365 deletions

View File

@ -0,0 +1,177 @@
*"* use this source file for your ABAP unit test classes
CLASS ltcl_persistence_settings DEFINITION FINAL FOR TESTING
DURATION SHORT
RISK LEVEL DANGEROUS.
PRIVATE SECTION.
CLASS-METHODS:
class_setup.
METHODS:
setup,
clear_settings_database,
"Proxy
modify_settings_proxy_url FOR TESTING RAISING cx_static_check,
modify_settings_proxy_port FOR TESTING RAISING cx_static_check,
read_proxy_settings FOR TESTING RAISING cx_static_check,
read_not_found_url FOR TESTING RAISING cx_static_check,
read_not_found_port FOR TESTING RAISING cx_static_check,
"Run critical tests
modify_run_critical_tests FOR TESTING RAISING cx_static_check,
read_run_critical_tests FOR TESTING RAISING cx_static_check,
read_not_found_critical_tests FOR TESTING RAISING cx_static_check.
DATA:
mo_persistence_settings TYPE REF TO zcl_abapgit_persist_settings,
mo_settings TYPE REF TO zcl_abapgit_settings.
ENDCLASS.
CLASS ltcl_persistence_settings IMPLEMENTATION.
METHOD class_setup.
"Objects will be created and deleted, do not run in customer system!
"These tests may fail if you are locking the entries (e.g. the ZABAPGIT transaction is open)
IF zcl_abapgit_persist_settings=>get_instance( )->read( )->get_run_critical_tests( ) = abap_false.
cl_abap_unit_assert=>fail(
msg = 'Cancelled. You can enable these tests at the Settings page'
level = if_aunit_constants=>tolerable ).
ENDIF.
ENDMETHOD.
METHOD setup.
mo_persistence_settings = zcl_abapgit_persist_settings=>get_instance( ).
CREATE OBJECT mo_settings.
clear_settings_database( ).
ENDMETHOD.
METHOD modify_settings_proxy_url.
DATA lv_proxy_url TYPE string.
mo_settings->set_proxy_url( 'http://proxy' ).
mo_persistence_settings->modify( mo_settings ).
lv_proxy_url = zcl_abapgit_persistence_db=>get_instance( )->read(
iv_type = 'SETTINGS'
iv_value = 'PROXY_URL' ).
cl_abap_unit_assert=>assert_equals(
act = lv_proxy_url
exp = 'http://proxy' ).
ENDMETHOD.
METHOD modify_settings_proxy_port.
DATA lv_proxy_port TYPE string.
mo_settings->set_proxy_port( '8080' ).
mo_persistence_settings->modify( mo_settings ).
lv_proxy_port = zcl_abapgit_persistence_db=>get_instance( )->read(
iv_type = 'SETTINGS'
iv_value = 'PROXY_PORT' ).
cl_abap_unit_assert=>assert_equals(
act = lv_proxy_port
exp = '8080' ).
ENDMETHOD.
METHOD read_proxy_settings.
zcl_abapgit_persistence_db=>get_instance( )->modify(
iv_type = 'SETTINGS'
iv_value = 'PROXY_URL'
iv_data = 'A_URL' ).
zcl_abapgit_persistence_db=>get_instance( )->modify(
iv_type = 'SETTINGS'
iv_value = 'PROXY_PORT'
iv_data = '1000' ).
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_url( )
exp = 'A_URL' ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_port( )
exp = '1000' ).
ENDMETHOD.
METHOD read_not_found_port.
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_port( )
exp = '' ).
ENDMETHOD.
METHOD read_not_found_url.
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_url( )
exp = '' ).
ENDMETHOD.
METHOD modify_run_critical_tests.
DATA lv_run_critical_tests TYPE abap_bool.
mo_settings->set_run_critical_tests( abap_true ).
mo_persistence_settings->modify( mo_settings ).
lv_run_critical_tests = zcl_abapgit_persistence_db=>get_instance( )->read(
iv_type = 'SETTINGS'
iv_value = 'CRIT_TESTS' ).
cl_abap_unit_assert=>assert_equals(
act = lv_run_critical_tests
exp = abap_true ).
ENDMETHOD.
METHOD read_run_critical_tests.
zcl_abapgit_persistence_db=>get_instance( )->modify(
iv_type = 'SETTINGS'
iv_value = 'CRIT_TESTS'
iv_data = 'X' ).
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_run_critical_tests( )
exp = abap_true ).
ENDMETHOD.
METHOD read_not_found_critical_tests.
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_run_critical_tests( )
exp = abap_false ).
ENDMETHOD.
METHOD clear_settings_database.
TRY.
zcl_abapgit_persistence_db=>get_instance( )->delete(
iv_type = 'SETTINGS'
iv_value = 'PROXY_URL' ).
CATCH cx_static_check ##NO_HANDLER.
"If entry didn't exist, that's okay
ENDTRY.
TRY.
zcl_abapgit_persistence_db=>get_instance( )->delete(
iv_type = 'SETTINGS'
iv_value = 'PROXY_PORT' ).
CATCH cx_static_check ##NO_HANDLER.
"If entry didn't exist, that's okay
ENDTRY.
TRY.
zcl_abapgit_persistence_db=>get_instance( )->delete(
iv_type = 'SETTINGS'
iv_value = 'CRIT_TESTS' ).
CATCH cx_static_check ##NO_HANDLER.
"If entry didn't exist, that's okay
ENDTRY.
ENDMETHOD.
ENDCLASS.

View File

@ -11,6 +11,7 @@
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
</VSEOCLASS>
<DESCRIPTIONS>
<SEOCOMPOTX>

View File

@ -41,6 +41,7 @@ INCLUDE zabapgit_authorizations_exit IF FOUND.
INCLUDE zabapgit_user_exit IF FOUND.
INCLUDE zabapgit_gui_pages_userexit IF FOUND.
INCLUDE zabapgit_unit_test.
INCLUDE zabapgit_forms.

View File

@ -5,371 +5,6 @@
* todo, should the tests be in the same include as the classes
* they are testing?
CLASS ltcl_critical_tests DEFINITION FINAL FOR TESTING.
PUBLIC SECTION.
CLASS-METHODS:
check_run_permission.
ENDCLASS.
CLASS ltcl_critical_tests IMPLEMENTATION.
METHOD check_run_permission.
DATA: lo_settings TYPE REF TO zcl_abapgit_settings.
lo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ).
"Objects will be created and deleted, do not run in customer system!
"These tests may fail if you are locking the entries (e.g. the ZABAPGIT transaction is open)
IF lo_settings->get_run_critical_tests( ) = abap_false.
cl_abap_unit_assert=>fail(
msg = 'Cancelled. You can enable these tests at the Settings page'
level = if_aunit_constants=>tolerable ).
ENDIF.
ENDMETHOD.
ENDCLASS.
*----------------------------------------------------------------------*
* CLASS ltcl_dangerous DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_dangerous DEFINITION FOR TESTING RISK LEVEL CRITICAL DURATION LONG FINAL.
* if this test class does not run, parameters in transaction SAUNIT_CLIENT_SETUP
* might need to be adjusted
PRIVATE SECTION.
CLASS-METHODS:
class_setup.
METHODS:
run FOR TESTING
RAISING zcx_abapgit_exception.
CONSTANTS: c_package TYPE devclass VALUE '$ABAPGIT_UNIT_TEST'.
ENDCLASS. "ltcl_dangerous DEFINITION
*----------------------------------------------------------------------*
* CLASS ltcl_dangerous IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_dangerous IMPLEMENTATION.
METHOD class_setup.
ltcl_critical_tests=>check_run_permission( ).
ENDMETHOD. "class_setup
METHOD run.
DATA: lo_repo TYPE REF TO zcl_abapgit_repo_online,
lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt,
lv_msg TYPE string,
lt_results TYPE zif_abapgit_definitions=>ty_results_tt,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <ls_result> LIKE LINE OF lt_results,
<ls_tadir> LIKE LINE OF lt_tadir,
<lv_type> LIKE LINE OF lt_types.
zcl_abapgit_sap_package=>create_local( c_package ).
lt_types = zcl_abapgit_objects=>supported_list( ).
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->new_online(
iv_url = 'https://github.com/larshp/abapGit-Unit-Test.git'
iv_branch_name = 'refs/heads/master'
iv_package = c_package ).
lo_repo->status( ).
lo_repo->deserialize( ).
lt_tadir = zcl_abapgit_tadir=>read( c_package ).
LOOP AT lt_types ASSIGNING <lv_type>.
READ TABLE lt_tadir WITH KEY object = <lv_type> TRANSPORTING NO FIELDS.
IF sy-subrc <> 0.
lv_msg = |Missing object type { <lv_type> }|.
cl_abap_unit_assert=>fail(
msg = lv_msg
level = if_aunit_constants=>tolerable
quit = if_aunit_constants=>no ).
ENDIF.
ENDLOOP.
lt_results = lo_repo->status( ).
LOOP AT lt_results ASSIGNING <ls_result> WHERE match = abap_false.
lv_msg = |Does not match { <ls_result>-obj_type } { <ls_result>-obj_name }|.
cl_abap_unit_assert=>fail(
msg = lv_msg
quit = if_aunit_constants=>no ).
ENDLOOP.
zcl_abapgit_objects=>delete( lt_tadir ).
lt_tadir = zcl_abapgit_tadir=>read( c_package ).
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
lv_msg = |Not deleted properly { <ls_tadir>-object } { <ls_tadir>-obj_name }|.
cl_abap_unit_assert=>fail(
msg = lv_msg
quit = if_aunit_constants=>no ).
ENDLOOP.
zcl_abapgit_repo_srv=>get_instance( )->delete( lo_repo ).
COMMIT WORK.
ENDMETHOD. "run
ENDCLASS. "ltcl_dangerous IMPLEMENTATION
*----------------------------------------------------------------------*
* CLASS ltcl_object_types DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_object_types DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
PRIVATE SECTION.
METHODS:
is_supported FOR TESTING,
not_exist FOR TESTING RAISING zcx_abapgit_exception.
ENDCLASS. "ltcl_object_types DEFINITION
*----------------------------------------------------------------------*
* CLASS ltcl_object_types IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_object_types IMPLEMENTATION.
METHOD is_supported.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_supported TYPE abap_bool,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <lv_type> LIKE LINE OF lt_types.
lt_types = zcl_abapgit_objects=>supported_list( ).
LOOP AT lt_types ASSIGNING <lv_type>.
CLEAR ls_item.
ls_item-obj_type = <lv_type>.
lv_supported = zcl_abapgit_objects=>is_supported( ls_item ).
cl_abap_unit_assert=>assert_equals(
act = lv_supported
exp = abap_true
msg = ls_item-obj_type
quit = if_aunit_constants=>no ).
ENDLOOP.
ENDMETHOD. "is_supported
METHOD not_exist.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_exists TYPE abap_bool,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <lv_type> LIKE LINE OF lt_types.
lt_types = zcl_abapgit_objects=>supported_list( ).
LOOP AT lt_types ASSIGNING <lv_type>.
CLEAR ls_item.
ls_item-obj_name = 'ZABAPGIT_FOOBAR'.
ls_item-obj_type = <lv_type>.
lv_exists = zcl_abapgit_objects=>exists( ls_item ).
cl_abap_unit_assert=>assert_equals(
act = lv_exists
exp = abap_false
msg = ls_item-obj_type
quit = if_aunit_constants=>no ).
ENDLOOP.
ENDMETHOD. "not_exist
ENDCLASS. "ltcl_object_types IMPLEMENTATION
CLASS ltcl_persistence_settings DEFINITION FINAL FOR TESTING
DURATION SHORT
RISK LEVEL DANGEROUS.
PRIVATE SECTION.
CLASS-METHODS:
class_setup.
METHODS:
setup,
clear_settings_database,
"Proxy
modify_settings_proxy_url FOR TESTING RAISING cx_static_check,
modify_settings_proxy_port FOR TESTING RAISING cx_static_check,
read_proxy_settings FOR TESTING RAISING cx_static_check,
read_not_found_url FOR TESTING RAISING cx_static_check,
read_not_found_port FOR TESTING RAISING cx_static_check,
"Run critical tests
modify_run_critical_tests FOR TESTING RAISING cx_static_check,
read_run_critical_tests FOR TESTING RAISING cx_static_check,
read_not_found_critical_tests FOR TESTING RAISING cx_static_check.
DATA:
mo_persistence_settings TYPE REF TO zcl_abapgit_persist_settings,
mo_settings TYPE REF TO zcl_abapgit_settings.
ENDCLASS.
CLASS ltcl_persistence_settings IMPLEMENTATION.
METHOD class_setup.
ltcl_critical_tests=>check_run_permission( ).
ENDMETHOD.
METHOD setup.
mo_persistence_settings = zcl_abapgit_persist_settings=>get_instance( ).
CREATE OBJECT mo_settings.
clear_settings_database( ).
ENDMETHOD.
METHOD modify_settings_proxy_url.
DATA lv_proxy_url TYPE string.
mo_settings->set_proxy_url( 'http://proxy' ).
mo_persistence_settings->modify( mo_settings ).
lv_proxy_url = zcl_abapgit_persistence_db=>get_instance( )->read(
iv_type = 'SETTINGS'
iv_value = 'PROXY_URL' ).
cl_abap_unit_assert=>assert_equals(
act = lv_proxy_url
exp = 'http://proxy' ).
ENDMETHOD.
METHOD modify_settings_proxy_port.
DATA lv_proxy_port TYPE string.
mo_settings->set_proxy_port( '8080' ).
mo_persistence_settings->modify( mo_settings ).
lv_proxy_port = zcl_abapgit_persistence_db=>get_instance( )->read(
iv_type = 'SETTINGS'
iv_value = 'PROXY_PORT' ).
cl_abap_unit_assert=>assert_equals(
act = lv_proxy_port
exp = '8080' ).
ENDMETHOD.
METHOD read_proxy_settings.
zcl_abapgit_persistence_db=>get_instance( )->modify(
iv_type = 'SETTINGS'
iv_value = 'PROXY_URL'
iv_data = 'A_URL' ).
zcl_abapgit_persistence_db=>get_instance( )->modify(
iv_type = 'SETTINGS'
iv_value = 'PROXY_PORT'
iv_data = '1000' ).
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_url( )
exp = 'A_URL' ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_port( )
exp = '1000' ).
ENDMETHOD.
METHOD read_not_found_port.
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_port( )
exp = '' ).
ENDMETHOD.
METHOD read_not_found_url.
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_proxy_url( )
exp = '' ).
ENDMETHOD.
METHOD modify_run_critical_tests.
DATA lv_run_critical_tests TYPE abap_bool.
mo_settings->set_run_critical_tests( abap_true ).
mo_persistence_settings->modify( mo_settings ).
lv_run_critical_tests = zcl_abapgit_persistence_db=>get_instance( )->read(
iv_type = 'SETTINGS'
iv_value = 'CRIT_TESTS' ).
cl_abap_unit_assert=>assert_equals(
act = lv_run_critical_tests
exp = abap_true ).
ENDMETHOD.
METHOD read_run_critical_tests.
zcl_abapgit_persistence_db=>get_instance( )->modify(
iv_type = 'SETTINGS'
iv_value = 'CRIT_TESTS'
iv_data = 'X' ).
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_run_critical_tests( )
exp = abap_true ).
ENDMETHOD.
METHOD read_not_found_critical_tests.
mo_settings = mo_persistence_settings->read( ).
cl_abap_unit_assert=>assert_equals(
act = mo_settings->get_run_critical_tests( )
exp = abap_false ).
ENDMETHOD.
METHOD clear_settings_database.
TRY.
zcl_abapgit_persistence_db=>get_instance( )->delete(
iv_type = 'SETTINGS'
iv_value = 'PROXY_URL' ).
CATCH cx_static_check ##NO_HANDLER.
"If entry didn't exist, that's okay
ENDTRY.
TRY.
zcl_abapgit_persistence_db=>get_instance( )->delete(
iv_type = 'SETTINGS'
iv_value = 'PROXY_PORT' ).
CATCH cx_static_check ##NO_HANDLER.
"If entry didn't exist, that's okay
ENDTRY.
TRY.
zcl_abapgit_persistence_db=>get_instance( )->delete(
iv_type = 'SETTINGS'
iv_value = 'CRIT_TESTS' ).
CATCH cx_static_check ##NO_HANDLER.
"If entry didn't exist, that's okay
ENDTRY.
ENDMETHOD.
ENDCLASS.
*CLASS ltcl_oo_serialize DEFINITION FINAL FOR TESTING
* DURATION SHORT
* RISK LEVEL HARMLESS.

View File

@ -1,5 +1,182 @@
*"* use this source file for your ABAP unit test classes
*----------------------------------------------------------------------*
* CLASS ltcl_dangerous DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_dangerous DEFINITION FOR TESTING RISK LEVEL CRITICAL DURATION LONG FINAL.
* if this test class does not run, parameters in transaction SAUNIT_CLIENT_SETUP
* might need to be adjusted
PRIVATE SECTION.
CLASS-METHODS:
class_setup.
METHODS:
run FOR TESTING
RAISING zcx_abapgit_exception.
CONSTANTS: c_package TYPE devclass VALUE '$ABAPGIT_UNIT_TEST'.
ENDCLASS. "ltcl_dangerous DEFINITION
*----------------------------------------------------------------------*
* CLASS ltcl_dangerous IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_dangerous IMPLEMENTATION.
METHOD class_setup.
"Objects will be created and deleted, do not run in customer system!
"These tests may fail if you are locking the entries (e.g. the ZABAPGIT transaction is open)
IF zcl_abapgit_persist_settings=>get_instance( )->read( )->get_run_critical_tests( ) = abap_false.
cl_abap_unit_assert=>fail(
msg = 'Cancelled. You can enable these tests at the Settings page'
level = if_aunit_constants=>tolerable ).
ENDIF.
ENDMETHOD. "class_setup
METHOD run.
DATA: lo_repo TYPE REF TO zcl_abapgit_repo_online,
lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt,
lv_msg TYPE string,
lt_results TYPE zif_abapgit_definitions=>ty_results_tt,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <ls_result> LIKE LINE OF lt_results,
<ls_tadir> LIKE LINE OF lt_tadir,
<lv_type> LIKE LINE OF lt_types.
zcl_abapgit_sap_package=>create_local( c_package ).
lt_types = zcl_abapgit_objects=>supported_list( ).
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->new_online(
iv_url = 'https://github.com/larshp/abapGit-Unit-Test.git'
iv_branch_name = 'refs/heads/master'
iv_package = c_package ).
lo_repo->status( ).
lo_repo->deserialize( ).
lt_tadir = zcl_abapgit_tadir=>read( c_package ).
LOOP AT lt_types ASSIGNING <lv_type>.
READ TABLE lt_tadir WITH KEY object = <lv_type> TRANSPORTING NO FIELDS.
IF sy-subrc <> 0.
lv_msg = |Missing object type { <lv_type> }|.
cl_abap_unit_assert=>fail(
msg = lv_msg
level = if_aunit_constants=>tolerable
quit = if_aunit_constants=>no ).
ENDIF.
ENDLOOP.
lt_results = lo_repo->status( ).
LOOP AT lt_results ASSIGNING <ls_result> WHERE match = abap_false.
lv_msg = |Does not match { <ls_result>-obj_type } { <ls_result>-obj_name }|.
cl_abap_unit_assert=>fail(
msg = lv_msg
quit = if_aunit_constants=>no ).
ENDLOOP.
zcl_abapgit_objects=>delete( lt_tadir ).
lt_tadir = zcl_abapgit_tadir=>read( c_package ).
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
lv_msg = |Not deleted properly { <ls_tadir>-object } { <ls_tadir>-obj_name }|.
cl_abap_unit_assert=>fail(
msg = lv_msg
quit = if_aunit_constants=>no ).
ENDLOOP.
zcl_abapgit_repo_srv=>get_instance( )->delete( lo_repo ).
COMMIT WORK.
ENDMETHOD. "run
ENDCLASS. "ltcl_dangerous IMPLEMENTATION
*----------------------------------------------------------------------*
* CLASS ltcl_object_types DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_object_types DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
PRIVATE SECTION.
METHODS:
is_supported FOR TESTING,
not_exist FOR TESTING RAISING zcx_abapgit_exception.
ENDCLASS. "ltcl_object_types DEFINITION
*----------------------------------------------------------------------*
* CLASS ltcl_object_types IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS ltcl_object_types IMPLEMENTATION.
METHOD is_supported.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_supported TYPE abap_bool,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <lv_type> LIKE LINE OF lt_types.
lt_types = zcl_abapgit_objects=>supported_list( ).
LOOP AT lt_types ASSIGNING <lv_type>.
CLEAR ls_item.
ls_item-obj_type = <lv_type>.
lv_supported = zcl_abapgit_objects=>is_supported( ls_item ).
cl_abap_unit_assert=>assert_equals(
act = lv_supported
exp = abap_true
msg = ls_item-obj_type
quit = if_aunit_constants=>no ).
ENDLOOP.
ENDMETHOD. "is_supported
METHOD not_exist.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_exists TYPE abap_bool,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <lv_type> LIKE LINE OF lt_types.
lt_types = zcl_abapgit_objects=>supported_list( ).
LOOP AT lt_types ASSIGNING <lv_type>.
CLEAR ls_item.
ls_item-obj_name = 'ZABAPGIT_FOOBAR'.
ls_item-obj_type = <lv_type>.
lv_exists = zcl_abapgit_objects=>exists( ls_item ).
cl_abap_unit_assert=>assert_equals(
act = lv_exists
exp = abap_false
msg = ls_item-obj_type
quit = if_aunit_constants=>no ).
ENDLOOP.
ENDMETHOD. "not_exist
ENDCLASS. "ltcl_object_types IMPLEMENTATION
*----------------------------------------------------------------------*
* CLASS ltcl_serialize DEFINITION
*----------------------------------------------------------------------*