Commit 2f183745 authored by rennoch's avatar rennoch
Browse files

HSS_AIR_17-18

parent b271ef04
Loading
Loading
Loading
Loading
+93 −5
Original line number Diff line number Diff line
@@ -3371,11 +3371,54 @@ module DiameterS6a_HSS_TCFunctions {
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            f_triggerAirMessage(
                md_AIR_TCs( 
                    vc_sessionId,                                   // containing a Session-ID AVP
                    md_airBodyAvps_TC_10(
                        md_auth_Session_State_noStateMaintained,    // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                        vc_originHost,                              // containing an Origin-Host AVP
                        vc_originRealm,                             // containing an Origin-Realm AVP
                        vc_destinationRealm,                        // containing a Destination-Realm AVP
                        md_user_Name(                               // containing a User-Name AVP
                                    PX_USR_NAME),                   //     indicating known IMSI
                        m_visitedPLMNId_dummy,                      // containing a Visited-PLMN-ID AVP
                        omit,
                        m_reqEUTRANAuthInfo_NumReqVec(                        // containing a Requested-EUTRAN-Authentication-Info AVP
                            m_numberOfRequestedVectorsAVP(
                                2           //     containing a Number_Of_Requested_Vectors_AVP
                            )
                        )
                    ) // End of md_airBodyAvps_TC_03
                ) // End of md_AIR_TCs
            );
                        
            // Clause 'then'
            tc_ac.start;
            alt {
                [] MME_S6a.receive( 
                    mw_mmeAuthenticationInformationAnswer(
                        mdw_AIA_TCs( 
                            vc_sessionId,                                           // containing a Session-ID AVP
                            mdw_aiaBodyAvps_TC_06( 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                mdw_authentication_Info_e_UTRAN_Vectors(            // containing an E-UTRAN-Vector AVP
                                    superset(mw_e_UTRAN_Vector_itemNumber))         //     containing item number AVP
                )))) { // Expected AI-Answer message 
                    tc_ac.stop;
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    log("*** " & __SCOPE__ & ": PASS: Expected AI-Answer message was received. ***");
                }
                [] tc_ac.timeout {
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***");
                }
            } // End of 'altstep' statement
                        
            // Postamble
            
@@ -3386,11 +3429,56 @@ module DiameterS6a_HSS_TCFunctions {
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
                        
            // Test Body
            // Clause 'when'
            f_triggerAirMessage(
                md_AIR_TCs( 
                    vc_sessionId,                                   // containing a Session-ID AVP
                    md_airBodyAvps_TC_10(
                        md_auth_Session_State_noStateMaintained,    // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                        vc_originHost,                              // containing an Origin-Host AVP
                        vc_originRealm,                             // containing an Origin-Realm AVP
                        vc_destinationRealm,                        // containing a Destination-Realm AVP
                        md_user_Name(                               // containing a User-Name AVP
                                    PX_USR_NAME),                   //     indicating known IMSI
                        m_visitedPLMNId_dummy,                      // containing a Visited-PLMN-ID AVP
                        omit,
                        m_reqUTRANGERANAuthInfoNumReq(                        // containing a Requested-EUTRAN-Authentication-Info AVP
                            m_numberOfRequestedVectorsAVP(
                                2           //     containing a Number_Of_Requested_Vectors_AVP
                            )
                        )
                    ) // End of md_airBodyAvps_TC_03
                ) // End of md_AIR_TCs
            );
                        
            // Clause 'then'
            tc_ac.start;
            alt {
                [] MME_S6a.receive( 
                    mw_mmeAuthenticationInformationAnswer(
                        mdw_AIA_TCs( 
                            vc_sessionId,                                           // containing a Session-ID AVP
                            mdw_aiaBodyAvps_TC_06( 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                mdw_authentication_Info_UTRAN_GERAN_Vectors(            // containing an E-UTRAN-Vector AVP
                                    superset(mw_UTRAN_Vector_itemNumber),
                                    superset(mw_GERAN_Vector_itemNumber)
                                    )         //     containing item number AVP
                )))) { // Expected AI-Answer message 
                    tc_ac.stop;
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    log("*** " & __SCOPE__ & ": PASS: Expected AI-Answer message was received. ***");
                }
                [] tc_ac.timeout {
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***");
                }
            } // End of 'altstep' statement
                        
            // Postamble
            
+27 −1
Original line number Diff line number Diff line
@@ -817,6 +817,12 @@ module DiameterS6a_Templates {
                    e_UTRAN_Vector  := subset(p_e_UTRAN_Vector)
                } // End of template mdw_authentication_Info_e_UTRAN_Vector
                
                template (present) Authentication_Info_AVP mdw_authentication_Info_e_UTRAN_Vectors(
                    in template (present) Authentication_Info_AVP.e_UTRAN_Vector p_e_UTRAN_Vectors
                ) modifies mw_authentication_Info_dummy := {
                    e_UTRAN_Vector  := p_e_UTRAN_Vectors
                } // End of template mdw_authentication_Info_e_UTRAN_Vectors
                
                template (present) Authentication_Info_AVP mdw_authentication_Info_UTRAN_Vector(
                    in template (present) UTRAN_Vector_AVP p_uTRAN_Vector
                ) modifies mw_authentication_Info_dummy := {
@@ -829,6 +835,14 @@ module DiameterS6a_Templates {
                    gERAN_Vector  := subset(p_gERAN_Vector)
                } // End of template mdw_authentication_Info_GERAN_Vector
                
                template (present) Authentication_Info_AVP mdw_authentication_Info_UTRAN_GERAN_Vectors(
                    in template (present) Authentication_Info_AVP.uTRAN_Vector p_uTRAN_Vectors,
                    in template (present) Authentication_Info_AVP.gERAN_Vector p_gERAN_Vectors
                ) modifies mw_authentication_Info_dummy := {
                    uTRAN_Vector  := p_uTRAN_Vectors,
                    gERAN_Vector  := p_gERAN_Vectors
                } // End of template mdw_authentication_Info_UTRAN_GERAN_Vectors                
                
                template (present) E_UTRAN_Vector_AVP mw_e_UTRAN_Vector_dummy := {
                    aVP_Header     := m_aVP_HeaderVid_Mbit1 ( c_e_UTRAN_Vector_AVP_Code, 4, c_vendId3gpp ),
                    item_Number    := *,
@@ -839,6 +853,10 @@ module DiameterS6a_Templates {
                    aVP_Type       := *
                } // End of template mw_e_UTRAN_Vector_dummy
                
                template (present) E_UTRAN_Vector_AVP mw_e_UTRAN_Vector_itemNumber modifies mw_e_UTRAN_Vector_dummy := {
                    item_Number    := ?
                } // End of template mw_e_UTRAN_Vector_itemNumber
                
                template (present) UTRAN_Vector_AVP mw_UTRAN_Vector_dummy := {
                    aVP_Header     := m_aVP_HeaderVid_Mbit1 ( c_utran_Vector_AVP_Code, 4, c_vendId3gpp ),
                    item_Number    := *,
@@ -850,6 +868,10 @@ module DiameterS6a_Templates {
                    aVP_Type       := *
                } // End of template mw_UTRAN_Vector_dummy

                template (present) UTRAN_Vector_AVP mw_UTRAN_Vector_itemNumber modifies mw_UTRAN_Vector_dummy := {
                    item_Number    := ?
                } // End of template mw_UTRAN_Vector_itemNumber
                
                template (present) GERAN_Vector_AVP mw_GERAN_Vector_dummy := {
                    aVP_Header     := m_aVP_HeaderVid_Mbit1 ( c_geran_Vector_AVP_Code, 4, c_vendId3gpp ),
                    item_Number    := *,
@@ -859,6 +881,10 @@ module DiameterS6a_Templates {
                    aVP_Type       := *
                } // End of template mw_GERAN_Vector_dummy
                
                template (present) GERAN_Vector_AVP mw_GERAN_Vector_itemNumber modifies mw_GERAN_Vector_dummy := {
                    item_Number    := ?
                } // End of template mw_GERAN_Vector_itemNumber

                template Req_EUTRAN_Auth_Info_AVP mw_reqEUTRANAuthInfo_dummy := {
                    aVP_Header                      := m_aVP_HeaderVid_Mbit1 ( c_requested_EUTRAN_Authentication_Info_AVP_Code, 4, c_vendId3gpp ),
                    number_Of_Requested_Vectors     := *,
@@ -4574,7 +4600,7 @@ module DiameterS6a_Templates {
                    */
                    template (present) AIA_Body_AVP mdw_aiaBodyAvps_TC_06(
                        in template (present) Result_Code_AVP p_result_Code,
                        in template (present) Authentication_Info_AVP p_authentication_Info
                        in template Authentication_Info_AVP p_authentication_Info
                    ) modifies mw_S6a_AIA_Body_dummy := {
                        result_Code           := p_result_Code,
                        authentication_Info   := p_authentication_Info