jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43270?usp=email )
Change subject: IPAd: Add test for function ES10b.ReturnFromFallback ......................................................................
IPAd: Add test for function ES10b.ReturnFromFallback
Related: SYS#8101 Change-Id: I37446a9a59792c86d9c110420a8eb96a05ab64d5 --- 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/70/43270/1
diff --git a/ipad/IPAd_Tests.ttcn b/ipad/IPAd_Tests.ttcn index 7276528..1612c86 100644 --- a/ipad/IPAd_Tests.ttcn +++ b/ipad/IPAd_Tests.ttcn @@ -779,6 +779,32 @@ setverdict(pass); }
+/* A testcase to tigger the 'return from fallback' via ES10b interface */ +private function f_TC_func_ret_from_fallback(charstring id) runs on IPAd_ConnHdlr { + f_exec_ipad("return-from-fallback"); + f_es10x_init(eim_init := false); + + var octetstring asn := f_vpcd_transceive(enc_ReturnFromFallbackResponse(valueof(ts_returnFromFallbackResponse(0))), ''O); + var ReturnFromFallbackRequest req := dec_ReturnFromFallbackRequest(asn); + if (not match(req, tr_returnFromFallbackRequest())) { + setverdict(fail, "Unexprected ES10b request: ", req); + } + + f_es10x_close(); + f_stop_ipad(); + + setverdict(pass); +} +testcase TC_func_ret_from_fallback() 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_ret_from_fallback), pars); + vc_conn.done; + setverdict(pass); +} + control { execute ( TC_proc_indirect_prfle_dwnld() ); execute ( TC_proc_euicc_pkg_dwnld_exec() ); @@ -786,6 +812,7 @@ execute ( TC_proc_euicc_data_req() ); execute ( TC_get_eim_pkg_req_rej() ); execute ( TC_func_exec_fallback_mech() ); + execute ( TC_func_ret_from_fallback() ); }
} diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index a3e5914..05cb7d7 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -1649,6 +1649,24 @@ executeFallbackMechanismResult := errorCode }
+/* GSMA SGP.32, section 5.9.21 */ +template (present) ReturnFromFallbackRequest +tr_returnFromFallbackRequest(template (present) boolean refreshFlag := ?) := { + refreshFlag := refreshFlag +} +template (value) ReturnFromFallbackRequest +ts_returnFromFallbackRequest(template (value) boolean refreshFlag := false) := { + refreshFlag := refreshFlag +} +template (present) ReturnFromFallbackResponse +tr_returnFromFallbackResponse(template (present) integer errorCode := ?) := { + returnFromFallbackResult := errorCode +} +template (value) ReturnFromFallbackResponse +ts_returnFromFallbackResponse(template (value) integer errorCode := 127) := { + returnFromFallbackResult := 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 4dc53f9..28e5b23 100644 --- a/library/euicc/SGP32Definitions_Types.ttcn +++ b/library/euicc/SGP32Definitions_Types.ttcn @@ -58,4 +58,14 @@ external function enc_ExecuteFallbackMechanismResponse(in ExecuteFallbackMechanismResponse msg) return octetstring with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" };
+external function dec_ReturnFromFallbackRequest(in octetstring stream) return ReturnFromFallbackRequest +with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }; +external function enc_ReturnFromFallbacRequest(in ReturnFromFallbackRequest msg) return octetstring +with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }; + +external function dec_ReturnFromFallbackResponse(in octetstring stream) return ReturnFromFallbackResponse +with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" }; +external function enc_ReturnFromFallbackResponse(in ReturnFromFallbackResponse msg) return octetstring +with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" }; + }