From da83c8307c8b8a815deea9a0744895874b77571a Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Thu, 30 Jan 2020 15:10:20 +0100 Subject: [PATCH] hlr: add TC_MSLookup_mDNS_service_GSUP_HLR_proxy Ask proxy HLR about gsup.hlr service, and expect no answer. Related: OS#4380 Change-Id: Ic42c909e6540b2294b1109dc19c1df348224457b --- hlr/HLR_Tests.ttcn | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index c8c6712be..e00bd8b51 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -1758,6 +1758,47 @@ testcase TC_MSLookup_mDNS_service_GSUP_HLR_home() runs on test_CT { vc_conn.done; } +/* Ask proxy HLR about gsup.hlr service, and expect no answer. */ +private function f_TC_MSLookup_mDNS_service_GSUP_HLR_proxy() runs on HLR_ConnHdlr { + timer T; + var integer id := f_rnd_int(65535); /* mDNS packet ID */ + var charstring domain := "gsup.hlr." & hex2str(g_pars.sub.imsi) & ".imsi.mdns.osmocom.org"; + + f_perform_UL_proxy(g_pars.sub.imsi, g_pars.sub.msisdn, OSMO_GSUP_CN_DOMAIN_CS); + + /* Send mDNS query, expect timeout */ + mDNS.send(ts_MSLookup_mDNS_query(id, domain)); + T.start(1.0); + alt { + [] mDNS.receive(tr_MSLookup_mDNS_result_IPv4(id, domain, f_enc_IPv4(mp_hlr_ip), mp_hlr_gsup_port)) { + setverdict(fail, "mslookup result received from proxy HLR for gsup.hlr service"); + } + [] mDNS.receive(MSLookup_mDNS:?) { + repeat; + } + [] T.timeout { + setverdict(pass); + } + } +} +testcase TC_MSLookup_mDNS_service_GSUP_HLR_proxy() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var hexstring msisdn := '49161'H & f_rnd_hexstring(7, 9); + var HLR_ConnHdlr vc_conn; + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi, msisdn)); + + f_init(false, true); + f_vty_config(VTY, "mslookup", "mdns bind"); + vc_conn := f_start_handler(refers(f_TC_MSLookup_mDNS_service_GSUP_HLR_proxy), pars, true); + + timer T := 3.0; + T.start; + alt { + [] vc_conn.done {} + [] T.timeout { setverdict(fail, "Timeout"); mtc.stop; }; + } +} + /* TODO: * UL with ISD error * UL with ISD timeout @@ -1808,6 +1849,7 @@ control { execute( TC_MSLookup_mDNS_service_other_home() ); execute( TC_MSLookup_GSUP_proxy() ); execute( TC_MSLookup_mDNS_service_GSUP_HLR_home() ); + execute( TC_MSLookup_mDNS_service_GSUP_HLR_proxy() ); } };