Commit 19563b2a authored by garciay's avatar garciay
Browse files

STF490: Terminate RO_CTF_EC_xx TCs

Some FIXME/TODO to be fixed
parent b5e43c53
Loading
Loading
Loading
Loading
+425 −30

File changed.

Preview size limit exceeded, changes collapsed.

+18 −2
Original line number Diff line number Diff line
@@ -6069,17 +6069,25 @@ module DiameterRfRo_Templates {
                used_Service_Unit  := p_used_Service_Unit
            } // End of template mdw_multiple_Services_Credit_Control_UsedServUnit_ServId
            
            template Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_ReqServUnit_UsedServ_NoTariff(
                                                                                                                  template Requested_Service_Unit_AVP                                p_requested_Service_Unit,
                                                                                                                  template Multiple_Services_Credit_Control_AVP.used_Service_Unit    p_used_Service_Unit
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                requested_Service_Unit  := p_requested_Service_Unit,
                used_Service_Unit       := p_used_Service_Unit
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_UsedServ_NoTariff
            
            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 := {
                final_Unit_Indication := p_final_Unit_Indication
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId
            } // End of template mdw_multiple_Services_Credit_Control_Final_Unit_Indication_AVP
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_RefundInfo(
                                                                                                                    template (present) Refund_Information_AVP p_refund_Information
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                refund_Information := p_refund_Information
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId
            } // End of template mdw_multiple_Services_Credit_Control_RefundInfo
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Pool_Reference(
                                                                                                                        template (present) G_S_U_Pool_Reference_AVP p_g_S_U_Pool_Reference := ?
@@ -6348,6 +6356,14 @@ module DiameterRfRo_Templates {
                aVP_Data    := p_aVP_Data
            } // End of template mw_redirect_Server_Address_AVP
            
            template (present) Used_Service_Unit_AVP mw_used_Service_Unit_tariff_Changes_AVP(
                                                                                            template (present) Tariff_Change_Usage_AVP p_tariff_Change_Usage := ?
            ) modifies mw_used_Service_Unit_AVP_dummy := {
                tariff_Change_Usage := p_tariff_Change_Usage
            } // End of template mw_used_Service_Unit_tariff_Changes_AVP 
            
            
            
        } // End of group Ro_avps_templates_receive 
        
    } // End of group Ro_avps_templates 
+302 −18
Original line number Diff line number Diff line
@@ -4720,9 +4720,9 @@ module DiameterRfRo_TestCases
                    // 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);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_01);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_01);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_01);
                    }
                    
                    // synchronize PTC on 1 sychronization points
@@ -4799,9 +4799,9 @@ module DiameterRfRo_TestCases
                    // 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);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_02);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_02);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_02);
                    }
                    
                    // synchronize PTC on 1 sychronization points
@@ -4872,9 +4872,9 @@ module DiameterRfRo_TestCases
                    // 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);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_03);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_03);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_03);
                    }
                    
                    // synchronize PTC on 1 sychronization points
@@ -4946,9 +4946,9 @@ module DiameterRfRo_TestCases
                    // Start
                    v_diameterRo_ocf.start(f_TC_RO_CTF_EC_04());
                    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);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_04);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_04);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_04);
                    }
                    
                    // synchronize PTC on 1 sychronization points
@@ -5020,9 +5020,9 @@ module DiameterRfRo_TestCases
                    // Start
                    v_diameterRo_ocf.start(f_TC_RO_CTF_EC_05());
                    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);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_05);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_05);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_05);
                    }
                    
                    // synchronize PTC on 1 sychronization points
@@ -5087,9 +5087,9 @@ module DiameterRfRo_TestCases
                    // Start
                    v_diameterRo_ocf.start(f_TC_RO_CTF_EC_06());
                    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);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_06);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_06);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_06);
                    }
                    
                    // synchronize PTC on 1 sychronization points
