dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43851?usp=email )
(
3 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: SGP32Definitions_Templates: rework tr_SGP32_pendingNotification_prfleInstRslt ......................................................................
SGP32Definitions_Templates: rework tr_SGP32_pendingNotification_prfleInstRslt
The template ts_SGP32_pendingNotification_prfleInstRslt has only one parameter, which is the notificationAddress. This parameter is passed to another template within the template. This is an unfortunate combination.
Let's untangle this by adding a dedicated template for the SGP32 Profile Installation Result and use this template as parameter for tr/ts_SGP32_pendingNotification_prfleInstRslt. This slightly changes the API of the template, so we have to re-align eIM_Tests as well.
Change-Id: I1867dad3a817785623029b9fd1fc9c4f746a6faa Related: SYS#8203 --- M eim/eIM_Tests.ttcn M library/euicc/SGP32Definitions_Templates.ttcn 2 files changed, 23 insertions(+), 11 deletions(-)
Approvals: laforge: Looks good to me, approved jolly: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/eim/eIM_Tests.ttcn b/eim/eIM_Tests.ttcn index 1547eab..e2ed6ef 100644 --- a/eim/eIM_Tests.ttcn +++ b/eim/eIM_Tests.ttcn @@ -530,7 +530,11 @@ f_esipa_receive(tr_getBoundProfilePackageResponseEsipa);
/* Handle notification */ - f_esipa_send(valueof(ts_handleNotificationEsipa_pendingNotif(ts_SGP32_pendingNotification_prfleInstRslt(notificationAddress := smdpp_addr)))); + f_esipa_send(valueof(ts_handleNotificationEsipa_pendingNotif( + ts_SGP32_pendingNotification_prfleInstRslt( + ts_SGP32_profileInstallationResult( + profileInstallationResultData := ts_profileInstallationResultData( + notificationAddress := smdpp_addr)))))); f_es9p_transceive_empty_response(tr_handleNotification);
f_rest_lookup_resource(resource_id, "download", tr_JSON_REST_success); diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn index 1911515..7b941e8 100644 --- a/library/euicc/SGP32Definitions_Templates.ttcn +++ b/library/euicc/SGP32Definitions_Templates.ttcn @@ -880,17 +880,25 @@ }
/* GSMA SGP.32, section 6.3.2.4 */ -template (present) SGP32_PendingNotification tr_SGP32_pendingNotification_prfleInstRslt := { - profileInstallationResult := { - profileInstallationResultData := tr_profileInstallationResultData, - euiccSignPIR := ? - } +template (present) SGP32_ProfileInstallationResult +tr_SGP32_profileInstallationResult(template (present) ProfileInstallationResultData profileInstallationResultData := tr_profileInstallationResultData, + template (present) octetstring euiccSignPIR := ?) := { + profileInstallationResultData := profileInstallationResultData, + euiccSignPIR := euiccSignPIR } -template (value) SGP32_PendingNotification ts_SGP32_pendingNotification_prfleInstRslt(template (value) charstring notificationAddress := SGP23_TEST_DP_ADDRESS1) := { - profileInstallationResult := { - profileInstallationResultData := ts_profileInstallationResultData(notificationAddress), - euiccSignPIR := SGP23_EUICC_SIGN_PIR - } +template (value) SGP32_ProfileInstallationResult +ts_SGP32_profileInstallationResult(template (value) ProfileInstallationResultData profileInstallationResultData := ts_profileInstallationResultData, + template (value) octetstring euiccSignPIR := SGP23_EUICC_SIGN_PIR) := { + profileInstallationResultData := profileInstallationResultData, + euiccSignPIR := euiccSignPIR +} +template (present) SGP32_PendingNotification +tr_SGP32_pendingNotification_prfleInstRslt(template (present) SGP32_ProfileInstallationResult profileInstallationResult := tr_SGP32_profileInstallationResult) := { + profileInstallationResult := profileInstallationResult +} +template (value) SGP32_PendingNotification +ts_SGP32_pendingNotification_prfleInstRslt(template (value) SGP32_ProfileInstallationResult profileInstallationResult := ts_SGP32_profileInstallationResult) := { + profileInstallationResult := profileInstallationResult } template (present) SGP32_PendingNotification tr_SGP32_pendingNotification_otherSignedNotif(template (present) OtherSignedNotification otherSignedNotification) := {