jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43272?usp=email )
Change subject: IPAd: Add test for function ES10b.DisableEmergencyProfile ......................................................................
IPAd: Add test for function ES10b.DisableEmergencyProfile
Related: SYS#8101 Change-Id: I274633d11b5c48a2b7c31f6f7c8e9ae3d15db9f9 --- M ipad/IPAd_Tests.ttcn M library/euicc/SGP32Definitions_Templates.ttcn M library/euicc/SGP32Definitions_Types.ttcn 3 files changed, 55 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/43272/1
diff --git a/ipad/IPAd_Tests.ttcn b/ipad/IPAd_Tests.ttcn index 2c56d41..ef84949 100644 --- a/ipad/IPAd_Tests.ttcn +++ b/ipad/IPAd_Tests.ttcn @@ -831,6 +831,32 @@ setverdict(pass); }
+/* A testcase to tigger the 'disable emergency profile' via ES10b interface */ +private function f_TC_func_dis_emerg_prfle(charstring id) runs on IPAd_ConnHdlr { + f_exec_ipad("disable-emergency-profile"); + f_es10x_init(eim_init := false); + + var octetstring asn := f_vpcd_transceive(enc_DisableEmergencyProfileResponse(valueof(ts_disableEmergencyProfileResponse(0))), ''O); + var DisableEmergencyProfileRequest req := dec_DisableEmergencyProfileRequest(asn); + if (not match(req, tr_disableEmergencyProfileRequest())) { + setverdict(fail, "Unexprected ES10b request: ", req); + } + + f_es10x_close(); + f_stop_ipad(); + + setverdict(pass); +} +testcase TC_func_dis_emerg_prfle() runs on MTC_CT { + var charstring id := testcasename(); + var IPAd_ConnHdlrPars pars := f_init_pars(); + var IPAd_ConnHdlr vc_conn; + f_init(id); + vc_conn := f_start_handler(refers(f_TC_func_dis_emerg_prfle), pars); + vc_conn.done; + setverdict(pass); +} + control { execute ( TC_proc_indirect_prfle_dwnld() ); execute ( TC_proc_euicc_pkg_dwnld_exec() ); @@ -840,6 +866,7 @@ execute ( TC_func_exec_fallback_mech() ); execute ( TC_func_ret_from_fallback() ); execute ( TC_func_en_emerg_prfle() ); + execute ( TC_func_dis_emerg_prfle() ); }
} diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index be2b41b..7c14667 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -1685,6 +1685,24 @@ enableEmergencyProfileResult := errorCode }
+/* GSMA SGP.32, section 5.9.23 */ +template (present) DisableEmergencyProfileRequest +tr_disableEmergencyProfileRequest(template (present) boolean refreshFlag := ?) := { + refreshFlag := refreshFlag +} +template (value) DisableEmergencyProfileRequest +ts_disableEmergencyProfileRequest(template (value) boolean refreshFlag := false) := { + refreshFlag := refreshFlag +} +template (present) DisableEmergencyProfileResponse +tr_disableEmergencyProfileResponse(template (present) integer errorCode := ?) := { + disableEmergencyProfileResult := errorCode +} +template (value) DisableEmergencyProfileResponse +ts_disableEmergencyProfileResponse(template (value) integer errorCode := 127) := { + disableEmergencyProfileResult := errorCode +} + /* GSMA SGP.32, section 5.9.4 */ template (present) AddInitialEimResponse tr_addInitialEimResponse := { diff --git a/library/euicc/SGP32Definitions_Types.ttcn b/library/euicc/SGP32Definitions_Types.ttcn index 40ec409..2f9de2a 100644 --- a/library/euicc/SGP32Definitions_Types.ttcn +++ b/library/euicc/SGP32Definitions_Types.ttcn @@ -78,4 +78,14 @@ external function enc_EnableEmergencyProfileResponse(in EnableEmergencyProfileResponse msg) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" };
+external function dec_DisableEmergencyProfileRequest(in octetstring stream) return DisableEmergencyProfileRequest +with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }; +external function enc_DisableEmergencyProfileRequest(in DisableEmergencyProfileRequest msg) return octetstring +with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }; + +external function dec_DisableEmergencyProfileResponse(in octetstring stream) return DisableEmergencyProfileResponse +with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }; +external function enc_DisableEmergencyProfileResponse(in DisableEmergencyProfileResponse msg) return octetstring +with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }; + }