osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email )

Change subject: hlr: wrap f_vty_subscr_create and _delete
......................................................................

hlr: wrap f_vty_subscr_create and _delete

Add wrappers as f_subscr_create/_delete (without _vty), and only use the
VTY implementation for OsmoHLR. This is in preparation for implementing
a different method for PyHSS in a follow-up patch.

Avoid passing the VTY parameter by splitting each function into a normal
variant that runs on test_CT, and a _HCH variant that runs on
HLR_ConnHdlr.

Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7
---
M hlr/HLR_Tests.ttcn
1 file changed, 81 insertions(+), 37 deletions(-)

Approvals:
  daniel: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified




diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn
index 97bbada..d324e08 100644
--- a/hlr/HLR_Tests.ttcn
+++ b/hlr/HLR_Tests.ttcn
@@ -500,6 +500,50 @@
 }

 /***********************************************************************
+ * Subscriber creation wrappers
+ ***********************************************************************/
+
+function f_subscr_create(HlrSubscriber sub)
+runs on test_CT {
+       if (m_hlr_impl == HLR_IMPL_OSMOCOM) {
+               f_vty_subscr_create(VTY, sub);
+       } else {
+               setverdict(fail, "f_subscr_create is not implemented for ", 
m_hlr_impl);
+               mtc.stop;
+       }
+}
+
+function f_ConnHdlr_subscr_create(HlrSubscriber sub)
+runs on HLR_ConnHdlr {
+       if (m_hlr_impl == HLR_IMPL_OSMOCOM) {
+               f_vty_subscr_create(VTY, sub);
+       } else {
+               setverdict(fail, "f_ConnHdlr_subscr_create is not implemented 
for ", m_hlr_impl);
+               mtc.stop;
+       }
+}
+
+function f_subscr_delete(HlrSubscriber sub)
+runs on test_CT {
+       if (m_hlr_impl == HLR_IMPL_OSMOCOM) {
+               f_vty_subscr_delete(VTY, sub);
+       } else {
+               setverdict(fail, "f_subscr_delete is not implemented for ", 
m_hlr_impl);
+               mtc.stop;
+       }
+}
+
+function f_ConnHdlr_subscr_delete(HlrSubscriber sub)
+runs on HLR_ConnHdlr {
+       if (m_hlr_impl == HLR_IMPL_OSMOCOM) {
+               f_vty_subscr_delete(VTY, sub);
+       } else {
+               setverdict(fail, "f_ConnHdlr_subscr_delete is not implemented 
for ", m_hlr_impl);
+               mtc.stop;
+       }
+}
+
+/***********************************************************************
  * Helper functions for ConnHdlr
  ***********************************************************************/

@@ -877,10 +921,10 @@
                }
                var HLR_ConnHdlr vc_conn;

-               f_vty_subscr_create(VTY, sub);
+               f_subscr_create(sub);
                vc_conn := f_start_handler(fn, pars);
                vc_conn.done;
-               f_vty_subscr_delete(VTY, sub);
+               f_subscr_delete(sub);
        }
 }

@@ -1140,21 +1184,21 @@
        /* we're not using f_gen_subs() here as the expect pattern for the 
'show' are different
         * from case to case */
        sub := valueof(t_Sub2G(f_rnd_imsi('26242'H), '49161'H & 
f_rnd_hexstring(7, 9), "comp128v1"));
-       f_vty_subscr_create(VTY, sub);
+       f_subscr_create(sub);
        f_vty_subscr_show(VTY, sub, pattern "*IMSI: *2G auth: COMP128v1*");
-       f_vty_subscr_delete(VTY, sub);
+       f_subscr_delete(sub);

        sub := valueof(t_Sub3G(f_rnd_imsi('26242'H), '49161'H & 
f_rnd_hexstring(7, 9),
                                "milenage", false));
-       f_vty_subscr_create(VTY, sub);
+       f_subscr_create(sub);
        f_vty_subscr_show(VTY, sub, pattern "*IMSI: *3G auth: MILENAGE*");
-       f_vty_subscr_delete(VTY, sub);
+       f_subscr_delete(sub);

        sub := valueof(t_Sub2G3G(f_rnd_imsi('26242'H), '49161'H & 
f_rnd_hexstring(7, 9),
                                 "comp128v1", "milenage", false));
-       f_vty_subscr_create(VTY, sub);
+       f_subscr_create(sub);
        f_vty_subscr_show(VTY, sub, pattern "*IMSI: *2G auth: COMP128v1*3G 
auth: MILENAGE*");
-       f_vty_subscr_delete(VTY, sub);
+       f_subscr_delete(sub);

        setverdict(pass);
 }
@@ -1166,7 +1210,7 @@
        timer T := 5.0;

        /* Create Subscriber */
-       f_vty_subscr_create(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_create(g_pars.sub);

        /* Perform UpdateLocation (VLR now known to HLR) */
        res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn);
@@ -1281,7 +1325,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_unknown), pars);
                vc_conn.done;
        }
@@ -1308,7 +1352,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_euse_disc), 
pars);
                vc_conn.done;
        }
