From a1535908ec056e46100cfbbd4936f2cfa738b6e3 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 29 Nov 2024 02:23:59 -0500 Subject: [PATCH] Fix unit test in 702 - Part 1 (#7082) --- ...t_abap_language_vers.clas.testclasses.abap | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/env/zcl_abapgit_abap_language_vers.clas.testclasses.abap b/src/env/zcl_abapgit_abap_language_vers.clas.testclasses.abap index ef1eb9011..c7edd9ac9 100644 --- a/src/env/zcl_abapgit_abap_language_vers.clas.testclasses.abap +++ b/src/env/zcl_abapgit_abap_language_vers.clas.testclasses.abap @@ -77,10 +77,12 @@ CLASS ltcl_abap_language_version DEFINITION FOR TESTING RISK LEVEL HARMLESS PRIVATE SECTION. " Cloud package hardcoded in cl_abap_language_version CONSTANTS c_cloud_package TYPE devclass VALUE 'TEST_LANGUAGE_VERSION_SCP'. + CONSTANTS c_language_cfg TYPE seoclsname VALUE 'CL_ABAP_LANGUAGE_VERSION_CFG'. DATA: mt_versions TYPE string_table, mv_has_cloud_package TYPE abap_bool, + mv_has_language_cfg TYPE abap_bool, mo_environment TYPE REF TO lcl_environment, mi_persistency TYPE REF TO zif_abapgit_persist_settings, mo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit, @@ -364,9 +366,11 @@ CLASS ltcl_abap_language_version IMPLEMENTATION. " Assume on-prem (no cloud) set_environment( abap_false ). - cl_abap_unit_assert=>assert_equals( - act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package - exp = iv_standard ). + IF mv_has_language_cfg = abap_true. + cl_abap_unit_assert=>assert_equals( + act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package + exp = iv_standard ). + ENDIF. IF mv_has_cloud_package = abap_true. cl_abap_unit_assert=>assert_equals( @@ -381,9 +385,11 @@ CLASS ltcl_abap_language_version IMPLEMENTATION. " Assume cloud platform set_environment( abap_true ). - cl_abap_unit_assert=>assert_equals( - act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package - exp = iv_standard ). + IF mv_has_language_cfg = abap_true. + cl_abap_unit_assert=>assert_equals( + act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package + exp = iv_standard ). + ENDIF. IF mv_has_cloud_package = abap_true. cl_abap_unit_assert=>assert_equals( @@ -401,6 +407,19 @@ CLASS ltcl_abap_language_version IMPLEMENTATION. METHOD is_import_allowed. DATA lv_version TYPE string. + DATA ls_clskey TYPE seoclskey. + + ls_clskey-clsname = c_language_cfg. + + " Tests using ABAP language version "standard" only work if the required + " SAP class is available. In older releases, all packages will have + " ABAP language version "undefined" and are handled like a new package + CALL FUNCTION 'SEO_CLASS_EXISTENCE_CHECK' + EXPORTING + clskey = ls_clskey + EXCEPTIONS + OTHERS = 1. + mv_has_language_cfg = boolc( sy-subrc = 0 ). LOOP AT mt_versions INTO lv_version.