jolly has uploaded this change for review.

View Change

IPAd: Add test for function ES10b.GetConnectivityParameters

Related: SYS#8101
Change-Id: I4010e324f61827dc5d230fc907ad6d49e3129736
---
M ipad/IPAd_Tests.ttcn
M library/euicc/SGP32Definitions_Templates.ttcn
M library/euicc/SGP32Definitions_Types.ttcn
3 files changed, 67 insertions(+), 0 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/43273/1
diff --git a/ipad/IPAd_Tests.ttcn b/ipad/IPAd_Tests.ttcn
index ef84949..ebfcfad 100644
--- a/ipad/IPAd_Tests.ttcn
+++ b/ipad/IPAd_Tests.ttcn
@@ -465,6 +465,14 @@
unmap(self:PIPE, system:PIPE);
}

+/* Grep through log file and expect given pattern.
+ * Note: PIPEasp does not allow quotes, so 'string' must be a string without spaces. */
+private function f_expect_in_logfile(charstring string) runs on IPAd_ConnHdlr {
+ map(self:PIPE, system:PIPE);
+ f_PIPEasp_exec_sync(PIPE, "grep " & string & " /tmp/single_log", 0);
+ unmap(self:PIPE, system:PIPE);
+}
+
/* ********************************************* */
/* ********** BELOW ONLY TESTCASES! ************ */
/* ********************************************* */
@@ -857,6 +865,34 @@
setverdict(pass);
}

+/* A testcase to tigger the 'get connectivity parameters' via ES10b interface */
+private function f_TC_func_get_conn_params(charstring id) runs on IPAd_ConnHdlr {
+ f_exec_ipad("get-connectivity-parameters");
+ f_es10x_init(eim_init := false);
+
+ var octetstring asn := f_vpcd_transceive(enc_GetConnectivityParametersResponse(valueof(ts_getConnectivityParametersResponse_httpParams('12345678'O))), ''O);
+ var GetConnectivityParametersRequest req := dec_GetConnectivityParametersRequest(asn);
+ if (not match(req, tr_getConnectivityParametersRequest)) {
+ setverdict(fail, "Unexprected ES10b request: ", req);
+ }
+
+ f_es10x_close();
+ f_stop_ipad();
+
+ f_expect_in_logfile("HTTP.paramms:.12345678");
+
+ setverdict(pass);
+}
+testcase TC_func_get_conn_params() 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_get_conn_params), pars);
+ vc_conn.done;
+ setverdict(pass);
+}
+
control {
execute ( TC_proc_indirect_prfle_dwnld() );
execute ( TC_proc_euicc_pkg_dwnld_exec() );
@@ -867,6 +903,7 @@
execute ( TC_func_ret_from_fallback() );
execute ( TC_func_en_emerg_prfle() );
execute ( TC_func_dis_emerg_prfle() );
+ execute ( TC_func_get_conn_params() );
}

}
diff --git a/library/euicc/SGP32Definitions_Templates.ttcn b/library/euicc/SGP32Definitions_Templates.ttcn
index 7c14667..92696f1 100644
--- a/library/euicc/SGP32Definitions_Templates.ttcn
+++ b/library/euicc/SGP32Definitions_Templates.ttcn
@@ -1703,6 +1703,26 @@
disableEmergencyProfileResult := errorCode
}

+/* GSMA SGP.32, section 5.9.24 */
+template (present) GetConnectivityParametersRequest
+tr_getConnectivityParametersRequest := {
+}
+template (value) GetConnectivityParametersRequest
+ts_getConnectivityParametersRequest := {
+}
+template (present) GetConnectivityParametersResponse
+tr_getConnectivityParametersResponse_httpParams(template octetstring httpParams := *) := {
+ connectivityParameters := {
+ httpParams := httpParams
+ }
+}
+template (value) GetConnectivityParametersResponse
+ts_getConnectivityParametersResponse_httpParams(template (omit) octetstring httpParams := omit) := {
+ connectivityParameters := {
+ httpParams := httpParams
+ }
+}
+
/* 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 2f9de2a..82f908f 100644
--- a/library/euicc/SGP32Definitions_Types.ttcn
+++ b/library/euicc/SGP32Definitions_Types.ttcn
@@ -88,4 +88,14 @@
external function enc_DisableEmergencyProfileResponse(in DisableEmergencyProfileResponse msg) return octetstring
with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" };

+external function dec_GetConnectivityParametersRequest(in octetstring stream) return GetConnectivityParametersRequest
+with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" };
+external function enc_GetConnectivityParametersRequest(in GetConnectivityParametersRequest msg) return octetstring
+with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" };
+
+external function dec_GetConnectivityParametersResponse(in octetstring stream) return GetConnectivityParametersResponse
+with { extension "prototype(convert) decode(BER:BER_ACCEPT_ALL)" };
+external function enc_GetConnectivityParametersResponse(in GetConnectivityParametersResponse msg) return octetstring
+with { extension "prototype(convert) encode(BER:BER_ENCODE_DER)" };
+
}

To view, visit change 43273. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I4010e324f61827dc5d230fc907ad6d49e3129736
Gerrit-Change-Number: 43273
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas@eversberg.eu>