Commit 8552b760 authored by garciay's avatar garciay
Browse files

STF490: Add new TCs for RO_OCF_MS & RO_TC

parent 6f40a8bb
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -67,4 +67,14 @@ module DiameterRfRo_PICS {
        
    } // End of group PICS_A5
    
    group PICS_A6 {
        
        /**
         * @desc Does OCF support immediate event charging? 
         * @see  ETSI DTS/INT 00121-1 V0.0.6 (2015-07) A.6/3 
         */
        modulepar boolean PICS_RO_OCF_IMMEDIATE_EVENT_CHARGING := true;
        
    } // End of group PICS_A6
    
} // End of module DiameterRfRo_PICS 
 No newline at end of file
+229 −71
Original line number Diff line number Diff line
@@ -692,7 +692,7 @@ module DiameterRfRo_TCFunctions {
                    
                } // End of function f_TC_CTF_MS_02
                
            }//end of group TP_RF_CTF_MS_Role
            } // End of group TP_RF_CTF_MS_Role
            // 5.2.2.2.3 Type of Charging 
            group TP_RF_CTF_TC {
                /**
@@ -746,10 +746,10 @@ module DiameterRfRo_TCFunctions {
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    
                } // End of function f_TC_CTF_TC_01
            }//end of group TP_RF_CTF_TC_Role
            } // End of group TP_RF_CTF_TC_Role
            // 5.2.2.2.4 Error cases
            group TP_RF_CTF_EC {
            }//end of group TP_RF_CTF_EC_Role {
            } // End of group TP_RF_CTF_EC_Role {
        } // End of group TP_RF_CTF_Role
        
    }  // End of group TP_RF_Role
@@ -772,19 +772,44 @@ module DiameterRfRo_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

//                    f_send_CCR(
//                        md_cCR(
//                            vc_sessionId, 
//                            //TODO//md_ccrBody..
//                        )
//                    );

//                    f_awaiting_CCA(
//                        mdw_cCA(
//                        //TODO
//                        )
//                    );
                    f_send_CCR(
                        md_cCR(
                            vc_sessionId,                      // containing a Session-ID AVP
                            md_ccrBodyAvps_TypeOfCharging(
                                vc_originHost,                 // containing an Origin-Host AVP
                                vc_originRealm,                // containing an Origin-Realm AVP
                                vc_destinationRealm,           // containing a Destination-Realm AVP
                                m_authApplicationId(           // containing an Auth-Application-Id AVP
                                    4                          //     indicating the value 4
                                ),
                                m_cC_Request_Type_dummy,       // containing a CC-Request-Type AVP 
                                m_cC_Request_Number_dummy,     // containing a CC-Request-Number AVP 
                                m_service_Context_Id(          // containing a Service-Context-Id AVP
                                    "ContextId" // FIXME Use a PIXIT?
                                )
                            )
                        )
                    );

                    f_awaiting_CCA(
                        mdw_cCA(
                            vc_sessionId,                       // containing a Session-ID AVP
                            mdw_ccaBodyAvps(
                                mw_resultCode(                  // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E          //     indicating DIAMETER_SUCCESS
                                ),
                                vc_originHost,                  // containing an Origin-Host AVP
                                vc_originRealm,                 // containing an Origin-Realm AVP
                                mw_authApplicationId(
                                    4
                                ),
                                mw_cC_Request_Type,             // containing a CC-Request-Type AVP
                                mw_cC_Request_Number(           // containing a CC-Request-Number AVP
                                    0
                                )
                            )
                        )
                    );
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_postamble_Ro_CTF();
@@ -793,62 +818,195 @@ module DiameterRfRo_TCFunctions {
                    
                } // End of function f_TC_RO_OCF_MS_01
                
            }//end of group TP_RO_OCF_MS
                /**
                 * @desc    Verify that the IUT can successfully process all mandatory AVPs in a CC-Request received due to Charging Data Transfer.
                 * @verdict pass on success, fail on error or inconc on timeout only 
                 */
                function f_TC_RO_OCF_MS_02() runs on DiameterRfRo { 
                    // Local variables
                    
                    // Preamble
                    f_preamble_Ro_CTF();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    f_send_CCR(
                        md_cCR(
                            vc_sessionId,                      // containing a Session-ID AVP
                            md_ccrBodyAvps_TypeOfCharging(
                                vc_originHost,                 // containing an Origin-Host AVP
                                vc_originRealm,                // containing an Origin-Realm AVP
                                vc_destinationRealm,           // containing a Destination-Realm AVP
                                m_authApplicationId(           // containing an Auth-Application-Id AVP
                                    4                          //     indicating the value 4
                                ),
                                m_cC_Request_Type_dummy,       // containing a CC-Request-Type AVP 
                                m_cC_Request_Number_dummy,     // containing a CC-Request-Number AVP 
                                m_service_Context_Id(          // containing a Service-Context-Id AVP
                                    "ContextId" // FIXME Use a PIXIT?
                                )
                            )
                        )
                    );

                    f_awaiting_CCA(
                        mw_CCA_CmdFlags_PET(
                            mw_diameterHeaderAns_CmdFlags(              // containing a Version
                                                                        //     indicating value ‘1’
                                CCA_E, 
                                ?, 
                                mw_cmdFlagsAns_PET(
                                    '0'B,
                                    '0'B,
                                    '0'B                                // containing T bit
                                                                        //     indicating value ‘0’
                                                                        // containing r bits
                                                                        //     indicating value '0000'B
                                )
                            )
                        )
                    );
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_postamble_Ro_CTF();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    
                } // End of function f_TC_RO_OCF_MS_02
                
            } // End of group TP_RO_OCF_MS
            
            // 5.2.3.1.3 Type of Charging 
            group TP_RO_OCF_TC {
            }//end of group TP_RO_OCF_TC
                
                /**
                 * @desc    Verify that the IUT can successfully process a CC-Request [Event] with direct debiting due to Immediate Event Charging
                 * @verdict pass on success, fail on error or inconc on timeout only 
                 */
                function f_TC_RO_OCF_TC_01() runs on DiameterRfRo { 
                    // Local variables
                    
                    // Preamble
                    f_preamble_Ro_CTF();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    f_send_CCR(
                        md_cCR(
                            vc_sessionId,
                            md_ccrBodyAvps_TypeOfCharging(
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                m_authApplicationId(
                                    4
                                ),
                                md_cC_Request_Type(                     // containing a CC-Request-Type AVP 
                                    EVENT_REQUEST_E                     //     indicating EVENT_REQUEST
                                ),
                                m_cC_Request_Number_dummy,
                                -,
                                m_requested_Action(                     // containing a Requested-Action AVP
                                    DIRECT_DEBITING_E                   //     indicating DIRECT_DEBITING
                                ),
                                m_multiple_Services_Credit_Control(     // containing a Multiple-Services-Credit-Control AVP
                                    m_requested_Service_Unit_cC_Time(   //     (containing a Requested-Service-Unit AVP and/or
                                        m_cC_Time(32)
                                    ),
                                    m_service_Identifier(               //     containing a Service-Identifier AVP)
                                        0
                                    )
                                )
                            )
                        )
                    );

                    f_awaiting_CCA(
                        mdw_cCA(
                            vc_sessionId,
                            mdw_ccaBodyAvps(
                                mw_resultCode(                          // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E                  //     indicating DIAMETER_SUCCESS
                                ),
                                vc_originHost,
                                vc_originRealm,
                                mw_authApplicationId(
                                    4
                                ),
                                mw_cC_Request_Type(                      // containing a CC-Request-Type AVP 
                                    EVENT_REQUEST_E                      //     indicating EVENT_REQUEST
                                ),
                                mw_cC_Request_Number,
                                mdw_multiple_Services_Credit_Control_granted_Service_Unit( // containing a Multiple-Services-Credit-Control AVP
                                    mdw_granted_Service_Unit(            // containing a Granted-Service-Unit AVP
                                        mw_cC_Time                       //     indicating debites units
                                    )
                                )
                            )
                        )
                    );
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_postamble_Ro_CTF();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    
                } // End of function f_TC_RO_OCF_TC_01
                
            } // End of group TP_RO_OCF_TC
            
            // 5.2.3.1.4 Error Casses 
            group TP_RO_OCF_EC {
            }//end of group TP_RO_OCF_EC
            } // End of group TP_RO_OCF_EC
            // 5.2.3.1.5 Tariff Changes 
            group TP_RO_OCF_CH {
            }//end of group TP_RO_OCF_CH
            } // End of group TP_RO_OCF_CH
            // 5.2.3.1.6 Re-Authorization 
            group TP_RO_OCF_RE {
            }//end of group TP_RO_OCF_RE
            } // End of group TP_RO_OCF_RE
            // 5.2.3.1.7 Failure Handling 
            group TP_RO_OCF_FH {
            }//end of group TP_RO_OCF_FH
            } // End of group TP_RO_OCF_FH
            // 5.2.3.1.8 Failover 
            group TP_RO_OCF_FA {
            }//end of group TP_RO_OCF_FA
            } // End of group TP_RO_OCF_FA
            // 5.2.3.1.9 Credit Pooling 
            group TP_RO_OCF_CP {
            }//end of group TP_RO_OCF_CP
            } // End of group TP_RO_OCF_CP
            // 5.2.3.1.10 Other Procedures
            group TP_RO_OCF_OP {
            }//end of group TP_RO_OCF_OP
            } // End of group TP_RO_OCF_OP
        }//End of group TP_RO_OCF_Role
        
        //5.2.3.2. CTF Role
        group TP_RO_CTF_Role {
            // 5.2.3.2.2 Message Syntax 
            group TP_RO_CTF_MS {
            }//end of group TP_RO_CTF_MS
            } // End of group TP_RO_CTF_MS
            // 5.2.3.2.3 Type of Charging 
            group TP_RO_CTF_TC {
            }//end of group TP_RO_CTF_TC
            } // End of group TP_RO_CTF_TC
            // 5.2.3.2.4 Error Casses 
            group TP_RO_CTF_EC {
            }//end of group TP_RO_CTF_EC
            } // End of group TP_RO_CTF_EC
            // 5.2.3.2.5 Tariff Changes 
            group TP_RO_CTF_CH {
            }//end of group TP_RO_CTF_CH
            } // End of group TP_RO_CTF_CH
            // 5.2.3.2.6 Re-Authorization 
            group TP_RO_CTF_RE {
            }//end of group TP_RO_CTF_RE
            } // End of group TP_RO_CTF_RE
            // 5.2.3.2.7 Failure Handling 
            group TP_RO_CTF_FH {
            }//end of group TP_RO_CTF_FH
            } // End of group TP_RO_CTF_FH
            // 5.2.3.2.8 Failover 
            group TP_RO_CTF_FA {
            }//end of group TP_RO_CTF_FA
            } // End of group TP_RO_CTF_FA
            // 5.2.3.2.9 Credit Pooling 
            group TP_RO_CTF_CP {
            }//end of group TP_RO_CTF_CP
            } // End of group TP_RO_CTF_CP
            // 5.2.3.2.10 Other Procedures
            group TP_RO_CTF_OP {
            }//end of group TP_RO_CTF_OP
            } // End of group TP_RO_CTF_OP
        }//End of group TP_RO_CTF_Role
    } // End of group TP_RO_Role
    
+414 −121

File changed.

Preview size limit exceeded, changes collapsed.

+152 −30

File changed.

Preview size limit exceeded, changes collapsed.