mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Add unit tests for ZCL_ABAPGIT_GUI_PAGE_SETT_REMO->VALIDATE_FORM
(#6712)
Co-authored-by: Lars Hvam <larshp@hotmail.com> Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
parent
78aaf52046
commit
fbd9e70fa5
|
@ -1,22 +1,42 @@
|
|||
CLASS zcl_abapgit_git_factory DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
CREATE PRIVATE
|
||||
GLOBAL FRIENDS zcl_abapgit_git_injector .
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS
|
||||
CLASS-METHODS:
|
||||
get_v2_porcelain
|
||||
RETURNING VALUE(ri_v2) TYPE REF TO zif_abapgit_gitv2_porcelain.
|
||||
RETURNING VALUE(ri_v2) TYPE REF TO zif_abapgit_gitv2_porcelain,
|
||||
|
||||
get_git_transport
|
||||
RETURNING
|
||||
VALUE(ri_git_transport) TYPE REF TO zif_abapgit_git_transport.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA:
|
||||
gi_git_transport TYPE REF TO zif_abapgit_git_transport.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_GIT_FACTORY IMPLEMENTATION.
|
||||
|
||||
CLASS zcl_abapgit_git_factory IMPLEMENTATION.
|
||||
|
||||
METHOD get_v2_porcelain.
|
||||
CREATE OBJECT ri_v2 TYPE zcl_abapgit_gitv2_porcelain.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_git_transport.
|
||||
|
||||
IF gi_git_transport IS INITIAL.
|
||||
CREATE OBJECT gi_git_transport TYPE zcl_abapgit_git_transport.
|
||||
ENDIF.
|
||||
|
||||
ri_git_transport = gi_git_transport.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
22
src/git/zcl_abapgit_git_injector.clas.abap
Normal file
22
src/git/zcl_abapgit_git_injector.clas.abap
Normal file
|
@ -0,0 +1,22 @@
|
|||
CLASS zcl_abapgit_git_injector DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PRIVATE .
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
set_git_transport
|
||||
IMPORTING
|
||||
ii_git_transport TYPE REF TO zif_abapgit_git_transport.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_git_injector IMPLEMENTATION.
|
||||
|
||||
METHOD set_git_transport.
|
||||
zcl_abapgit_git_factory=>gi_git_transport = ii_git_transport.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
16
src/git/zcl_abapgit_git_injector.clas.xml
Normal file
16
src/git/zcl_abapgit_git_injector.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_ABAPGIT_GIT_INJECTOR</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abapGit - Git Injector</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -358,7 +358,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
lt_tags TYPE zif_abapgit_git_definitions=>ty_git_branch_list_tt.
|
||||
|
||||
" For annotated tags, find the correct commit
|
||||
lo_branches = zcl_abapgit_git_transport=>branches( iv_url ).
|
||||
lo_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( iv_url ).
|
||||
lt_tags = lo_branches->get_tags_only( ).
|
||||
lv_tag = zcl_abapgit_git_tag=>remove_peel( is_tag-name ).
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@ CLASS zcl_abapgit_git_transport DEFINITION
|
|||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES:
|
||||
zif_abapgit_git_transport.
|
||||
|
||||
* remote to local
|
||||
CLASS-METHODS upload_pack_by_branch
|
||||
|
@ -39,11 +41,12 @@ CLASS zcl_abapgit_git_transport DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
CLASS-METHODS branches
|
||||
IMPORTING
|
||||
!iv_url TYPE string
|
||||
iv_url TYPE string
|
||||
RETURNING
|
||||
VALUE(ro_branch_list) TYPE REF TO zcl_abapgit_git_branch_list
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
|
@ -102,7 +105,7 @@ ENDCLASS.
|
|||
CLASS zcl_abapgit_git_transport IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD branches.
|
||||
METHOD zif_abapgit_git_transport~branches.
|
||||
|
||||
DATA: lo_client TYPE REF TO zcl_abapgit_http_client.
|
||||
|
||||
|
@ -439,4 +442,13 @@ CLASS zcl_abapgit_git_transport IMPLEMENTATION.
|
|||
it_hashes = lt_hashes ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD branches.
|
||||
|
||||
" This method is kept for compatibility reasons
|
||||
ro_branch_list = zcl_abapgit_git_factory=>get_git_transport( )->branches( iv_url ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
11
src/git/zif_abapgit_git_transport.intf.abap
Normal file
11
src/git/zif_abapgit_git_transport.intf.abap
Normal file
|
@ -0,0 +1,11 @@
|
|||
INTERFACE zif_abapgit_git_transport
|
||||
PUBLIC .
|
||||
METHODS branches
|
||||
IMPORTING
|
||||
iv_url TYPE string
|
||||
RETURNING
|
||||
VALUE(ro_branch_list) TYPE REF TO zcl_abapgit_git_branch_list
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
ENDINTERFACE.
|
15
src/git/zif_abapgit_git_transport.intf.xml
Normal file
15
src/git/zif_abapgit_git_transport.intf.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOINTERF>
|
||||
<CLSNAME>ZIF_ABAPGIT_GIT_TRANSPORT</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abapGit - Git Transport</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOINTERF>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -252,7 +252,7 @@ CLASS zcl_abapgit_merge IMPLEMENTATION.
|
|||
DATA: lo_branch_list TYPE REF TO zcl_abapgit_git_branch_list,
|
||||
lt_upload TYPE zif_abapgit_git_definitions=>ty_git_branch_list_tt.
|
||||
|
||||
lo_branch_list = zcl_abapgit_git_transport=>branches( ms_merge-repo->get_url( ) ).
|
||||
lo_branch_list = zcl_abapgit_git_factory=>get_git_transport( )->branches( ms_merge-repo->get_url( ) ).
|
||||
|
||||
ms_merge-source = lo_branch_list->find_by_name(
|
||||
zcl_abapgit_git_branch_list=>complete_heads_branch_name( mv_source_branch ) ).
|
||||
|
|
|
@ -152,7 +152,7 @@ CLASS zcl_abapgit_repo_online IMPLEMENTATION.
|
|||
lt_branches TYPE zif_abapgit_git_definitions=>ty_git_branch_list_tt,
|
||||
lv_display_name TYPE string.
|
||||
|
||||
lt_branches = zcl_abapgit_git_transport=>branches( get_url( ) )->get_branches_only( ).
|
||||
lt_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( get_url( ) )->get_branches_only( ).
|
||||
|
||||
READ TABLE lt_branches WITH TABLE KEY name_key
|
||||
COMPONENTS name = iv_name
|
||||
|
@ -181,7 +181,7 @@ CLASS zcl_abapgit_repo_online IMPLEMENTATION.
|
|||
lv_branch = get_selected_branch( ).
|
||||
|
||||
IF lv_branch IS NOT INITIAL.
|
||||
lo_branch_list = zcl_abapgit_git_transport=>branches( get_url( ) ).
|
||||
lo_branch_list = zcl_abapgit_git_factory=>get_git_transport( )->branches( get_url( ) ).
|
||||
|
||||
TRY.
|
||||
lo_branch_list->find_by_name( lv_branch ).
|
||||
|
|
|
@ -100,7 +100,7 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
|
|||
rv_name = iv_name.
|
||||
IF rv_name IS INITIAL.
|
||||
ASSERT NOT iv_url IS INITIAL.
|
||||
lo_branch_list = zcl_abapgit_git_transport=>branches( iv_url ).
|
||||
lo_branch_list = zcl_abapgit_git_factory=>get_git_transport( )->branches( iv_url ).
|
||||
rv_name = lo_branch_list->get_head_symref( ).
|
||||
ELSEIF -1 = find(
|
||||
val = rv_name
|
||||
|
|
|
@ -449,7 +449,9 @@ CLASS zcl_abapgit_gui_page_commit IMPLEMENTATION.
|
|||
lv_new_branch_name = io_form_data->get( c_id-new_branch_name ).
|
||||
IF lv_new_branch_name IS NOT INITIAL.
|
||||
" check if branch already exists
|
||||
lt_branches = zcl_abapgit_git_transport=>branches( mo_repo->get_url( ) )->get_branches_only( ).
|
||||
lt_branches = zcl_abapgit_git_factory=>get_git_transport(
|
||||
)->branches( mo_repo->get_url( )
|
||||
)->get_branches_only( ).
|
||||
READ TABLE lt_branches TRANSPORTING NO FIELDS WITH TABLE KEY name_key
|
||||
COMPONENTS name = branch_name_to_internal( lv_new_branch_name ).
|
||||
IF sy-subrc = 0.
|
||||
|
|
|
@ -141,7 +141,7 @@ CLASS zcl_abapgit_gui_page_merge_sel IMPLEMENTATION.
|
|||
|
||||
DATA lo_branches TYPE REF TO zcl_abapgit_git_branch_list.
|
||||
|
||||
lo_branches = zcl_abapgit_git_transport=>branches( mo_repo->get_url( ) ).
|
||||
lo_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( mo_repo->get_url( ) ).
|
||||
mt_branches = lo_branches->get_branches_only( ).
|
||||
|
||||
DELETE mt_branches WHERE name = zif_abapgit_git_definitions=>c_head_name.
|
||||
|
|
|
@ -763,7 +763,7 @@ CLASS zcl_abapgit_gui_page_sett_remo IMPLEMENTATION.
|
|||
iv_val = c_head_types-branch ).
|
||||
|
||||
IF lv_url CP 'http*'.
|
||||
lv_branch = zcl_abapgit_git_transport=>branches( lv_url )->get_head_symref( ).
|
||||
lv_branch = zcl_abapgit_git_factory=>get_git_transport( )->branches( lv_url )->get_head_symref( ).
|
||||
mo_form_data->set(
|
||||
iv_key = c_id-branch
|
||||
iv_val = lv_branch ).
|
||||
|
@ -903,7 +903,7 @@ CLASS zcl_abapgit_gui_page_sett_remo IMPLEMENTATION.
|
|||
|
||||
TRY.
|
||||
IF lv_branch IS NOT INITIAL.
|
||||
lo_branch_list = zcl_abapgit_git_transport=>branches( lv_url ).
|
||||
lo_branch_list = zcl_abapgit_git_factory=>get_git_transport( )->branches( lv_url ).
|
||||
lo_branch_list->find_by_name( lv_branch ).
|
||||
ENDIF.
|
||||
CATCH zcx_abapgit_exception INTO lx_error.
|
||||
|
|
|
@ -0,0 +1,470 @@
|
|||
*"* use this source file for your ABAP unit test classes
|
||||
|
||||
CLASS ltd_git_transport DEFINITION FINAL FOR TESTING.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES:
|
||||
zif_abapgit_git_transport.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltd_branch_list DEFINITION FINAL FOR TESTING INHERITING FROM zcl_abapgit_git_branch_list.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING
|
||||
iv_data TYPE string
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
find_by_name REDEFINITION.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltd_frontend_services DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES:
|
||||
zif_abapgit_frontend_services.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ltcl_validate_form DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS:
|
||||
c_git_repo_url TYPE string VALUE 'https://repo.com/demo.git'.
|
||||
|
||||
DATA:
|
||||
mo_cut TYPE REF TO zcl_abapgit_gui_page_sett_remo,
|
||||
|
||||
mo_repo TYPE REF TO zcl_abapgit_repo_online,
|
||||
mo_given_form_data TYPE REF TO zcl_abapgit_string_map,
|
||||
mo_act_validation_log TYPE REF TO zcl_abapgit_string_map,
|
||||
|
||||
mo_git_transport_mock TYPE REF TO zif_abapgit_git_transport,
|
||||
mo_frontend_services_mock TYPE REF TO zif_abapgit_frontend_services.
|
||||
|
||||
METHODS:
|
||||
setup RAISING cx_static_check,
|
||||
teardown RAISING cx_static_check,
|
||||
|
||||
switch_to_offline_no_error FOR TESTING RAISING cx_static_check,
|
||||
invalid_url FOR TESTING RAISING cx_static_check,
|
||||
invalid_url2 FOR TESTING RAISING cx_static_check,
|
||||
valid_url_no_head_type FOR TESTING RAISING cx_static_check,
|
||||
|
||||
invalid_branch FOR TESTING RAISING cx_static_check,
|
||||
valid_branch FOR TESTING RAISING cx_static_check,
|
||||
|
||||
invalid_tag FOR TESTING RAISING cx_static_check,
|
||||
valid_tag FOR TESTING RAISING cx_static_check,
|
||||
|
||||
invalid_pull_request FOR TESTING RAISING cx_static_check,
|
||||
valid_pull_request FOR TESTING RAISING cx_static_check,
|
||||
|
||||
invalid_commit FOR TESTING RAISING cx_static_check,
|
||||
valid_commit FOR TESTING RAISING cx_static_check,
|
||||
|
||||
when_validate_form
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
then_no_error_shd_occur,
|
||||
then_error_shd_occur
|
||||
IMPORTING
|
||||
iv_exp_error_key TYPE string.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS zcl_abapgit_gui_page_sett_remo DEFINITION LOCAL FRIENDS ltcl_validate_form.
|
||||
|
||||
CLASS ltd_git_transport IMPLEMENTATION.
|
||||
|
||||
METHOD zif_abapgit_git_transport~branches.
|
||||
|
||||
CONSTANTS: lc_dummy_data TYPE string VALUE '0000'.
|
||||
|
||||
CREATE OBJECT ro_branch_list TYPE ltd_branch_list
|
||||
EXPORTING
|
||||
iv_data = lc_dummy_data.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltd_branch_list IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
super->constructor( iv_data ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD find_by_name.
|
||||
|
||||
IF iv_branch_name CS 'feature'
|
||||
OR iv_branch_name CS 'inv_tag'
|
||||
OR iv_branch_name CS 'inv_pr'
|
||||
OR iv_branch_name IS INITIAL.
|
||||
RAISE EXCEPTION TYPE zcx_abapgit_exception.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltd_frontend_services IMPLEMENTATION.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~clipboard_export.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~directory_browse.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~directory_create.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~directory_exist.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~execute.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~file_download.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~file_upload.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~get_file_separator.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~get_gui_version.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~get_system_directory.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~gui_is_available.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~is_sapgui_for_java.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~is_sapgui_for_windows.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~is_webgui.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~open_ie_devtools.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~show_file_open_dialog.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_frontend_services~show_file_save_dialog.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_validate_form IMPLEMENTATION.
|
||||
|
||||
METHOD setup.
|
||||
|
||||
DATA: ls_data TYPE zif_abapgit_persistence=>ty_repo.
|
||||
|
||||
CREATE OBJECT mo_git_transport_mock TYPE ltd_git_transport.
|
||||
zcl_abapgit_git_injector=>set_git_transport( mo_git_transport_mock ).
|
||||
|
||||
CREATE OBJECT mo_frontend_services_mock TYPE ltd_frontend_services.
|
||||
zcl_abapgit_ui_injector=>set_frontend_services( mo_frontend_services_mock ).
|
||||
|
||||
ls_data-key = 1.
|
||||
ls_data-branch_name = 'main'.
|
||||
|
||||
CREATE OBJECT mo_repo EXPORTING is_data = ls_data.
|
||||
|
||||
CREATE OBJECT mo_given_form_data.
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-branch
|
||||
iv_val = 'main' ).
|
||||
|
||||
CREATE OBJECT mo_cut EXPORTING io_repo = mo_repo.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD teardown.
|
||||
|
||||
CLEAR:
|
||||
mo_git_transport_mock,
|
||||
mo_frontend_services_mock.
|
||||
zcl_abapgit_git_injector=>set_git_transport( mo_git_transport_mock ).
|
||||
zcl_abapgit_ui_injector=>set_frontend_services( mo_frontend_services_mock ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD switch_to_offline_no_error.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_true ).
|
||||
when_validate_form( ).
|
||||
then_no_error_shd_occur( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD invalid_url.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = 'http://test' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-url ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD invalid_url2.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = 'test' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-url ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD valid_url_no_head_type.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-head_type ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD invalid_branch.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-branch
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-branch
|
||||
iv_val = 'feature' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-branch ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD valid_branch.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-branch
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-branch
|
||||
iv_val = 'main' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_no_error_shd_occur( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD invalid_tag.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-tag
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-tag
|
||||
iv_val = 'inv_tag' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-tag ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD valid_tag.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-tag
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-tag
|
||||
iv_val = 'v1.1.3' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_no_error_shd_occur( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD invalid_pull_request.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-pull_request
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-pull_request
|
||||
iv_val = 'x@inv_pr' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-pull_request ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD valid_pull_request.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-pull_request
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-pull_request
|
||||
iv_val = 'x@pr' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_no_error_shd_occur( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD invalid_commit.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-commit
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-commit
|
||||
iv_val = 'ABCD1234' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_error_shd_occur( zcl_abapgit_gui_page_sett_remo=>c_id-commit ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD valid_commit.
|
||||
|
||||
mo_given_form_data->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-offline
|
||||
iv_val = abap_false
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-url
|
||||
iv_val = c_git_repo_url
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-head_type
|
||||
iv_val = zcl_abapgit_gui_page_sett_remo=>c_head_types-commit
|
||||
)->set(
|
||||
iv_key = zcl_abapgit_gui_page_sett_remo=>c_id-commit
|
||||
iv_val = '1d4abf5342a939202ae24ab4a5ad78da3cad24fb' ).
|
||||
|
||||
when_validate_form( ).
|
||||
then_no_error_shd_occur( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD when_validate_form.
|
||||
|
||||
mo_act_validation_log = mo_cut->validate_form( mo_given_form_data ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD then_no_error_shd_occur.
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = abap_true
|
||||
act = mo_act_validation_log->is_empty( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD then_error_shd_occur.
|
||||
|
||||
cl_abap_unit_assert=>assert_not_initial( mo_act_validation_log->get( iv_exp_error_key ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -10,6 +10,7 @@
|
|||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
|
|
|
@ -300,7 +300,7 @@ CLASS zcl_abapgit_gui_page_tags IMPLEMENTATION.
|
|||
|
||||
IF lv_new_tag_name IS NOT INITIAL.
|
||||
" Check if tag already exists
|
||||
lt_tags = zcl_abapgit_git_transport=>branches( mo_repo->get_url( ) )->get_tags_only( ).
|
||||
lt_tags = zcl_abapgit_git_factory=>get_git_transport( )->branches( mo_repo->get_url( ) )->get_tags_only( ).
|
||||
|
||||
READ TABLE lt_tags TRANSPORTING NO FIELDS WITH TABLE KEY name_key
|
||||
COMPONENTS name = zcl_abapgit_git_tag=>add_tag_prefix( lv_new_tag_name ).
|
||||
|
|
|
@ -75,7 +75,7 @@ CLASS zcl_abapgit_popup_branch_list IMPLEMENTATION.
|
|||
|
||||
FIELD-SYMBOLS <ls_branch> LIKE LINE OF rt_branches.
|
||||
|
||||
lo_branches = zcl_abapgit_git_transport=>branches( mv_repo_url ).
|
||||
lo_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( mv_repo_url ).
|
||||
rt_branches = lo_branches->get_branches_only( ).
|
||||
lv_head_symref = lo_branches->get_head_symref( ).
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ CLASS zcl_abapgit_popup_tag_list IMPLEMENTATION.
|
|||
|
||||
DATA lo_branches TYPE REF TO zcl_abapgit_git_branch_list.
|
||||
|
||||
lo_branches = zcl_abapgit_git_transport=>branches( mv_repo_url ).
|
||||
lo_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( mv_repo_url ).
|
||||
rt_tags = lo_branches->get_tags_only( ).
|
||||
|
||||
DELETE rt_tags WHERE name CP '*' && zif_abapgit_git_definitions=>c_git_branch-peel.
|
||||
|
|
|
@ -180,7 +180,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
|||
<ls_branch> LIKE LINE OF lt_branches.
|
||||
|
||||
|
||||
lo_branches = zcl_abapgit_git_transport=>branches( iv_url ).
|
||||
lo_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( iv_url ).
|
||||
lt_branches = lo_branches->get_branches_only( ).
|
||||
lv_head_suffix = | ({ zif_abapgit_git_definitions=>c_head_name })|.
|
||||
lv_head_symref = lo_branches->get_head_symref( ).
|
||||
|
@ -847,7 +847,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
|||
<ls_tag> LIKE LINE OF lt_tags.
|
||||
|
||||
|
||||
lo_branches = zcl_abapgit_git_transport=>branches( iv_url ).
|
||||
lo_branches = zcl_abapgit_git_factory=>get_git_transport( )->branches( iv_url ).
|
||||
lt_tags = lo_branches->get_tags_only( ).
|
||||
|
||||
LOOP AT lt_tags ASSIGNING <ls_tag> WHERE name NP '*' && zif_abapgit_git_definitions=>c_git_branch-peel.
|
||||
|
|
|
@ -34,7 +34,7 @@ CLASS ltcl_test IMPLEMENTATION.
|
|||
CREATE OBJECT li_memory.
|
||||
zcl_abapgit_persist_injector=>set_settings( li_memory ).
|
||||
|
||||
lv_ref = zcl_abapgit_git_transport=>branches( lc_url )->get_head_symref( ).
|
||||
lv_ref = zcl_abapgit_git_factory=>get_git_transport( )->branches( lc_url )->get_head_symref( ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_ref
|
||||
|
|
Loading…
Reference in New Issue
Block a user