Commit cce14198 authored by rennoch's avatar rennoch
Browse files

additions for VMB and VDS test groups

parent 6e524abf
Loading
Loading
Loading
Loading
+236 −0
Original line number Diff line number Diff line
@@ -1391,6 +1391,242 @@ module DiameterS9_Gxx_TCFunctions {
            } // end function f_TC_VPCRF_VST_05_BBERF1
        }// end group TP_VPCRFRole_VST

        group TP_VPCRFRole_VMB {

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

                f_preamble_PCEF();

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

                f_send_CCR(m_CCR_Gx_InitialRequest_chrgRuleReport
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                               f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                               {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                   valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_send_CCR(m_CCR_Gx_UpdateRequest_chrgRuleReport_EvTri_AnGw
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))},
                			   {m_event_Trigger(AN_GW_CHANGE_E)},
                			   {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_terminate_session_PCEF(); // postamble

                f_postamble_PCEF();

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

            } // end function f_TC_VPCRF_VMB_01_PCEF

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

                f_preamble_PCEF();

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

                f_send_CCR(m_CCR_Gx_InitialRequest_chrgRuleReport
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                               f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                               {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                   valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))}
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_send_CCR(m_CCR_Gx_UpdateRequest_chrgRuleReport_EvTri_IpCanType_RatType
                              (vc_sessionId,
                               vc_originHost,
                               vc_originRealm,
                               vc_destinationRealm,
                               {m_chargRuleReport_RNameStatus(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status(PX_PCC_RULE_STATUS))},
                			   {m_event_Trigger(AN_GW_CHANGE_E)},
                			   m_iP_CAN_Type (PX_IP_CAN_TYPE),
                			   m_rAT_Type (PX_RAT_TYPE)
                               )
                          );

                f_awaiting_CCA(mw_CCA_Gx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_terminate_session_PCEF(); // postamble

                f_postamble_PCEF();

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

            } // end function f_TC_VPCRF_VMB_02_PCEF
                       
        } //end group TP_VPCRFRole_VMB
        
        group TP_VPCRFRole_VDS {

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

                f_preamble_BBERF();

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

                f_send_CCR(m_CCR_Gxx_InitialRequest_SessLink_PDNConn
                               (vc_sessionId,
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                                f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))},
                                omit,//calledStation
                                omit,//PDN_Connection
                                m_sessionLinkingIndicator_dummy(SESSION_LINKING_DEFERRED_E)
                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

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

            } // end function f_TC_VPCRF_VDS_01_BBERF1

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

                f_preamble_BBERF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                //CCR INITIAL REQUEST
                f_initiate_session_BBERF_case2a();

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

                //CCR SESSION MODIFICATION
                f_send_CCR(m_CCR_Gxx_UpdateRequest(vc_sessionId,
                                                vc_originHost,
                                                vc_originRealm,
                                                vc_destinationRealm,
                                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                                m_called_Station_Id(PX_CALLED_STATION_ID_PDN),
                                                omit // qos
                                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

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

            } // end function f_TC_VPCRF_VDS_02_BBERF1

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

                f_preamble_BBERF();

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

                f_send_CCR(m_CCR_Gxx_InitialRequest_SessLink_PDNConn
                               (vc_sessionId,
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                                f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                                {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)),
                                    valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))},
                                {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))},
                				m_called_Station_Id(PX_CALLED_STATION_ID_PDN),
                                omit,//PDN_Connection
                                omit //m_sessionLinkingIndicator_dummy(SESSION_LINKING_DEFERRED_E)
                                )
                          );

                f_awaiting_CCA(mw_CCA_Gxx_basic(vc_sessionId, vc_originHost, vc_originRealm));

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

                f_terminate_session_BBERF_case2a(); // postamble

                f_postamble_BBERF();

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

            } // end function f_TC_VPCRF_VDS_03_BBERF1
                                                
        } //end group TP_VPCRFRole_VDS
        
        group TP_VPCRFRole_VSL {
                                                
        } //end group TP_VPCRFRole_VSL
        
        group TP_VPCRFRole_VIF {            
                                    
        } //end group TP_VPCRFRole_VIF

    } // group TP_VPCRFRole    
    
}// end module DiameterS9_Gxx_TCFunctions
 No newline at end of file
+36 −0
Original line number Diff line number Diff line
@@ -216,6 +216,42 @@ module DiameterS9_Gxx_Templates {
                    }
                }

                template CCR_MSG m_CCR_Gx_UpdateRequest_chrgRuleReport_EvTri_AnGw(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 CCR_MSG.cCR_Body.charging_Rule_Report p_charging_Rule_Report,
                                            template CCR_MSG.cCR_Body.event_Trigger p_eventTrigger,
                                            template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress)
                modifies m_CCR_Gx_basic :={
                    cCR_Body := {
                        cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E),
                        cC_Request_Number := m_cC_Request_Number(1),
                        charging_Rule_Report := p_charging_Rule_Report,
                        event_Trigger := p_eventTrigger,
                        aN_GW_Address := p_anGwAddress
                    }
                }

                template CCR_MSG m_CCR_Gx_UpdateRequest_chrgRuleReport_EvTri_IpCanType_RatType(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 CCR_MSG.cCR_Body.charging_Rule_Report p_charging_Rule_Report,
                                            template CCR_MSG.cCR_Body.event_Trigger p_eventTrigger,
                                            template CCR_MSG.cCR_Body.iP_CAN_Type p_ipCanType,
                                            template CCR_MSG.cCR_Body.rAT_Type p_ratType)
                modifies m_CCR_Gx_basic :={
                    cCR_Body := {
                        cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E),
                        cC_Request_Number := m_cC_Request_Number(1),
                        charging_Rule_Report := p_charging_Rule_Report,
                        event_Trigger := p_eventTrigger,
                        iP_CAN_Type := p_ipCanType,
                        rAT_Type := p_ratType
                    }
                }

                template CCR_MSG m_CCR_Gx_TerminationRequest(template Session_Id_AVP p_sessionId,
                                            template Origin_Host_AVP p_originHost,
                                            template Origin_Realm_AVP p_originRealm,