@@ -5099,11 +5099,295 @@ module DiameterRfRo_TestCases
                    
                } // End of testcase TC_RO_CTF_EC_06
                
                /**
                 * @desc    Verify that on communication failure, the IUT stores generated accounting data in a non-volatile memory and, on communication restored, sends them to the OCS, in the order they were stored in the buffer
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_SESSION_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_DDFH_CONTINUE and not PICS_RO_CTF_FAILOVER
                 * Initial conditions: 
                 *     with {
                 *        the OCF stops communication with the IUT.
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the OCF restart
                 *             and the IUT does not received the CC-Answer
                 *        }
                 *        then {
                 *            the IUT sends the buffered CC-Request
                 *                containing a CC-Request-Type AVP
                 *                    indicating UPDATE_REQUEST
                 *                containing a CC-Request-Number AVP
                 *                containing a Requested-Action AVP
                 *                    indicating REFUND ACCOUNT
                 *                containing a Multiple-Services-Credit-Control AVP
                 *                    (containing a Requested-Service-Unit AVP and/or
                 *                    containing a Service-Identifier AVP)
                 *             the IUT receives a CC-Answer for each buffered CC-Request
                 *                 containing a Result-Code AVP
                 *                     indicating DIAMETER_SUCCESS
                 *                 containing a CC-Request-Type AVP
                 *                     indicating EVENT_REQUEST
                 *        }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_EC_07
                 */
                testcase TC_RO_CTF_EC_07() 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_SESSION_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_DDFH_CONTINUE) or PICS_RO_CTF_FAILOVER) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_SESSION_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_DDFH_CONTINUE and not PICS_RO_CTF_FAILOVER' 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_07());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_07);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_07);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_07);
                    }
                    
                    // 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_07
                
                /**
                 * @desc    Verify that on communication failure, the IUT stores generated accounting data in a non-volatile memory and, on communication restored, sends them to the CDF, in the order they were stored in the buffer
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_SESSION_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_DDFH_CONTINUE and not PICS_RO_CTF_FAILOVER
                 * Initial conditions: 
                 *     with {
                 *        the OCF stops communication with the IUT.
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the OCF restart
                 *        }
                 *        then {
                 *            the IUT sends the buffered 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)
                 *             the IUT receives a CC-Answer
                 *                 containing a Result-Code AVP
                 *                     indicating DIAMETER_SUCCESS
                 *                 containing a CC-Request-Type AVP
                 *                     indicating EVENT_REQUEST
                 *        }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_EC_08
                 */
                testcase TC_RO_CTF_EC_08() 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_SESSION_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_DDFH_CONTINUE) or PICS_RO_CTF_FAILOVER) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_SESSION_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_DDFH_CONTINUE and not PICS_RO_CTF_FAILOVER' 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_08());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_EC_UE_08);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_TC_UE2_08);
