mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
176 lines
5.2 KiB
ABAP
176 lines
5.2 KiB
ABAP
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.
|