news feature #1450 (#1453)

now works for both "/abapGit" and "/abapGit.git" urls
This commit is contained in:
Lars Hvam 2018-06-06 16:23:23 +02:00 committed by GitHub
parent aff81df37e
commit 41344dec3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 71 additions and 3 deletions

View File

@ -47,6 +47,11 @@ CLASS zcl_abapgit_news DEFINITION
DATA mv_lastseen_version TYPE string . DATA mv_lastseen_version TYPE string .
DATA mv_latest_version TYPE string . DATA mv_latest_version TYPE string .
CLASS-METHODS is_relevant
IMPORTING
!iv_url TYPE string
RETURNING
VALUE(rv_relevant) TYPE abap_bool .
METHODS latest_version METHODS latest_version
RETURNING RETURNING
VALUE(rv_version) TYPE string . VALUE(rv_version) TYPE string .
@ -156,8 +161,7 @@ CLASS ZCL_ABAPGIT_NEWS IMPLEMENTATION.
lo_repo_online ?= io_repo. lo_repo_online ?= io_repo.
lv_url = lo_repo_online->get_url( ). lv_url = lo_repo_online->get_url( ).
" News announcement temporary restricted to abapGit only IF is_relevant( lv_url ) = abap_false.
IF lv_url NS '/abapGit.git'. " TODO refactor
RETURN. RETURN.
ENDIF. ENDIF.
@ -172,7 +176,6 @@ CLASS ZCL_ABAPGIT_NEWS IMPLEMENTATION.
READ TABLE lt_remote ASSIGNING <ls_file> READ TABLE lt_remote ASSIGNING <ls_file>
WITH KEY path = lc_log_path filename = lc_log_filename. WITH KEY path = lc_log_path filename = lc_log_filename.
IF sy-subrc = 0. IF sy-subrc = 0.
CREATE OBJECT ro_instance CREATE OBJECT ro_instance
EXPORTING EXPORTING
@ -220,6 +223,16 @@ CLASS ZCL_ABAPGIT_NEWS IMPLEMENTATION.
ENDMETHOD. "has_updates ENDMETHOD. "has_updates
METHOD is_relevant.
" News announcement restricted to abapGit only
IF iv_url CS '/abapGit' OR iv_url CS '/abapGit.git'.
rv_relevant = abap_true.
ENDIF.
ENDMETHOD.
METHOD latest_version. METHOD latest_version.
rv_version = me->mv_latest_version. rv_version = me->mv_latest_version.
ENDMETHOD. "latest_version ENDMETHOD. "latest_version

View File

@ -1,5 +1,60 @@
*"* use this source file for your ABAP unit test classes *"* use this source file for your ABAP unit test classes
CLASS ltcl_relevant DEFINITION DEFERRED.
CLASS zcl_abapgit_news DEFINITION LOCAL FRIENDS ltcl_relevant.
CLASS ltcl_relevant DEFINITION FINAL FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
PRIVATE SECTION.
METHODS:
test01 FOR TESTING,
test02 FOR TESTING,
test03 FOR TESTING.
ENDCLASS.
CLASS ltcl_relevant IMPLEMENTATION.
METHOD test01.
DATA: lv_relevant TYPE abap_bool.
lv_relevant = zcl_abapgit_news=>is_relevant( 'https://github.com/larshp/abapGit.git' ).
cl_abap_unit_assert=>assert_equals(
act = lv_relevant
exp = abap_true ).
ENDMETHOD.
METHOD test02.
DATA: lv_relevant TYPE abap_bool.
lv_relevant = zcl_abapgit_news=>is_relevant( 'https://github.com/larshp/abapGit' ).
cl_abap_unit_assert=>assert_equals(
act = lv_relevant
exp = abap_true ).
ENDMETHOD.
METHOD test03.
DATA: lv_relevant TYPE abap_bool.
lv_relevant = zcl_abapgit_news=>is_relevant( 'https://github.com/larshp/something' ).
cl_abap_unit_assert=>assert_equals(
act = lv_relevant
exp = abap_false ).
ENDMETHOD.
ENDCLASS.
CLASS ltcl_news DEFINITION DEFERRED. CLASS ltcl_news DEFINITION DEFERRED.
CLASS zcl_abapgit_news DEFINITION LOCAL FRIENDS ltcl_news. CLASS zcl_abapgit_news DEFINITION LOCAL FRIENDS ltcl_news.