Commit 0a40f94c authored by garciay's avatar garciay
Browse files

Terminated development of TC_HSS_DSD_xx

Start development of TC_HSS_AIR_xx
parent af388ae3
Loading
Loading
Loading
Loading
+60 −4
Original line number Diff line number Diff line
@@ -2710,7 +2710,7 @@ module DiameterS6a_HSS_TCFunctions {
                                PX_ReSYNCHRONISATION_INFO 
                            )
                        )
                    ) // End of md_airBodyAvps_TC_05
                    ) // End of md_airBodyAvps_TC_06
                ) // End of md_AIR_TCs
            );
            
@@ -2778,7 +2778,7 @@ module DiameterS6a_HSS_TCFunctions {
                                PX_ReSYNCHRONISATION_INFO 
                            )
                        )
                    ) // End of md_airBodyAvps_TC_05
                    ) // End of md_airBodyAvps_TC_07
                ) // End of md_AIR_TCs
            );
            
@@ -2814,18 +2814,74 @@ module DiameterS6a_HSS_TCFunctions {
            
        } // End of TC function f_TC_HSS_AIR_07
        
        /**
         * @desc    Verify that the IUT when receiving AI-Request and in case if no corresponding pre-computed AV is available and the AuC is unable to calculate any corresponding AVs due to unknown failures, such as the internal database error, the IUT shall return AI-Answer with appropriate result code
         */
        function f_TC_HSS_AIR_08() runs on TestAdapter {
            
            // Local variables
            var DIAMETER_MSG v_result;
            
            // Preamble
            // Clause 'Initial conditions'
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            // Clause 'when': the IUT receives an AI-Request
            // FIXME How to achieve in case if the AuC is unable to calculate any corresponding AVs
            f_triggerAirMessage(
                md_AIR_TCs( 
                    vc_sessionId,
                    md_airBodyAvps_TC_08(
                        md_auth_Session_State_noStateMaintained,
                        vc_originHost,
                        vc_originRealm,
                        vc_destinationRealm,
                        md_user_Name(                               // containing a User-Name AVP
                             PX_USR_NAME),                          //     indicating known IMSI
                        m_visitedPLMNId_dummy,
                        m_reqEUTRANAuthInfo(                        // containing a Requested-EUTRAN-Authentication-Info AVP
                            m_re_synchronization_Info_AVP(          //     containing a Re-Synchronization-Info AVP
                                PX_ReSYNCHRONISATION_INFO 
                            )
                        )
                    ) // End of md_airBodyAvps_TC_08
                ) // End of md_AIR_TCs
            );
            
            // Clause 'then'
            // Clause 'then': the IUT sends an AI-Answer
            tc_ac.start;
            alt {
                [] MME_S6a.receive( 
                    mw_mmeAuthenticationInformationAnswer(
                        mdw_AIA_TCs( 
                            vc_sessionId,                                           // containing a Session-ID AVP
                            mdw_aiaBodyAvps_TC_08( 
                            mw_experimentalResult(                                  // containing an Experimental-Result AVP
                                mw_experimentalResultCode(                          //     containing an Experimental-Result-Code AVP
                                    DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE_E      //         indicating DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE
                )))))) -> value v_result { // Expected AI-Answer message 
                    tc_ac.stop;
                    if (ispresent(v_result.aIA_MSG.aIA_Body.result_Code)) {         // not containing a Result-Code AVP
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                        log("*** " & __SCOPE__ & ": FAIL: Authentication-Info AVP was not expected here. ***");
                    } else {
                        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
            f_postamble_HSS();
            f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
            
        } // End of TC function f_TC_HSS_AIR_08
        
+46 −1
Original line number Diff line number Diff line
@@ -2601,10 +2601,38 @@ module DiameterS6a_Templates {
                                                                       in template (value) Visited_PLMN_Id_AVP p_visited_PLMN_Id,
                                                                       in template (value) Req_EUTRAN_Auth_Info_AVP p_req_EUTRAN_Auth_Info
                    ) modifies md_airBodyAvps_TC_01 := {
                    } // End of template md_airBodyAvps_TC_06
                    } // End of template md_airBodyAvps_TC_07
                    
                } // End of group f_TC_HSS_AIR_07
                
                /**
                 * @desc Send emplates for TC_HSS_AIR_08
                 */
                group f_TC_HSS_AIR_08 {
                    
                    /**
                     * @desc Send template for AIR message body 
                     * @param p_auth_Session_State      Specifies if the state is maintained for a particular session
                     * @param p_originHost              Identifies the endpoint that originated the Diameter message
                     * @param p_originRealm             Realm of the originator
                     * @param p_destinationRealm        The realm to which the message is to be routed
                     * @param p_user_Name               User-Name
                     * @param p_visited_PLMN_Id         Concatenation of MCC and MNC
                     * @param p_req_EUTRAN_Auth_Info    Information related to the to authentication requests for UTRAN or GERAN
                     */
                    template (value) AIR_Body_AVP md_airBodyAvps_TC_08(
                                                                       in template (value) Auth_Session_State_AVP p_auth_Session_State,
                                                                       in template (value) Origin_Host_AVP p_originHost,
                                                                       in template (value) Origin_Realm_AVP p_originRealm,
                                                                       in template (value) Destination_Realm_AVP p_destinationRealm,
                                                                       in template (value) User_Name_AVP p_user_Name,
                                                                       in template (value) Visited_PLMN_Id_AVP p_visited_PLMN_Id,
                                                                       in template (value) Req_EUTRAN_Auth_Info_AVP p_req_EUTRAN_Auth_Info
                    ) modifies md_airBodyAvps_TC_01 := {
                    } // End of template md_airBodyAvps_TC_08
                    
                } // End of group f_TC_HSS_AIR_08
                
            } // End of group S6aModified_request_templates_send

            group S6aModified_request_templates_receive {
@@ -3868,6 +3896,23 @@ module DiameterS6a_Templates {
                    
                } // End of group t_TC_HSS_AIR_07
                
                /**
                 * @desc Receive templates for TC_HSS_AIR_08
                 */
                group t_TC_HSS_AIR_08 {
                    
                    /**
                     * @desc Receive template for AIA message body
                     * @param p_experimental_Result Experimental Result Code value
                     */
                    template (present) AIA_Body_AVP mdw_aiaBodyAvps_TC_08(
                                                                          in template (present) Experimental_Result_AVP p_experimental_Result
                    ) modifies mdw_aiaBodyAvps_TC_03 := {
                        experimental_Result           := p_experimental_Result
                    } // End of template mdw_aiaBodyAvps_TC_08
                    
                } // End of group t_TC_HSS_AIR_08
                
            } // End of group S6aModified_answer_templates_receive
            
        } // End of group S6aModified_templates