Loading ttcn/DiameterShDh_PICS.ttcn3 +8 −2 Original line number Diff line number Diff line Loading @@ -9,17 +9,23 @@ module DiameterShDh_PICS { group PICS_A2{ /** * @desc Does AS act as the IUT? * @desc Does IUT act as HSS? * @see ETSI TS 103 571-1 V0.0.2 (2018-09) A.2/1 */ modulepar boolean PICS_HSS_IUT := false; /** * @desc Does CTF act as the IUT? * @desc Does IUT act as AS? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 */ modulepar boolean PICS_AS_IUT := false; /** * @desc Does IUT act as SLF? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 */ modulepar boolean PICS_SLF_IUT := false; } // End of group PICS_A2 group PICS_A3 { Loading ttcn/DiameterShDh_TCFunctions.ttcn3 +28 −1 Original line number Diff line number Diff line Loading @@ -1836,7 +1836,34 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody // TestBody f_send_UDR( md_uDR( vc_sessionId, md_udrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm // containing a Destination-Realm AVP // not containing a User-Identity AVP // Containing a Data-Reference AVP ) ) ); f_awaiting_UDA( mdw_uDA( ?, // containing a Session-ID AVP mdw_udaBodyAvps_redirect( m_resultCode( // containing containing a Result-Code AVP DIAMETER_REDIRECT_INDICATION_E // indicating DIAMETER_REDIRECT_INDICATION (3006). ), vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, // containing an Origin-Realm AVP // containing a User-Identity AVP // containing a Data-Reference AVP mw_redirect_host ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading ttcn/DiameterShDh_Templates.ttcn3 +25 −1 Original line number Diff line number Diff line Loading @@ -135,8 +135,19 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data } } // End of group sendingTemplatesForAVPs group receivingTemplatesForAVPs{ template (present) Redirect_Host_AVP mw_redirect_host( template (present) Diameter_Identity p_aVP_Data := ? ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_redirect_Host_AVP_Code, ?, ?), aVP_Data := p_aVP_Data } } // End of group receivingTemplatesForAVPs } // End of group SpecificAVPHeaders } // End of group AvpsTemplates Loading Loading @@ -598,6 +609,19 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template mdw_udaBodyAvps template (present) UDA_Body_AVP mdw_udaBodyAvps_redirect( template (present) Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Redirect_Host_AVP p_redirect_Host_AVP ) modifies mw_UDA_Body_dummy := { result_Code := p_resultCode, experimental_Result := omit, origin_Host := p_originHost, origin_Realm := p_originRealm, aVP_Type := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, ?}) } // End of template mdw_udaBodyAvps_redirect template (present) Experimental_Result_AVP mw_experimentalResult( template (present) Experimental_Result_Type p_expResultCode ) := { Loading ttcn/DiameterShDh_TestCases.ttcn3 +194 −102 Original line number Diff line number Diff line Loading @@ -132,7 +132,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -157,7 +161,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading @@ -183,7 +187,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading Loading @@ -235,7 +243,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading Loading @@ -287,7 +299,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading Loading @@ -341,7 +357,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -366,7 +386,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading @@ -377,7 +397,7 @@ module DiameterShDh_TestCases { * indicating IMS Public User Identity * containing a Data-Reference AVP * indicating IPAddressSecurityBindingInformation (22) sends a UD-Answer * sends a UD-Answer * containing a Session-ID AVP * containing an Experimental-Result AVP * indicating DIAMETER_ERROR_OPERATION_NOT_ALLOWED Loading @@ -395,7 +415,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -420,7 +444,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading @@ -446,7 +470,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -471,7 +499,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading Loading @@ -2896,6 +2924,70 @@ module DiameterShDh_TestCases { //} // End of group TP_SLFRole_MessageSyntax group TP_SLFRole_UserData{ /** * @desc Verify that the IUT processes a UD-Request and sends corresponding UD-Answer. * <pre> * Pics Selection: PICS_SLF_IUT * Initial conditions: * with { * * } * Expected behaviour: * ensure that { * when { * the IUT receives a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP * containing an Origin-Host AVP * containing an Origin-Realm AVP * containing a Destination-Realm AVP * not containing a User-Identity AVP * containing a Data-Reference AVP * } * then { * the IUT sends a UD-Answer * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP * containing an Origin-Host AVP * containing an Origin-Realm AVP * containing an Redirect-Host AVP * indicating the HSS identity to be used * not containing an Experimental-Result AVP * containing a Result-Code AVP * indicating DIAMETER_REDIRECT_INDICATION (3006). * } * } * </pre> * * @version 0.0.6 * @see ETSI TS 103 571-2 TP_DH_SLF_UD_01 */ testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { // Local variables var DiameterShDh v_diameterSh_slf; // Test control if (not PICS_SLF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SLF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Dh_slfUp(v_diameterSh_slf); // Start v_diameterSh_slf.start(f_TC_DH_SLF_UD_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Dh_slfDown(v_diameterSh_slf); } // End of testcase TC_DH_SLF_UD_01 } // End of group TP_SLFRole_UserData group TP_SLFRole_ProfileUpdate{ Loading Loading
ttcn/DiameterShDh_PICS.ttcn3 +8 −2 Original line number Diff line number Diff line Loading @@ -9,17 +9,23 @@ module DiameterShDh_PICS { group PICS_A2{ /** * @desc Does AS act as the IUT? * @desc Does IUT act as HSS? * @see ETSI TS 103 571-1 V0.0.2 (2018-09) A.2/1 */ modulepar boolean PICS_HSS_IUT := false; /** * @desc Does CTF act as the IUT? * @desc Does IUT act as AS? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 */ modulepar boolean PICS_AS_IUT := false; /** * @desc Does IUT act as SLF? * @see ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 */ modulepar boolean PICS_SLF_IUT := false; } // End of group PICS_A2 group PICS_A3 { Loading
ttcn/DiameterShDh_TCFunctions.ttcn3 +28 −1 Original line number Diff line number Diff line Loading @@ -1836,7 +1836,34 @@ module DiameterShDh_TCFunctions { f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); //TODO TestBody // TestBody f_send_UDR( md_uDR( vc_sessionId, md_udrBodyAvps( vc_originHost, // containing an Origin-Host AVP vc_originRealm, // containing an Origin-Realm AVP vc_destinationRealm // containing a Destination-Realm AVP // not containing a User-Identity AVP // Containing a Data-Reference AVP ) ) ); f_awaiting_UDA( mdw_uDA( ?, // containing a Session-ID AVP mdw_udaBodyAvps_redirect( m_resultCode( // containing containing a Result-Code AVP DIAMETER_REDIRECT_INDICATION_E // indicating DIAMETER_REDIRECT_INDICATION (3006). ), vc_originHost_IUT, // containing an Origin-Host AVP vc_originRealm_IUT, // containing an Origin-Realm AVP // containing a User-Identity AVP // containing a Data-Reference AVP mw_redirect_host ))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); Loading
ttcn/DiameterShDh_Templates.ttcn3 +25 −1 Original line number Diff line number Diff line Loading @@ -135,8 +135,19 @@ module DiameterShDh_Templates { aVP_Data := p_aVP_Data } } // End of group sendingTemplatesForAVPs group receivingTemplatesForAVPs{ template (present) Redirect_Host_AVP mw_redirect_host( template (present) Diameter_Identity p_aVP_Data := ? ) := { aVP_Header := mw_aVP_HeaderVid_Mbit1(c_redirect_Host_AVP_Code, ?, ?), aVP_Data := p_aVP_Data } } // End of group receivingTemplatesForAVPs } // End of group SpecificAVPHeaders } // End of group AvpsTemplates Loading Loading @@ -598,6 +609,19 @@ module DiameterShDh_Templates { origin_Realm := p_originRealm } // End of template mdw_udaBodyAvps template (present) UDA_Body_AVP mdw_udaBodyAvps_redirect( template (present) Result_Code_AVP p_resultCode, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Redirect_Host_AVP p_redirect_Host_AVP ) modifies mw_UDA_Body_dummy := { result_Code := p_resultCode, experimental_Result := omit, origin_Host := p_originHost, origin_Realm := p_originRealm, aVP_Type := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, ?}) } // End of template mdw_udaBodyAvps_redirect template (present) Experimental_Result_AVP mw_experimentalResult( template (present) Experimental_Result_Type p_expResultCode ) := { Loading
ttcn/DiameterShDh_TestCases.ttcn3 +194 −102 Original line number Diff line number Diff line Loading @@ -132,7 +132,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -157,7 +161,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading @@ -183,7 +187,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading Loading @@ -235,7 +243,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading Loading @@ -287,7 +299,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading Loading @@ -341,7 +357,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -366,7 +386,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading @@ -377,7 +397,7 @@ module DiameterShDh_TestCases { * indicating IMS Public User Identity * containing a Data-Reference AVP * indicating IPAddressSecurityBindingInformation (22) sends a UD-Answer * sends a UD-Answer * containing a Session-ID AVP * containing an Experimental-Result AVP * indicating DIAMETER_ERROR_OPERATION_NOT_ALLOWED Loading @@ -395,7 +415,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -420,7 +444,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading @@ -446,7 +470,11 @@ module DiameterShDh_TestCases { // Local variables var DiameterShDh v_diameterSh_as; //TODO Test control - PICS // Test control - PICS if (not PICS_HSS_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Sh_asUp(v_diameterSh_as); Loading @@ -471,7 +499,7 @@ module DiameterShDh_TestCases { * } * Expected behaviour: * Ensure that the IUT on receipt of a UD-Request * on receipt of a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP Loading Loading @@ -2896,6 +2924,70 @@ module DiameterShDh_TestCases { //} // End of group TP_SLFRole_MessageSyntax group TP_SLFRole_UserData{ /** * @desc Verify that the IUT processes a UD-Request and sends corresponding UD-Answer. * <pre> * Pics Selection: PICS_SLF_IUT * Initial conditions: * with { * * } * Expected behaviour: * ensure that { * when { * the IUT receives a UD-Request * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP * containing an Origin-Host AVP * containing an Origin-Realm AVP * containing a Destination-Realm AVP * not containing a User-Identity AVP * containing a Data-Reference AVP * } * then { * the IUT sends a UD-Answer * containing a Session-ID AVP * containing a Vendor-Specific-Application-Id AVP * containing an Auth-Session-State AVP * containing an Origin-Host AVP * containing an Origin-Realm AVP * containing an Redirect-Host AVP * indicating the HSS identity to be used * not containing an Experimental-Result AVP * containing a Result-Code AVP * indicating DIAMETER_REDIRECT_INDICATION (3006). * } * } * </pre> * * @version 0.0.6 * @see ETSI TS 103 571-2 TP_DH_SLF_UD_01 */ testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { // Local variables var DiameterShDh v_diameterSh_slf; // Test control if (not PICS_SLF_IUT) { log("*** " & __SCOPE__ & ": ERROR: 'PICS_SLF_IUT' required for executing the TC. ***"); stop; } // Test component configuration f_cf_1Dh_slfUp(v_diameterSh_slf); // Start v_diameterSh_slf.start(f_TC_DH_SLF_UD_01()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone}); f_cf_1Dh_slfDown(v_diameterSh_slf); } // End of testcase TC_DH_SLF_UD_01 } // End of group TP_SLFRole_UserData group TP_SLFRole_ProfileUpdate{ Loading