Loading ttcn/DiameterShDh_PIXITS.ttcn3 +14 −0 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,20 @@ module DiameterShDh_PIXITS { }//end group SUT_ShDh_Port_and_addresses{ }//end group SUT_ShDh_Port_and_addresses{ group TS_ShDh_SCSF_SIP_Port_and_addresses{ /** @desc charstring, PIXIT item A-9/1 * IP address of the CSCF test system */ modulepar charstring PX_CSCF_ISC_ETS_IPADDR := "1.1.1.10"; /** @desc integer, PIXIT item A-9/2 * Port number of the CSCF test system */ modulepar integer PX_CSCF_ISC_ETS_PORT := 5080; } // End of group TS_ShDh_CSCF_Port_and_addresses } // End of group Port_and_addresses } // End of group Port_and_addresses group DiameterCommonShDhData{ group DiameterCommonShDhData{ Loading ttcn/DiameterShDh_SIP_TCFunctions.ttcn3 0 → 100644 +160 −0 Original line number Original line Diff line number Diff line /** * @author STF 544 * @version $Id$ * @desc This module provides SIP test functions used by the test cases * for IMS-DIAMETER tests. * @remark Any additions to the templates shall follow the design rules * and always modify base templates only; */ module DiameterShDh_SIP_TCFunctions { import from DiameterShDh_PIXITS all; // LibCommon import from LibCommon_Sync { function f_selfOrClientSyncAndVerdict; group standardSyncPointNames } import from LibCommon_VerdictControl all ; // LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; import from LibDiameter_Types_Base_AVPs all; //LibSIP and LibIMS import from LibSip_Interface all; import from LibSip_SIPTypesAndValues all; import from LibSip_Steps {function f_RemoveRegistration, f_setHeaders_REGISTER, f_SendREGISTER, f_awaitingResponse }; import from LibIms_SIPTypesAndValues all; import from LibIms_Templates all; import from LibIms_Steps all; import from LibIms_Interface all; group TP_SH_AS_Role { // §5.2.2.2 group TP_ASRole_MessageSyntax{ function f_TC_SH_AS_MS_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { // Preamble f_IMS_preamble_woRegistration_as(p_cSeq_s); // Testbody //f_setHeaders_REGISTER_IMSVisited(p_cSeq_s); //f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));//m_Authorization_digest({c_Integrity_protected_yes}))); //LibSip f_setHeaders_REGISTER(p_cSeq_s); f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization, PX_CSCF_ISC_ETS_IPADDR, PX_CSCF_ISC_ETS_PORT)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // receiving 200 OK response. f_awaitingResponse(mw_Response_PchargingVector(200, vc_callId, vc_cSeq, mw_pChargingVector(?,?))); //Postamble f_RemoveRegistration(vc_cSeq); f_SIP_postamble_IMS1_withoutRegistration(); }// end f_TC_SH_AS_MS_01_CSCF }//end group TP_ASRole_MessageSyntax group TP_ASRole_UserData{ function f_TC_SH_AS_UD_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_01_CSCF function f_TC_SH_AS_UD_02_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_02_CSCF function f_TC_SH_AS_UD_03_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_03_CSCF function f_TC_SH_AS_UD_04_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_04_CSCF }//end group TP_ASRole_UserData group TP_ASRole_ProfileUpdate { function f_TC_SH_AS_PU_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_PU_01_CSCF }// end group TP_ASRole_ProfileUpdate group TP_ASRole_SubscriptionNotification{ function f_TC_SH_AS_SN_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_SN_01_CSCF }// end group TP_ASRole_SubscriptionNotification group TP_ASRole_PushNotification{ function f_TC_SH_AS_PN_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_PN_01_CSCF }// end group TP_ASRole_PushNotification } //end TP_SH_AS_Role group TP_DH_ASRole { // §5.2.3.2 group TP_ASRole_UserData{ function f_TC_DH_AS_UD_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { // Preamble f_IMS_preamble_woRegistration_as(p_cSeq_s); // Testbody //f_setHeaders_REGISTER_IMSVisited(p_cSeq_s); //f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));//m_Authorization_digest({c_Integrity_protected_yes}))); //LibSip f_setHeaders_REGISTER(p_cSeq_s); f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization, PX_CSCF_ISC_ETS_IPADDR, PX_CSCF_ISC_ETS_PORT)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(LibDiameter_TypesAndValues.c_sync1, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // receiving 200 OK response. f_awaitingResponse(mw_Response_PchargingVector(200, vc_callId, vc_cSeq, mw_pChargingVector(?,?))); //Postamble f_RemoveRegistration(vc_cSeq); f_SIP_postamble_IMS1_withoutRegistration(); }// end f_TC_DH_AS_UD_01_CSCF }//end group TP_ASRole_UserData group TP_ASRole_ProfileUpdate { function f_TC_DH_AS_PU_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_DH_AS_PU_01_CSCF }// end group TP_ASRole_ProfileUpdate group TP_ASRole_SubscriptionNotification{ function f_TC_DH_AS_SN_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_DH_AS_SN_01_CSCF }// end group TP_ASRole_SubscriptionNotification } //end TP_DH_ASRole }//end module DiameterShDh_SIP_TCFunctions ttcn/DiameterShDh_TCFunctions.ttcn3 +0 −44 Original line number Original line Diff line number Diff line Loading @@ -2370,28 +2370,6 @@ module DiameterShDh_TCFunctions { } // End of group TP_SLFRole_SubscriptionNotification } // End of group TP_SLFRole_SubscriptionNotification group TP_SLFRole_PushNotification{ function f_TC_DH_SLF_PN_01() runs on DiameterShDh { // Local variables // Preamble f_preamble_Dh_AS(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_postamble_Dh_AS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_DH_SLF_PN_01() } // End of group TP_SLFRole_PushNotification } // End of group TP_SLFRole } // End of group TP_SLFRole group TP_DH_ASRole { // §5.2.3.2 group TP_DH_ASRole { // §5.2.3.2 Loading Loading @@ -2532,28 +2510,6 @@ module DiameterShDh_TCFunctions { } // End of group TP_ASRole_SubscriptionNotification } // End of group TP_ASRole_SubscriptionNotification group TP_ASRole_PushNotification{ function f_TC_DH_AS_PN_01() runs on DiameterShDh { // Local variables // Preamble f_preamble_Dh_SLF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_postamble_Dh_SLF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_DH_AS_PN_01() } // End of group TP_ASRole_PushNotification } // End of group TP_DH_ASRole } // End of group TP_DH_ASRole } // End of group TP_Dh_Role } // End of group TP_Dh_Role Loading ttcn/DiameterShDh_TestCases.ttcn3 +58 −26 Original line number Original line Diff line number Diff line Loading @@ -14,10 +14,19 @@ module DiameterShDh_TestCases { import from LibDiameter_Interface all; import from LibDiameter_Interface all; import from LibDiameter_TypesAndValues all; import from LibDiameter_TypesAndValues all; //AtsIms //LibSip import from LibSip_Interface all; import from LibSip_SIPTypesAndValues all; //LibIms import from LibIms_SIPTypesAndValues all; import from LibIms_Interface all; //AtsShDh import from DiameterShDh_TestConfiguration all; import from DiameterShDh_TestConfiguration all; import from DiameterShDh_TestSystem all; import from DiameterShDh_TestSystem all; import from DiameterShDh_TCFunctions all; import from DiameterShDh_TCFunctions all; import from DiameterShDh_SIP_TCFunctions all; import from DiameterShDh_PICS all; import from DiameterShDh_PICS all; import from DiameterShDh_PIXITS all; import from DiameterShDh_PIXITS all; import from DiameterShDh_Steps all; import from DiameterShDh_Steps all; Loading Loading @@ -2720,6 +2729,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_MS_01() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_MS_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2728,15 +2739,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_MS_01()); v_diameterSh_hss.start(f_TC_SH_AS_MS_01()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_MS_01_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_MS_01 } // End of testcase TC_SH_AS_MS_01 Loading Loading @@ -2777,6 +2791,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_01() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2785,15 +2801,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_01()); v_diameterSh_hss.start(f_TC_SH_AS_UD_01()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_01_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_01 } // End of testcase TC_SH_AS_UD_01 Loading Loading @@ -2832,6 +2851,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_02() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_02() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2840,15 +2861,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_02()); v_diameterSh_hss.start(f_TC_SH_AS_UD_02()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_02_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_02 } // End of testcase TC_SH_AS_UD_02 Loading Loading @@ -2888,6 +2912,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_03() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_03() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2896,15 +2922,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_03()); v_diameterSh_hss.start(f_TC_SH_AS_UD_03()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_03_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_03 } // End of testcase TC_SH_AS_UD_03 Loading Loading @@ -2943,6 +2972,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_04() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_04() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2951,15 +2982,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_04()); v_diameterSh_hss.start(f_TC_SH_AS_UD_04()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_04_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_04 } // End of testcase TC_SH_AS_UD_04 Loading Loading @@ -3058,10 +3092,6 @@ module DiameterShDh_TestCases { group TP_SLFRole_SubscriptionNotification{ group TP_SLFRole_SubscriptionNotification{ } // End of group TP_SLFRole_SubscriptionNotification } // End of group TP_SLFRole_SubscriptionNotification group TP_SLFRole_PushNotification{ } // End of group TP_SLFRole_PushNotification } // End of group TP_SLF_Role } // End of group TP_SLF_Role group TP_AS_Role { // §5.2.3.2 group TP_AS_Role { // §5.2.3.2 Loading Loading @@ -3105,6 +3135,8 @@ module DiameterShDh_TestCases { testcase TC_DH_AS_UD_01() runs on DiameterShDh system TestAdapter { testcase TC_DH_AS_UD_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss, v_diameterDh_slf; var DiameterShDh v_diameterSh_hss, v_diameterDh_slf; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -3113,16 +3145,19 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Dh1Sh_hssSlfUp(v_diameterDh_slf, v_diameterSh_hss); f_cf_1Dh1Sh1Isc_slfUp(v_diameterDh_slf, v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterDh_slf.start(f_TC_DH_AS_UD_01()); v_diameterDh_slf.start(f_TC_DH_AS_UD_01()); v_diameterSh_hss.start(f_TC_DH_AS_UD_01_HSS()); v_diameterSh_hss.start(f_TC_DH_AS_UD_01_HSS()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_DH_AS_UD_01_CSCF(p_cSeq_s)); } // synchronize PTC on 2 sychronization points // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_sync1, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, LibDiameter_TypesAndValues.c_sync1, c_tbDone, c_poDone}); f_cf_1Dh1Sh_hssSlfDown(v_diameterDh_slf, v_diameterSh_hss); f_cf_1Dh1Sh1Isc_slfDown(v_diameterDh_slf, v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_DH_AS_UD_01 } // End of testcase TC_DH_AS_UD_01 Loading @@ -3134,9 +3169,6 @@ module DiameterShDh_TestCases { group TP_ASRole_SubscriptionNotification{ group TP_ASRole_SubscriptionNotification{ } // End of group TP_ASRole_SubscriptionNotification } // End of group TP_ASRole_SubscriptionNotification group TP_ASRole_PushNotification{ } // End of group TP_ASRole_PushNotification } // End of group TP_AS_OSARole } // End of group TP_AS_OSARole } // End of group TP_Dh } // End of group TP_Dh Loading ttcn/DiameterShDh_TestConfiguration.ttcn3 +33 −55 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
ttcn/DiameterShDh_PIXITS.ttcn3 +14 −0 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,20 @@ module DiameterShDh_PIXITS { }//end group SUT_ShDh_Port_and_addresses{ }//end group SUT_ShDh_Port_and_addresses{ group TS_ShDh_SCSF_SIP_Port_and_addresses{ /** @desc charstring, PIXIT item A-9/1 * IP address of the CSCF test system */ modulepar charstring PX_CSCF_ISC_ETS_IPADDR := "1.1.1.10"; /** @desc integer, PIXIT item A-9/2 * Port number of the CSCF test system */ modulepar integer PX_CSCF_ISC_ETS_PORT := 5080; } // End of group TS_ShDh_CSCF_Port_and_addresses } // End of group Port_and_addresses } // End of group Port_and_addresses group DiameterCommonShDhData{ group DiameterCommonShDhData{ Loading
ttcn/DiameterShDh_SIP_TCFunctions.ttcn3 0 → 100644 +160 −0 Original line number Original line Diff line number Diff line /** * @author STF 544 * @version $Id$ * @desc This module provides SIP test functions used by the test cases * for IMS-DIAMETER tests. * @remark Any additions to the templates shall follow the design rules * and always modify base templates only; */ module DiameterShDh_SIP_TCFunctions { import from DiameterShDh_PIXITS all; // LibCommon import from LibCommon_Sync { function f_selfOrClientSyncAndVerdict; group standardSyncPointNames } import from LibCommon_VerdictControl all ; // LibDiameter import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; import from LibDiameter_Types_Base_AVPs all; //LibSIP and LibIMS import from LibSip_Interface all; import from LibSip_SIPTypesAndValues all; import from LibSip_Steps {function f_RemoveRegistration, f_setHeaders_REGISTER, f_SendREGISTER, f_awaitingResponse }; import from LibIms_SIPTypesAndValues all; import from LibIms_Templates all; import from LibIms_Steps all; import from LibIms_Interface all; group TP_SH_AS_Role { // §5.2.2.2 group TP_ASRole_MessageSyntax{ function f_TC_SH_AS_MS_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { // Preamble f_IMS_preamble_woRegistration_as(p_cSeq_s); // Testbody //f_setHeaders_REGISTER_IMSVisited(p_cSeq_s); //f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));//m_Authorization_digest({c_Integrity_protected_yes}))); //LibSip f_setHeaders_REGISTER(p_cSeq_s); f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization, PX_CSCF_ISC_ETS_IPADDR, PX_CSCF_ISC_ETS_PORT)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // receiving 200 OK response. f_awaitingResponse(mw_Response_PchargingVector(200, vc_callId, vc_cSeq, mw_pChargingVector(?,?))); //Postamble f_RemoveRegistration(vc_cSeq); f_SIP_postamble_IMS1_withoutRegistration(); }// end f_TC_SH_AS_MS_01_CSCF }//end group TP_ASRole_MessageSyntax group TP_ASRole_UserData{ function f_TC_SH_AS_UD_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_01_CSCF function f_TC_SH_AS_UD_02_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_02_CSCF function f_TC_SH_AS_UD_03_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_03_CSCF function f_TC_SH_AS_UD_04_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_UD_04_CSCF }//end group TP_ASRole_UserData group TP_ASRole_ProfileUpdate { function f_TC_SH_AS_PU_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_PU_01_CSCF }// end group TP_ASRole_ProfileUpdate group TP_ASRole_SubscriptionNotification{ function f_TC_SH_AS_SN_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_SN_01_CSCF }// end group TP_ASRole_SubscriptionNotification group TP_ASRole_PushNotification{ function f_TC_SH_AS_PN_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_SH_AS_PN_01_CSCF }// end group TP_ASRole_PushNotification } //end TP_SH_AS_Role group TP_DH_ASRole { // §5.2.3.2 group TP_ASRole_UserData{ function f_TC_DH_AS_UD_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { // Preamble f_IMS_preamble_woRegistration_as(p_cSeq_s); // Testbody //f_setHeaders_REGISTER_IMSVisited(p_cSeq_s); //f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));//m_Authorization_digest({c_Integrity_protected_yes}))); //LibSip f_setHeaders_REGISTER(p_cSeq_s); f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization, PX_CSCF_ISC_ETS_IPADDR, PX_CSCF_ISC_ETS_PORT)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); f_selfOrClientSyncAndVerdict(LibDiameter_TypesAndValues.c_sync1, f_getVerdict()); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // receiving 200 OK response. f_awaitingResponse(mw_Response_PchargingVector(200, vc_callId, vc_cSeq, mw_pChargingVector(?,?))); //Postamble f_RemoveRegistration(vc_cSeq); f_SIP_postamble_IMS1_withoutRegistration(); }// end f_TC_DH_AS_UD_01_CSCF }//end group TP_ASRole_UserData group TP_ASRole_ProfileUpdate { function f_TC_DH_AS_PU_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_DH_AS_PU_01_CSCF }// end group TP_ASRole_ProfileUpdate group TP_ASRole_SubscriptionNotification{ function f_TC_DH_AS_SN_01_CSCF(in CSeq p_cSeq_s) runs on ImsComponent { f_TC_SH_AS_MS_01_CSCF(p_cSeq_s); }// end f_TC_DH_AS_SN_01_CSCF }// end group TP_ASRole_SubscriptionNotification } //end TP_DH_ASRole }//end module DiameterShDh_SIP_TCFunctions
ttcn/DiameterShDh_TCFunctions.ttcn3 +0 −44 Original line number Original line Diff line number Diff line Loading @@ -2370,28 +2370,6 @@ module DiameterShDh_TCFunctions { } // End of group TP_SLFRole_SubscriptionNotification } // End of group TP_SLFRole_SubscriptionNotification group TP_SLFRole_PushNotification{ function f_TC_DH_SLF_PN_01() runs on DiameterShDh { // Local variables // Preamble f_preamble_Dh_AS(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_postamble_Dh_AS(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_DH_SLF_PN_01() } // End of group TP_SLFRole_PushNotification } // End of group TP_SLFRole } // End of group TP_SLFRole group TP_DH_ASRole { // §5.2.3.2 group TP_DH_ASRole { // §5.2.3.2 Loading Loading @@ -2532,28 +2510,6 @@ module DiameterShDh_TCFunctions { } // End of group TP_ASRole_SubscriptionNotification } // End of group TP_ASRole_SubscriptionNotification group TP_ASRole_PushNotification{ function f_TC_DH_AS_PN_01() runs on DiameterShDh { // Local variables // Preamble f_preamble_Dh_SLF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); f_postamble_Dh_SLF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_DH_AS_PN_01() } // End of group TP_ASRole_PushNotification } // End of group TP_DH_ASRole } // End of group TP_DH_ASRole } // End of group TP_Dh_Role } // End of group TP_Dh_Role Loading
ttcn/DiameterShDh_TestCases.ttcn3 +58 −26 Original line number Original line Diff line number Diff line Loading @@ -14,10 +14,19 @@ module DiameterShDh_TestCases { import from LibDiameter_Interface all; import from LibDiameter_Interface all; import from LibDiameter_TypesAndValues all; import from LibDiameter_TypesAndValues all; //AtsIms //LibSip import from LibSip_Interface all; import from LibSip_SIPTypesAndValues all; //LibIms import from LibIms_SIPTypesAndValues all; import from LibIms_Interface all; //AtsShDh import from DiameterShDh_TestConfiguration all; import from DiameterShDh_TestConfiguration all; import from DiameterShDh_TestSystem all; import from DiameterShDh_TestSystem all; import from DiameterShDh_TCFunctions all; import from DiameterShDh_TCFunctions all; import from DiameterShDh_SIP_TCFunctions all; import from DiameterShDh_PICS all; import from DiameterShDh_PICS all; import from DiameterShDh_PIXITS all; import from DiameterShDh_PIXITS all; import from DiameterShDh_Steps all; import from DiameterShDh_Steps all; Loading Loading @@ -2720,6 +2729,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_MS_01() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_MS_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2728,15 +2739,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_MS_01()); v_diameterSh_hss.start(f_TC_SH_AS_MS_01()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_MS_01_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_MS_01 } // End of testcase TC_SH_AS_MS_01 Loading Loading @@ -2777,6 +2791,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_01() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2785,15 +2801,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_01()); v_diameterSh_hss.start(f_TC_SH_AS_UD_01()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_01_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_01 } // End of testcase TC_SH_AS_UD_01 Loading Loading @@ -2832,6 +2851,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_02() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_02() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2840,15 +2861,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_02()); v_diameterSh_hss.start(f_TC_SH_AS_UD_02()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_02_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_02 } // End of testcase TC_SH_AS_UD_02 Loading Loading @@ -2888,6 +2912,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_03() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_03() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2896,15 +2922,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_03()); v_diameterSh_hss.start(f_TC_SH_AS_UD_03()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_03_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_03 } // End of testcase TC_SH_AS_UD_03 Loading Loading @@ -2943,6 +2972,8 @@ module DiameterShDh_TestCases { testcase TC_SH_AS_UD_04() runs on DiameterShDh system TestAdapter { testcase TC_SH_AS_UD_04() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss; var DiameterShDh v_diameterSh_hss; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -2951,15 +2982,18 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Sh_hssUp(v_diameterSh_hss); f_cf_1Sh1Isc_hssUp(v_diameterSh_hss); // Start // Start v_diameterSh_hss.start(f_TC_SH_AS_UD_04()); v_diameterSh_hss.start(f_TC_SH_AS_UD_04()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_SH_AS_UD_04_CSCF(p_cSeq_s)); } // synchronize PTC on 1 sychronization points // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Sh_hssDown(v_diameterSh_hss); f_cf_1Sh1Isc_hssDown(v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_SH_AS_UD_04 } // End of testcase TC_SH_AS_UD_04 Loading Loading @@ -3058,10 +3092,6 @@ module DiameterShDh_TestCases { group TP_SLFRole_SubscriptionNotification{ group TP_SLFRole_SubscriptionNotification{ } // End of group TP_SLFRole_SubscriptionNotification } // End of group TP_SLFRole_SubscriptionNotification group TP_SLFRole_PushNotification{ } // End of group TP_SLFRole_PushNotification } // End of group TP_SLF_Role } // End of group TP_SLF_Role group TP_AS_Role { // §5.2.3.2 group TP_AS_Role { // §5.2.3.2 Loading Loading @@ -3105,6 +3135,8 @@ module DiameterShDh_TestCases { testcase TC_DH_AS_UD_01() runs on DiameterShDh system TestAdapter { testcase TC_DH_AS_UD_01() runs on DiameterShDh system TestAdapter { // Local variables // Local variables var DiameterShDh v_diameterSh_hss, v_diameterDh_slf; var DiameterShDh v_diameterSh_hss, v_diameterDh_slf; var ImsComponent v_imsComponent_scsf; var CSeq p_cSeq_s := {fieldName := CSEQ_E, seqNumber := 1000, method := "REGISTER"}; // Test control // Test control if (not PICS_AS_IUT) { if (not PICS_AS_IUT) { Loading @@ -3113,16 +3145,19 @@ module DiameterShDh_TestCases { } } // Test component configuration // Test component configuration f_cf_1Dh1Sh_hssSlfUp(v_diameterDh_slf, v_diameterSh_hss); f_cf_1Dh1Sh1Isc_slfUp(v_diameterDh_slf, v_diameterSh_hss, v_imsComponent_scsf); // Start // Start v_diameterDh_slf.start(f_TC_DH_AS_UD_01()); v_diameterDh_slf.start(f_TC_DH_AS_UD_01()); v_diameterSh_hss.start(f_TC_DH_AS_UD_01_HSS()); v_diameterSh_hss.start(f_TC_DH_AS_UD_01_HSS()); if (PX_SIPsupport) { v_imsComponent_scsf.start(f_TC_DH_AS_UD_01_CSCF(p_cSeq_s)); } // synchronize PTC on 2 sychronization points // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_sync1, c_tbDone, c_poDone}); f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, LibDiameter_TypesAndValues.c_sync1, c_tbDone, c_poDone}); f_cf_1Dh1Sh_hssSlfDown(v_diameterDh_slf, v_diameterSh_hss); f_cf_1Dh1Sh1Isc_slfDown(v_diameterDh_slf, v_diameterSh_hss, v_imsComponent_scsf); } // End of testcase TC_DH_AS_UD_01 } // End of testcase TC_DH_AS_UD_01 Loading @@ -3134,9 +3169,6 @@ module DiameterShDh_TestCases { group TP_ASRole_SubscriptionNotification{ group TP_ASRole_SubscriptionNotification{ } // End of group TP_ASRole_SubscriptionNotification } // End of group TP_ASRole_SubscriptionNotification group TP_ASRole_PushNotification{ } // End of group TP_ASRole_PushNotification } // End of group TP_AS_OSARole } // End of group TP_AS_OSARole } // End of group TP_Dh } // End of group TP_Dh Loading
ttcn/DiameterShDh_TestConfiguration.ttcn3 +33 −55 File changed.Preview size limit exceeded, changes collapsed. Show changes