Commit 627344c0 authored by rennoch's avatar rennoch
Browse files

correction of various message "directions" in HSS_UA and HSS_PP tests

parent d1dbc2aa
Loading
Loading
Loading
Loading
+172 −81
Original line number Diff line number Diff line
@@ -3004,6 +3004,8 @@ module DiameterCxDx_Cx_TCFunctions {
                    } else {
                        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    }
                    
                    // Postamble
                    f_send_RTA(m_RTA_Msg(vc_sessionId,
                                         m_RTA_basic(vc_originHost,
                                                     vc_originRealm,
@@ -3011,8 +3013,6 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    
                    
                    // Postamble
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    f_postamble_HSS();
                    
@@ -3064,6 +3064,8 @@ module DiameterCxDx_Cx_TCFunctions {
                    } else {
                        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    }
                    
                    // Postamble
                    f_send_RTA(m_RTA_Msg(vc_sessionId,
                                         m_RTA_basic(vc_originHost,
                                                     vc_originRealm,
@@ -3071,8 +3073,6 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));

                    
                    // Postamble
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    f_postamble_HSS();
                    
@@ -3124,6 +3124,8 @@ module DiameterCxDx_Cx_TCFunctions {
                    } else {
                        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    }
                    
                    // Postamble
                    f_send_RTA(m_RTA_Msg(vc_sessionId,
                                         m_RTA_basic(vc_originHost,
                                                     vc_originRealm,
@@ -3131,8 +3133,6 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));

                    
                    // Postamble
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                    f_postamble_HSS();
                    
@@ -3750,15 +3750,12 @@ module DiameterCxDx_Cx_TCFunctions {
                                                                //     indicating the private user identity
                                mw_user_Data_dummy              // containing a User-Data AVP
                    )));
                    f_awaiting_PPA(
                        mw_PPA_Msg(
                            vc_sessionId, 
                            mw_PPA_ResulExpre(
                                mw_resultCode(                  // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E          //     indicating DIAMETER_SUCCESS
                                ),
                                omit                            // not containing an Experimental-Result AVP
                    )));
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
@@ -3801,15 +3798,13 @@ module DiameterCxDx_Cx_TCFunctions {
                                                                //     indicating the private user identity
                                mw_user_Data_dummy              // containing a User-Data AVP
                    )));
                    f_awaiting_PPA(
                        mw_PPA_Msg(
                            vc_sessionId, 
                            mw_PPA_ResulExpre(
                                mw_resultCode(                  // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E          //     indicating DIAMETER_SUCCESS
                                ),
                                omit                            // not containing an Experimental-Result AVP
                    )));
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
@@ -3853,15 +3848,12 @@ module DiameterCxDx_Cx_TCFunctions {
                                    mw_primary_event_charging_function_name(
                                        PX_DiameterUri
                    )))));
                    f_awaiting_PPA(
                        mw_PPA_Msg(
                            vc_sessionId, 
                            mw_PPA_ResulExpre(
                                mw_resultCode(                  // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E          //     indicating DIAMETER_SUCCESS
                                ),
                                omit                            // not containing an Experimental-Result AVP
                    )));
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
@@ -3905,15 +3897,13 @@ module DiameterCxDx_Cx_TCFunctions {
                                DiameterCxDx_Templates.mw_sIPAuthDataItem_dummy
                                                               // containing a SIP-Auth-Data-Item AVP
                    )));
                    f_awaiting_PPA(
                        mw_PPA_Msg(
                            vc_sessionId, 
                            mw_PPA_ResulExpre(
                                mw_resultCode(                  // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E          //     indicating DIAMETER_SUCCESS
                                ),
                                omit                            // not containing an Experimental-Result AVP
                    )));
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
@@ -3957,19 +3947,12 @@ module DiameterCxDx_Cx_TCFunctions {
                                DiameterCxDx_Templates.mw_sIPAuthDataItem_dummy
                                                                // containing a SIP-Auth-Data-Item AVP
                    )));
                    f_awaiting_PPA(
                        mw_PPA_Msg(
                            vc_sessionId, 
                            mw_PPA_ResulExpre(
                                omit,                           // not containing a Result-Code AVP
                                mw_experimentalResult(          // containing an Experimental-Result-Code AVP
                                                                //     indicating DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA
                                    ?,
                                    mw_experimentalResultCode(
                                        ?, 
                                        DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA_E
                                    )
                                )
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     omit,
									                 m_experimentalResult
									                   (DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA_E)
                                                     )));
                    f_awaiting_RTR(
                        mw_RTR_Msg(
@@ -4029,19 +4012,12 @@ module DiameterCxDx_Cx_TCFunctions {
                                    ),
                                    mw_user_Data_dummy          // containing a User-Data AVP
                    )));
                    f_awaiting_PPA(
                        mw_PPA_Msg(
                            vc_sessionId, 
                            mw_PPA_ResulExpre(
                                omit,                           // not containing a Result-Code AVP
                                mw_experimentalResult(          // containing an Experimental-Result-Code AVP
                                                                //     indicating DIAMETER_ERROR_USER_UNKNOWN
                                    ?,
                                    mw_experimentalResultCode(
                                        ?, 
                                        DIAMETER_ERROR_USER_UNKNOWN_E
                                    )
                                )
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     omit,
								                     m_experimentalResult
								                      (DIAMETER_ERROR_USER_UNKNOWN_E)
                                                     )));
                    f_awaiting_PPR(
                    mw_PPR_Msg(
@@ -5033,21 +5009,136 @@ module DiameterCxDx_Cx_TCFunctions {
                                                                        //     indicating S-CSCF name
                    )));
                    // Clause 'then': the IUT sends an RT-Request to old S-CSCF and sends an MA-Answer to new S_CSCF
                    f_send_RTR(
                        m_RTR_Msg(
                            vc_sessionId,
                            m_RTR_wo_VSAId (
                    f_awaiting_RTR(
                        mw_RTR_Msg(
                            vc_sessionId,                       // containing a Session-ID AVP
                            mw_RTR(
                                vc_originHost,
                                vc_originRealm,
                                m_destinationHost(                      // containing a Destination-Host AVP
                                    PX_ServerName                       //     indicating the previous S-CSCF name
                                vc_destinationHost,
                                vc_destinationRealm,
                                vc_userName,                    // containing a User-Name AVP
                                                                //     indicating the private user identity
                                mw_deregistration_Reason_AVP(   // containing a Deregistration-Reason AVP
                                                                //     indicating any deregistration reason
                                    mw_reason_Code_AVP(NEW_SERVER_ASSIGNED_E)
                    ))));
                    // include to be validated
                    f_send_RTA(m_RTA_Msg(vc_sessionId,
                                         m_RTA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    f_awaiting_MAA( 
                        mw_MAA_Msg(
                            vc_sessionId,
                            mw_MAA_ResulExpreUsrnaSipauthSrvna(
                                mw_resultCode(                              // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E                      //     indicating DIAMETER_SUCCESS
                                ),
                                omit,                                       // not containing an Experimental-Result AVP
                                vc_userName,
                                mw_sIPNumberAuthItems,                      // containing a SIP-Number-Auth-Items AVP
                                                                            //     indicating the number of vectors delivered
                                ?,
                                vc_serverName                               // containing a Server-Name AVP
                                                                            //     indicating the new S-CSCF name
                    )));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
                    f_deRegistratonCx();
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                } // End of function f_TC_CX_HSS_ER_02_I_S

                /*
                 * @desc    Verify that the IUT in case of MA-Request reception including a new S-CSCF name, which is not the same as the previously assigned S-CSCF and IMS Restoration Procedure is not supported than IUT shall send appropriate RT-Request to the old S-CSCF.
                 */
                function f_TC_CX_HSS_ER_03_I_S() runs on DiameterCx {
                    
                    // Local variables
                    
                    // Preamble
                    // Clause 'Initial conditions'
                    f_preamble_HSS();
                    f_registratonCx(); 
                    action("The current S-CSCF is stopped");
                    vc_serverName := m_serverName(PX_OtherServerName);
                    f_initialRegistratonCx(); // Initiate a Re-registration procedure
                    f_s_SAR_SAA();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
                    // Clause 'when': the IUT receives a MA-Request
                    f_send_MAR(
                        m_MAR_Msg(
                            vc_sessionId,
                            m_MAR_withServerName(
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                vc_userName,
                                m_deregistrationReason(                 // containing a Deregistration-Reason AVP
                                    m_reasonCode(
                                        NEW_SERVER_ASSIGNED_E           //     indicating NEW_SERVER_ASSIGNED
                    )))));
                                valueof(vc_publicIdentity),
                                m_sIPNumberAuthItems(1),                // containing a SIP-Number-Auth-Items AVP
                                                                        //     indicating the number of authentication vectors requested
                                DiameterCxDx_Templates.m_sIPAuthDataItem(// containing a SIP-Auth-Data-Item AVP
                                    m_sIPAuthenticationScheme_digest,   //     containing a SIP-Authentication-Scheme AVP
                                                                        //         indicating “Digest-AKAv1-MD5”
                                    -,
                                    -,
                                    -,
                                    omit                                // not containing SIP-Authentication-Context
                                ),
                                vc_serverName                           // containing a Server-Name AVP
                                                                        //     indicating S-CSCF name
                    )));
                    // Clause 'then': the IUT sends an RT-Request to old S-CSCF 
                    f_awaiting_RTR(
                        mw_RTR_Msg(
                            vc_sessionId,                       // containing a Session-ID AVP
                            mw_RTR(
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationHost,
                                vc_destinationRealm,
                                vc_userName,                    // containing a User-Name AVP
                                                                //     indicating the private user identity
                                mw_deregistration_Reason_AVP(   // containing a Deregistration-Reason AVP
                                                                //     indicating any deregistration reason
                                    mw_reason_Code_AVP(NEW_SERVER_ASSIGNED_E)
                    ))));
                    // include to be validated
                    f_send_RTA(m_RTA_Msg(vc_sessionId,
                                         m_RTA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    // Clause 'then': the IUT sends an RT-Request to old S-CSCF
                    f_awaiting_RTR(
                        mw_RTR_Msg(
                            vc_sessionId,                       // containing a Session-ID AVP
                            mw_RTR(
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationHost,
                                vc_destinationRealm,
                                vc_userName,                    // containing a User-Name AVP
                                                                //     indicating the private user identity
                                mw_deregistration_Reason_AVP(   // containing a Deregistration-Reason AVP
                                                                //     indicating any deregistration reason
                                    mw_reason_Code_AVP(SERVER_CHANGE_E)
                    ))));
                    // include to be validated
                    f_send_RTA(m_RTA_Msg(vc_sessionId,
                                         m_RTA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                                                     
                    f_awaiting_MAA( 
                        mw_MAA_Msg(
                            vc_sessionId,
@@ -5069,7 +5160,7 @@ module DiameterCxDx_Cx_TCFunctions {
                    f_deRegistratonCx();
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                } // End of function f_TC_CX_HSS_ER_02_I_S
                } // End of function f_TC_CX_HSS_ER_03_I_S
                
            } // group TP_HSSRole_EH
            
+1 −1
Original line number Diff line number Diff line
@@ -4978,7 +4978,7 @@ module DiameterCxDx_TestCases
                    f_cf_1CxUp_HSS(v_diameterComponent_hss);
                    
                    // Start
                    v_diameterComponent_hss.start(f_TC_CX_HSS_ER_02_I_S()); // Only PICS changed
                    v_diameterComponent_hss.start(f_TC_CX_HSS_ER_03_I_S());
                    
                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClients(1, {c_prDone, c_tbDone, c_poDone});