@@ -1340,7 +1384,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_imsi), 
pars);
                vc_conn.done;
        }
@@ -1354,7 +1398,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := 
valueof(t_Pars_sub_via_proxy(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_imsi), 
pars);
                vc_conn.done;
        }
@@ -1386,7 +1430,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_msisdn), 
pars);
                vc_conn.done;
        }
@@ -1400,7 +1444,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := 
valueof(t_Pars_sub_via_proxy(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_msisdn), 
pars);
                vc_conn.done;
        }
@@ -1433,7 +1477,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_100), pars);
                vc_conn.done;
        }
@@ -1480,7 +1524,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_100_continue), 
pars);
                vc_conn.done;
        }
@@ -1516,7 +1560,7 @@
        for (var integer i := 0; i < sizeof(sl); i := i+1) {
                var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i]));
                pars.ussd.sid := f_rnd_octstring(4);
-               f_vty_subscr_create(VTY, pars.sub);
+               f_subscr_create(pars.sub);
                vc_conn := f_start_handler(refers(f_TC_mo_ussd_999), pars);
                vc_conn.done;
        }
@@ -1567,10 +1611,10 @@
        pars := valueof(t_Pars_sub(sub));
        pars.ussd.sid := f_rnd_octstring(4);

-       f_vty_subscr_create(VTY, sub);
+       f_subscr_create(sub);
        vc_conn := f_start_handler(refers(f_TC_mo_sss_reject), pars);
        vc_conn.done;
-       f_vty_subscr_delete(VTY, sub);
+       f_subscr_delete(sub);
 }


@@ -1668,7 +1712,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); /* last 
line, hence not matching "\d\d\d\n" */
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*");
        res := f_perform_UL(g_pars.sub.imsi, ?);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* Random MSISDN and PS NAM (LU must pass) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 ps");
@@ -1678,7 +1722,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*PS disabled*");
        res := f_perform_UL(g_pars.sub.imsi, ?);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* Random MSISDN and CS NAM (LU must fail) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs");
@@ -1688,7 +1732,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*PS disabled*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*CS disabled*");
        res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed 
*/);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* Random MSISDN and no NAM (LU must fail) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none");
@@ -1697,7 +1741,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*");
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*");
        res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed 
*/);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* No MSISDN and no NAM (LU must fail) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none");
@@ -1706,7 +1750,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*");
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*");
        res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed 
*/);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* No MSISDN and CS+PS NAM (LU must pass) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps");
@@ -1715,7 +1759,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*");
        res := f_perform_UL(g_pars.sub.imsi, omit);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        setverdict(pass);
 }
@@ -1740,7 +1784,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern);
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*");
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* Random MSISDN and PS NAM (LU must pass) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 ps");
@@ -1749,7 +1793,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*");
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*PS disabled*");
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* Random MSISDN and CS NAM (LU must fail) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs");
@@ -1758,7 +1802,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*");
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*PS disabled*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*CS disabled*");
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* Random MSISDN and no NAM (LU must fail) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none");
@@ -1766,7 +1810,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern);
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*");
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*");
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* No MSISDN and no NAM (LU must fail) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none");
@@ -1774,7 +1818,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern);
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*");
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*");
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        /* No MSISDN and CS+PS NAM (LU must pass) */
        f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps");
@@ -1782,7 +1826,7 @@
        f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern);
        f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*");
        f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*");
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);

        setverdict(pass);
 }
@@ -1814,7 +1858,7 @@

        /* Location update */
        res := f_perform_UL(g_pars.sub.imsi, ?);
-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);
        setverdict(pass);
 }
 testcase TC_subscr_create_on_demand_sai() runs on test_CT {
@@ -1838,7 +1882,7 @@

        /* Create subscriber */
        g_pars.sub.msisdn := msisdn;
-       f_vty_subscr_create(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_create(g_pars.sub);

        /* Send mDNS query, expect timeout */
        mDNS.send(ts_MSLookup_mDNS_query(id, domain));
@@ -1872,7 +1916,7 @@
                }
        }

-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);
 }
 testcase TC_MSLookup_mDNS_service_other_home() runs on test_CT {
        var hexstring imsi := f_rnd_imsi('26242'H);
@@ -1922,7 +1966,7 @@

        /* Create subscriber */
        g_pars.sub.msisdn := '133713381339'H;
-       f_vty_subscr_create(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_create(g_pars.sub);

        /* Send mDNS query, expect result */
        mDNS.send(ts_MSLookup_mDNS_query(id, domain));
@@ -1939,7 +1983,7 @@
                }
        }

-       f_vty_subscr_delete(VTY, g_pars.sub);
+       f_ConnHdlr_subscr_delete(g_pars.sub);
 }
 testcase TC_MSLookup_mDNS_service_GSUP_HLR_home() runs on test_CT {
        var hexstring imsi := f_rnd_imsi('26242'H);

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7
Gerrit-Change-Number: 41226
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <[email protected]>
Gerrit-Reviewer: dexter <[email protected]>
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>

Reply via email to