Commit 537537fa authored by rennoch's avatar rennoch
Browse files

Gx tests: PCEF_MSI03-05

parent 9f95f792
Loading
Loading
Loading
Loading
+128 −0
Original line number Diff line number Diff line
@@ -1179,6 +1179,134 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_MSI_02

        
            /*
            *  @desc	This is the test case function TC_PCEF_MSI_03
            *  @param	
            */
            function f_TC_PCEF_MSI_03()
            runs on DiameterComponent {

               f_preamble_PCRF();
                
               f_awaiting_CCR(mw_CCR_Request(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(INITIAL_REQUEST_E),
                									*, *, *));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig_PackFilt(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(UPDATE_REQUEST_E),
                									mw_chargRuleReport_Status,
                									mw_eventTrigger(IP_CAN_CHANGE_E),
                									mw_packet_Filter_Operation(ADDITION_E),
                									mw_packet_Filter_Information(*,?,?),
                									?));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
    
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

                f_postamble_PCRF();

            } // end function f_TC_PCEF_MSI_03

        
            /*
            *  @desc	This is the test case function TC_PCEF_MSI_04
            *  @param	
            */
            function f_TC_PCEF_MSI_04()
            runs on DiameterComponent {

               f_preamble_PCRF();
                
               f_awaiting_CCR(mw_CCR_Request(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(INITIAL_REQUEST_E),
                									*, *, *));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig_PackFilt(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(UPDATE_REQUEST_E),
                									mw_chargRuleReport_Status,
                									mw_eventTrigger(IP_CAN_CHANGE_E),
                									mw_packet_Filter_Operation(MODIFICATION_E),
                									mw_packet_Filter_Information(*,*,*),
                									*));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
    
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

                f_postamble_PCRF();

            } // end function f_TC_PCEF_MSI_04

        
            /*
            *  @desc	This is the test case function TC_PCEF_MSI_05
            *  @param	
            */
            function f_TC_PCEF_MSI_05()
            runs on DiameterComponent {

               f_preamble_PCRF();
                
               f_awaiting_CCR(mw_CCR_Request(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(INITIAL_REQUEST_E),
                									*, *, *));

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_awaiting_CCR(mw_CCR_Request_ChrgRuleRep_EvtTrig_PackFilt(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(UPDATE_REQUEST_E),
                									mw_chargRuleReport_Status,
                									mw_eventTrigger(IP_CAN_CHANGE_E),
                									mw_packet_Filter_Operation(DELETION_E),
                									mw_packet_Filter_Information(?,*,*),
                									*));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync

                f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm));
    
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

                f_postamble_PCRF();

            } // end function f_TC_PCEF_MSI_05


            
        }//end group  TP_PCEFRole_MSI
        
        group TP_PCEFRole_INV {	//Invalid Behaviour 
+54 −2
Original line number Diff line number Diff line
@@ -76,6 +76,20 @@ module DiameterGx_Templates {
                aVP_Type := omit
            }
            
                            
            template Packet_Filter_Information_AVP mw_packet_Filter_Information_dummy :=
            {
                aVP_Header := mw_aVP_Header(c_vendIdPacket_Filter_Information_AVP),//<AVP header: 1011 ....> 
                packet_Filter_Identifier := *,
                precedence := *,
                packet_Filter_Content := *,
                toS_Traffic_Class := *,
                security_Parameter_Index := *,
                flow_Label := *,
                flow_Direction := *,
                aVP_Type := *
            }         
                
            template Charging_Rule_Install_AVP mw_chrgRuleInstall_dummy :=
            {
                aVP_Header := mw_aVP_Header_any,
@@ -502,6 +516,12 @@ module DiameterGx_Templates {
                aVP_Data := p_avpData
            }      
            
            template Packet_Filter_Operation_AVP mw_packet_Filter_Operation(Packet_Filter_Operation p_avpData) :=
            {
                aVP_Header := mw_aVP_Header(c_vendIdPacket_Filter_Operation_AVP),                
                aVP_Data := p_avpData
            }  
                
            template Experimental_Result_AVP m_experimentalResult(Vendor_Id_AVP p_vendorId, Experimental_Result_Code_AVP p_expResultCode) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdExperimental_Result_AVP,  12/*12-Vendor_Id_AVP*/+12/*12-experimental_Result_Code*/, omit),
@@ -784,6 +804,19 @@ module DiameterGx_Templates {
                pCC_Rule_Status := ?
            }
            
            template Packet_Filter_Information_AVP mw_packet_Filter_Information 
                (template Packet_Filter_Identifier_AVP p_packetFilterIdentifier,
                 template Precedence_AVP p_precedence,
                 template Packet_Filter_Content_AVP p_packetFilterContent)
                modifies mw_packet_Filter_Information_dummy :=
            {
                aVP_Header := mw_aVP_Header(c_vendIdPacket_Filter_Information_AVP),//<AVP header: 1011 ....> 
                packet_Filter_Identifier := p_packetFilterIdentifier,
                precedence := p_precedence,
                packet_Filter_Content := p_packetFilterContent

            }   
            
     	  }//end group awaitingTemplatesForAVPs
        } //end group SpecificAVPHeaders
    } //end group HeaderFieldTemplates
@@ -1094,6 +1127,25 @@ module DiameterGx_Templates {
                routing_Rule_Install := p_routing_Rule_Install
            }
            
            template CCR_MSG mw_CCR_Request_ChrgRuleRep_EvtTrig_PackFilt(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template CC_Request_Type_AVP p_cCRequestType,
            							template Charging_Rule_Report_AVP p_chargingRuleReport,
            							template Event_Trigger_AVP p_eventTrigger,
            							template Packet_Filter_Operation_AVP p_packetFilterOperation,
            							template Packet_Filter_Information_AVP p_packetFilterInformation,
                                        template QoS_Information_AVP p_qoSInformation
                                        ) modifies mw_CCR_basic := {
                subscription_Id := {mw_subscription_Id(mw_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE),mw_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))},
                charging_Rule_Report := superset(p_chargingRuleReport),
                event_Trigger := superset(p_eventTrigger),
                packet_Filter_Operation := p_packetFilterOperation,
                packet_Filter_Information := superset(p_packetFilterInformation),
                qoS_Information := p_qoSInformation
            }
                        
            template RAR_MSG mw_RAR_sessReleaseCause(template Session_Id_AVP p_sessionId,
                                        template Origin_Host_AVP p_originHost,
                                        template Origin_Realm_AVP p_originRealm,