Commit d8506fde authored by garciay's avatar garciay
Browse files

STF490: Continue RO_CTF_TC TCs (accounting only)

Some FIXME/TODO to be fixed
parent 28b7c3b4
Loading
Loading
Loading
Loading
+572 −0

File changed.

Preview size limit exceeded, changes collapsed.

+25 −5
Original line number Diff line number Diff line
@@ -5314,12 +5314,14 @@ module DiameterRfRo_Templates {
             * @param p_header   Diameter header
             */
            template (present) CCR_MSG mw_CCR_CmdFlags_PET(
                                                           in template (present) DiameterHeader p_header
                                                           in template (present) DiameterHeader p_header,
                                                           in template (present) Session_Id_AVP p_sessionId := ?,
                                                           in template (present) CCR_Body_AVP   p_ccrBody := mw_CCR_Body_dummy
            ) modifies mw_CCR_dummy := {
                header := p_header,
                session_Id := ?,
                cCR_Body := mw_CCR_Body_dummy
            }
                session_Id := p_sessionId,
                cCR_Body := p_ccrBody
            } // End of template mw_CCR_CmdFlags_PET
            
            /**
             * @desc Await template for CCR message body
@@ -5647,7 +5649,7 @@ module DiameterRfRo_Templates {
                cC_Output_Octets            := omit,
                cC_Service_Specific_Units   := omit,
                aVP_Type                    := omit
            } // End of template m_requested_Service_Unit_AVP_dummy
            } // End of template m_used_Service_Unit_AVP_dummy
            
            template (value) Granted_Service_Unit_AVP m_granted_Service_Unit_dummy := {
                aVP_Header                  := m_aVP_HeaderVid_Mbit1(c_granted_Service_Unit_AVP_Code, 0, c_vendId3gpp),
@@ -5977,6 +5979,18 @@ module DiameterRfRo_Templates {
                aVP_Type                    := *
            } // End of template mw_granted_Service_Unit_dummy
            
            template (present) Used_Service_Unit_AVP mw_used_Service_Unit_AVP_dummy := {
                aVP_Header                  := mw_aVP_HeaderVid_Mbit1(c_used_Service_Unit_AVP_Code, ?, c_vendId3gpp),
                tariff_Change_Usage         := *,
                cC_Time                     := *,
                cC_Money                    := *,
                cC_Total_Octets             := *,
                cC_Input_Octets             := *,
                cC_Output_Octets            := *,
                cC_Service_Specific_Units   := *,
                aVP_Type                    := *
            } // End of template mw_used_Service_Unit_AVP_dummy
            
        } // End of group Ro_dummy_avps_templates_receive
        
        group Ro_avps_templates_receive { 
@@ -6037,6 +6051,12 @@ module DiameterRfRo_Templates {
                service_Identifier      := p_service_Identifier
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId
            
            template Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_UsedServUnit_ServId(
                                                                                                                   template Multiple_Services_Credit_Control_AVP.used_Service_Unit    p_used_Service_Unit
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                used_Service_Unit  := p_used_Service_Unit
            } // End of template mdw_multiple_Services_Credit_Control_UsedServUnit_ServId
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Final_Unit_Indication_AVP(
                                                                                                                                   template (present) Final_Unit_Indication_AVP p_final_Unit_Indication
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
+225 −6
Original line number Diff line number Diff line
@@ -4051,7 +4051,7 @@ module DiameterRfRo_TestCases
                    var ImsComponent v_imsComponent_as;
                    
                    // Test control
                    if (not (PICS_RO_CTF_IUT and PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING)) {
                    if (not (PICS_RO_CTF_IUT and PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION)) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION' shall be set to true for executing the TC. ***"); 
                        stop;
                    }
@@ -4060,7 +4060,7 @@ module DiameterRfRo_TestCases
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    //v_diameterRo_ocf.start(f_TC_RO_CTF_TC_06());
                    v_diameterRo_ocf.start(f_TC_RO_CTF_TC_06());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_06);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_06);
@@ -4112,7 +4112,7 @@ module DiameterRfRo_TestCases
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    //v_diameterRo_ocf.start(f_TC_RO_CTF_TC_07());
                    v_diameterRo_ocf.start(f_TC_RO_CTF_TC_07());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_07);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_07);
@@ -4164,7 +4164,7 @@ module DiameterRfRo_TestCases
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    //v_diameterRo_ocf.start(f_TC_RO_CTF_TC_08());
                    v_diameterRo_ocf.start(f_TC_RO_CTF_TC_08());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_08);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_08);
@@ -4216,7 +4216,7 @@ module DiameterRfRo_TestCases
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    //v_diameterRo_ocf.start(f_TC_RO_CTF_TC_09());
                    v_diameterRo_ocf.start(f_TC_RO_CTF_TC_09());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_09);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_09);
@@ -4268,7 +4268,7 @@ module DiameterRfRo_TestCases
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    //v_diameterRo_ocf.start(f_TC_RO_CTF_TC_10());
                    v_diameterRo_ocf.start(f_TC_RO_CTF_TC_10());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_10);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_10);
@@ -4283,9 +4283,228 @@ module DiameterRfRo_TestCases
                } // End of testcase TC_RO_CTF_TC_10
                
            } // End of group TP_RO_CTF_TC
            
            // 5.2.3.2.4 Error Casses 
            group TP_RO_CTF_EC {
                
                /**
                 * @desc    Verify that the IUT retransmits an unacknowledged CC-Request (T-flag) with direct debiting.
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        OCF is not available
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT sends an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating DIRECT_DEBITING
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *             and the IUT does not received the CC-Answer
                 *        }
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1’
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating DIRECT_DEBITING
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *        }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_EC_01
                 */
                testcase TC_RO_CTF_EC_01() runs on DiameterRfRo system TestAdapter { 
                    // Local variables
                    var DiameterRfRo v_diameterRo_ocf; 
                    var ImsComponent v_imsComponent_ue;
                    var ImsComponent v_imsComponent_ue2;
                    var ImsComponent v_imsComponent_as;
                    
                    // Test control
                    if (not (PICS_RO_CTF_IUT and PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING)) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING' shall be set to true for executing the TC. ***"); 
                        stop;
                    }
                    
                    // Test component configuration
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    v_diameterRo_ocf.start(f_TC_RO_CTF_EC_01());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_10);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_10);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_10);
                    }
                    
                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
                    
                    f_cf_1Ro_2Gm_1Isc_ocfDown(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as)
                    
                } // End of testcase TC_RO_CTF_EC_01
                
                /**
                 * @desc    Verify that the IUT retransmits an unacknowledged CC-Request (T-flag) with price enquiry.
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING
                 * Initial conditions: 
                 *     with {
                 *        OCF is not available
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT sends an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating PRICE_ENQUIRY
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *             and the IUT does not received the CC-Answer
                 *        }
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1’
                 *                containing a CC-Request-Type AVP
                 *                    indicating EVENT_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating PRICE_ENQUIRY
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *        }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_EC_02
                 */
                testcase TC_RO_CTF_EC_02() runs on DiameterRfRo system TestAdapter { 
                    // Local variables
                    var DiameterRfRo v_diameterRo_ocf; 
                    var ImsComponent v_imsComponent_ue;
                    var ImsComponent v_imsComponent_ue2;
                    var ImsComponent v_imsComponent_as;
                    
                    // Test control
                    if (not (PICS_RO_CTF_IUT and PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING)) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING' shall be set to true for executing the TC. ***"); 
                        stop;
                    }
                    
                    // Test component configuration
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    v_diameterRo_ocf.start(f_TC_RO_CTF_EC_02());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_10);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_10);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_10);
                    }
                    
                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
                    
                    f_cf_1Ro_2Gm_1Isc_ocfDown(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as)
                    
                } // End of testcase TC_RO_CTF_EC_02
                
                /**
                 * @desc    Verify that the IUT retransmits an unacknowledged CC-Request (T-flag).
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION
                 * Initial conditions: 
                 *     with {
                 *        OCF is not available
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT sends an CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit AVP
                 *             and the IUT does not received the CC-Answer
                 *        }
                 *        then {
                 *            the IUT sends a CC-Answer
                 *                containing Diameter-Header
                 *                    containing Command-Flags
                 *                        containing T-flag
                 *                            indicating value ‘1’
                 *                containing a CC-Request-Type AVP
                 *                    indicating INITIAL_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    containing a Requested-Service-Unit AVP
                 *        }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_EC_03
                 */
                testcase TC_RO_CTF_EC_03() runs on DiameterRfRo system TestAdapter { 
                    // Local variables
                    var DiameterRfRo v_diameterRo_ocf; 
                    var ImsComponent v_imsComponent_ue;
                    var ImsComponent v_imsComponent_ue2;
                    var ImsComponent v_imsComponent_as;
                    
                    // Test control
                    if (not (PICS_RO_CTF_IUT and PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION)) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION' shall be set to true for executing the TC. ***"); 
                        stop;
                    }
                    
                    // Test component configuration
                    f_cf_1Ro_2Gm_1Isc_ocfUp(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as);
                    
                    // Start
                    v_diameterRo_ocf.start(f_TC_RO_CTF_EC_03());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE_10);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_10);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_10);
                    }
                    
                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
                    
                    f_cf_1Ro_2Gm_1Isc_ocfDown(v_diameterRo_ocf, v_imsComponent_ue, v_imsComponent_ue2, v_imsComponent_as)
                    
                } // End of testcase TC_RO_CTF_EC_03
                
            } // 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
