Commit c6f23d61 authored by rennoch's avatar rennoch
Browse files

MME_DSD_04

parent 68be7518
Loading
Loading
Loading
Loading
+48 −3
Original line number Diff line number Diff line
@@ -1509,7 +1509,7 @@ module DiameterS6a_MME_TCFunctions {
            alt {
                []  HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_ExperimentalResult (
                                omit,                                   // NOT containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                *,                                      // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                ?,                                      // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                vc_originHost,                          // containing an Origin-Host AVP
                                vc_originRealm,                         // containing an Origin-Realm AVP
                                v_resultCode )))) {                     // containing an ExpResult AVP
@@ -1576,7 +1576,7 @@ module DiameterS6a_MME_TCFunctions {
            alt {
                []  HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result (
                                v_resultCode,                           // containing a Result-Code AVP indicating DIAMETER_UNABLE_TO_COMPLY
                                *,                                      // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                ?,                                      // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                vc_originHost,                          // containing an Origin-Host AVP
                                vc_originRealm )))) {                   // containing an Origin-Realm AVP
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
@@ -1598,6 +1598,27 @@ module DiameterS6a_MME_TCFunctions {
        function f_TC_MME_DSD_04() runs on TestAdapter {
            
            // Local variables
            var User_Name_AVP               v_user_Name         := md_user_Name ( PX_USR_NAME );
            var Auth_Session_State_AVP        v_noStateMaintained := md_auth_Session_State_noStateMaintained;
            var MIP_Home_Agent_Address_AVP    v_mipHomeAgentAddress     := md_mipHomeAgentAddress ( PX_MIP6_AGENT_IP_ADDRESS );
            var Destination_Realm_AVP         v_mIP6Destination_Realm   := m_destinationRealm ( PX_MIP6_AGENT_DEST_REALM );
            var Destination_Host_AVP          v_mip6Destination_Host    := m_destinationHost ( PX_MIP6_AGENT_DEST_HOST );
            var MIP_Home_Agent_Host_AVP       v_mipHomeAgentHost        := md_mipHomeAgentHost ( v_mIP6Destination_Realm,
                                                                                                v_mip6Destination_Host );
            var MIP6_Agent_Info_AVP           v_mIP6AgentInfo           := md_mip6_Agent_Info_AVP ( v_mipHomeAgentAddress, v_mipHomeAgentHost);
            var All_APN_Conf_Included_Id_AVP  v_allAPNConfIncludedId    := m_allAPNConfIncludedId ( 
                                                                                   MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E );
            var Context_Identifier_AVP        v_contextIdentifier       := md_contextIdentifier ( PX_CONTEXT_ID );
            var PDN_Type_AVP                  v_pdnType                 := m_pdnType ( IPv4_OR_IPv6_E );
            var Service_Selection_AVP         v_serviceSelection        := m_serviceSelection ( PX_SERVICE_SEL );
            var APN_Configuration_AVP         v_apnConfiguration        := m_apnConfiguration ( v_contextIdentifier, v_pdnType,
                                                                                                v_serviceSelection, v_mIP6AgentInfo );
            var APN_Configuration_Profile_AVP v_apnConfigurationProfile := m_apnConfigurationProfile ( v_contextIdentifier,
                                                                                                       v_allAPNConfIncludedId,
                                                                                                       v_apnConfiguration );
                                                                                                       
            var DSR_Flags_AVP                  v_dSR_Flags        := m_dsrFlags_AVP ( bit2int('0010'B) ); // Complete APN Configuration Profile Withdrawal (bit 1)
            var Result_Code_AVP       v_resultCode       := mw_resultCode(DIAMETER_UNABLE_TO_COMPLY_E);
            
            // Preamble
            f_preamble_MME();
@@ -1606,8 +1627,32 @@ module DiameterS6a_MME_TCFunctions {
            
            // Test Body
            // Clause 'when'
            HSS_S6a.send ( m_mmeDeleteSubscriberDataRequest ( md_DSR_TCs ( vc_sessionId, md_dsrBodyAvps_Flags_ContextId (
                                v_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_destinationHost,                     // containing a Destination-Host AVP
                                vc_destinationRealm,                    // containing a Destination-Realm AVP
                                v_user_Name,                            // containing a User-Name AVP
                                v_dSR_Flags,
                                {md_contextIdentifier(PX_CONTEXT_ID)} ))));         // containing a Context-Identifier AVP
            
            // Clause 'then'
            tc_ac.start;
            alt {
                []  HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result (
                                v_resultCode,                           // containing a Result-Code AVP indicating DIAMETER_UNABLE_TO_COMPLY
                                ?,                                      // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                vc_originHost,                          // containing an Origin-Host AVP
                                vc_originRealm )))) {                   // containing an Origin-Realm AVP
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    log("*** " & __SCOPE__ & ": PASS: Expected was received. ***");
                }
                []  tc_ac.timeout {
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***");
                }
            } // End of alt
                        
            // Postamble
            f_postamble_MME();