//                        v_imsComponent_as.start(f_TC_RO_CTF_TC_AS_08);
                    }
                    
                    // 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_08
                
            } // End of group TP_RO_CTF_EC
            
            // 5.2.3.2.5 Tariff Changes 
            group TP_RO_CTF_CH {
                
                /**
                 * @desc    Verify that the IUT sends a CC-Request [Initial] to reserve units due to Event Charging with Unit Reservation and indicates tariff time change.
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_TARIFF_CHANGES_DURING_ACTIVE_SESSION
                 * Initial conditions: 
                 *     with {
                 *        the tariff time change
                 *     }
                 *     then {
                 *        the IUT receives a SIP message
                 *        the IUT sends a CC-Request
                 *            containing a CC-Request-Type AVP
                 *                indicating INITIAL_REQUEST
                 *            containing a CC-Request-Number AVP
                 *            containing a Multiple-Services-Credit-Control AVP
                 *                not containing a Tariff-Change-Usage AVP
                 *                containing a Requested-Service-Unit AVP
                 *                containing an Used-Service-Units AVP
                 *                    containing a Tariff-Change-Usage AVP
                 *     }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_CH_01
                 */
                testcase TC_RO_CTF_CH_01(inout CSeq p_cSeq_s) 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 and PICS_RO_CTF_TARIFF_CHANGES_DURING_ACTIVE_SESSION)) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_TARIFF_CHANGES_DURING_ACTIVE_SESSION' 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_CH_01());
                    if (PX_SIPsupport) {
//                        if (PX_VA == 1){
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE_01_VA1(p_cSeq_s));
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE2_01_VA1(p_cSeq_s));
//                            v_imsComponent_as.start(f_CH_RO_CTF_CH_AS_01_VA1(p_cSeq_s));
//                        }
//                        else if(PX_VA == 2){
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE_01_VA2(p_cSeq_s));
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE2_01_VA2(p_cSeq_s));
//                            v_imsComponent_as.start(f_CH_RO_CTF_CH_AS_01_VA2(p_cSeq_s));
//                        }
//                        else {
//                            log("Set correct value of PIXIT: PX_VA due to related test case!");
//                        }
                    }
                    
                    // 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_CH_01
                
                /**
                 * @desc    Verify that the IUT sends a CC-Request [Initial] to reserve units due to Event Charging with Unit Reservation and when the IUT receives a CC-Answer with Tariff-Time-Change AVP the IUT accepts it and sends a CC-Request after the SIP session is released.
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT and PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_TARIFF_CHANGES_DURING_ACTIVE_SESSION
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 *     then {
                 *        the IUT receives a SIP message
                 *        the IUT sends a CC-Request
                 *            containing a CC-Request-Type AVP
                 *                indicating INITIAL_REQUEST
                 *            containing a CC-Request-Number AVP
                 *            containing a Multiple-Services-Credit-Control AVP
                 *                not containing a Tariff-Change-Usage AVP
                 *                containing a Requested-Service-Unit AVP
                 *                containing an Used-Service-Units AVP
                 *                    containing a Tariff-Change-Usage AVP
                 *        the IUT receives a CC-Answer
                 *            containing a Result-Code AVP
                 *                indicating DIAMETER_SUCCESS
                 *            containing a CC-Request-Type AVP
                 *                indicating INITIAL_REQUEST
                 *            containing a Multiple-Services-Credit-Control AVP
                 *                containing a Granted-Service-Unit AVP
                 *                    containing a Tariff-Time-Change AVP
                 *        the IUT receives a SIP message
                 *        the IUT sends a CC-Request
                 *            containing a CC-Request-Type AVP
                 *                indicating TERMINATION_REQUEST
                 *            containing a CC-Request-Number AVP
                 *            containing a Multiple-Services-Credit-Control AVP
                 *                containing a Used-Service-Unit AVP
                 *     }
                 *    }
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_CH_02
                 */
                testcase TC_RO_CTF_CH_02(inout CSeq p_cSeq_s) 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 and PICS_RO_CTF_TARIFF_CHANGES_DURING_ACTIVE_SESSION)) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' and 'PICS_RO_CTF_EVENT_CHARGING_WITH_UNIT_RESERVATION and PICS_RO_CTF_TARIFF_CHANGES_DURING_ACTIVE_SESSION' 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_CH_02());
                    if (PX_SIPsupport) {
//                        if (PX_VA == 1){
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE_02_VA1(p_cSeq_s));
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE2_02_VA1(p_cSeq_s));
//                            v_imsComponent_as.start(f_CH_RO_CTF_CH_AS_02_VA1(p_cSeq_s));
//                        }
//                        else if(PX_VA == 2){
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE_02_VA2(p_cSeq_s));
//                            v_imsComponent_ue.start(f_CH_RO_CTF_CH_UE2_02_VA2(p_cSeq_s));
//                            v_imsComponent_as.start(f_CH_RO_CTF_CH_AS_02_VA2(p_cSeq_s));
//                        }
//                        else {
//                            log("Set correct value of PIXIT: PX_VA due to related test case!");
//                        }
                    }
                    
                    // 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_CH_02
                
            } // 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
+24 −13

File changed.

Preview size limit exceeded, changes collapsed.