+39 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ module DiameterRfRo_TestControl {
            execute(TC_RF_CTF_MS_02());
            
            if (PICS_RF_CTF_EVENT_BASED_CHARGING) {
                execute(TC_RF_CTF_TC_01());
//                execute(TC_RF_CTF_TC_01());
                
            }
        }
@@ -139,6 +139,44 @@ module DiameterRfRo_TestControl {
            
        }
        
        if (PICS_RO_CTF_IUT) {
            execute(TC_RO_CTF_MS_01());
            execute(TC_RO_CTF_MS_02());
            
            if (PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING) {
                execute(TC_RO_CTF_TC_01());
                execute(TC_RO_CTF_TC_02());
                execute(TC_RO_CTF_TC_03());
                execute(TC_RO_CTF_TC_04());
                execute(TC_RO_CTF_TC_05());
            }
            if (PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION) {
                execute(TC_RO_CTF_TC_06());
                execute(TC_RO_CTF_TC_07());
            }
            if (PICS_RO_CTF_SESSION_CHARGING_WITH_UNIT_RESERVATION) {
                execute(TC_RO_CTF_TC_08());
                execute(TC_RO_CTF_TC_09());
                execute(TC_RO_CTF_TC_10());
            }
            
            if (PICS_RO_CTF_IMMEDIATE_EVENT_CHARGING) {
                execute(TC_RO_CTF_EC_01());
                execute(TC_RO_CTF_EC_02());
            }
            if (PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION) {
                execute(TC_RO_CTF_EC_03());
//                execute(TC_RO_CTF_EC_04());
            }
            if (PICS_RO_CTF_SESSION_CHARGING_WITH_UNIT_RESERVATION) {
//                execute(TC_RO_CTF_EC_05());
//                execute(TC_RO_CTF_EC_06());
//                execute(TC_RO_CTF_EC_07());
//                execute(TC_RO_CTF_EC_08());
            }
            
        }
        
    } // End of 'Control' statement

} // End of module DiameterRfRo_TestControl 
 No newline at end of file