Commit 8a2c218a authored by pintar's avatar pintar
Browse files

issues solved within test configurations

First test for TP_RO_CTF_MS_01
parent f5fd610e
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
@@ -1666,6 +1666,55 @@ module DiameterRfRo_TCFunctions {
        group TP_RO_CTF_Role {
            // 5.2.3.2.2 Message Syntax 
            group TP_RO_CTF_MS {
                
                /**
                 * @desc    Verify that the IUT can send an CC-Request to indicate a Charging Data Transfer.
                 * @verdict pass on success, fail on error or inconc on timeout only 
                 */
                function f_TC_RO_CTF_MS_01() runs on DiameterRfRo {
                    // Local variables
                    
                    // Preamble
                    f_preamble_Ro_OCF();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    f_awaiting_CCR(
                        mdw_cCR(
                            ?, 
                            mdw_ccrBodyAvps_TypeOfCharging(
                                vc_originHost,                  // containing an Origin-Host AVP
                                vc_originRealm,                 // containing an Origin-Realm AVP
                                vc_destinationRealm,            // containing a Destination-Realm AVP
                                ?,     //mw_cC_Request_Type(?), // containing a CC-Request-Type AVP
                                ?,                              // containing a CC-Request-Number AVP
                                ?,                              // containing a Service-Context-Id AVP
                                *,                              // containing a Requested Action AVP
                                *                               // containing a Multiple-Services-Credit-Control AVP
                            )
                        )
                    );

                    f_send_CCA(
                        md_cCA( 
                            vc_sessionId,                       // containing a Session-ID AVP
                            md_ccaBodyAvps(
                                m_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
                                
                        ))
                    );

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

                    f_postamble_Ro_OCF();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    
                } // End of function f_TC_RO_CTF_MS_01
            } // End of group TP_RO_CTF_MS
            // 5.2.3.2.3 Type of Charging 
            group TP_RO_CTF_TC {
+43 −1
Original line number Diff line number Diff line
@@ -5046,6 +5046,48 @@ module DiameterRfRo_Templates {
            
        } // End of group Ro_answer_message_templates_send 
        
        group Ro_request_message_templates_receive {
            
            /**
             * @desc Send template for CCR
             * @param p_sessionId   Session identifier
             * @param p_ccrBody     CCR message body
             */
            template (present) CCR_MSG mdw_cCR(
                                            in template (present) Session_Id_AVP  p_sessionId,
                                            in template (present) CCR_Body_AVP    p_ccrBody
            ) modifies mw_CCR_dummy := {
                header := mw_diameterHeaderReq_dummy(CCR_E, c_applIdRfRo),
                session_Id  := p_sessionId,
                cCR_Body    := p_ccrBody
            } // End of template mdw_cCR
            
            /**
             * @desc Send template for CCR message body
             */
            template (present) CCR_Body_AVP mdw_ccrBodyAvps_TypeOfCharging(
                                                                       in template (present) Origin_Host_AVP                      p_originHost,
                                                                       in template (present) Origin_Realm_AVP                     p_originRealm,
                                                                       in template (present) Destination_Realm_AVP                p_destination_Realm,
                                                                       in template (present) CC_Request_Type_AVP                  p_cC_Request_Type,
                                                                       in template (present) CC_Request_Number_AVP                p_cC_Request_Number,
                                                                       in template (present) Service_Context_Id_AVP               p_service_Context_Id,
                                                                       in template Requested_Action_AVP                           p_requested_Action,
                                                                       in template CCR_Body_AVP.multiple_Services_Credit_Control  p_multiple_Services_Credit_Control
            ) modifies mw_CCR_Body_dummy := {
                    origin_Host                         := p_originHost,
                    origin_Realm                        := p_originRealm,
                    destination_Realm                   := p_destination_Realm,
                    auth_Application_Id                 := mw_auth_Application_Id_AVP(4),
                    service_Context_Id                  := p_service_Context_Id,
                    cC_Request_Type                     := p_cC_Request_Type,
                    cC_Request_Number                   := p_cC_Request_Number,
                    requested_Action                    := p_requested_Action,
                    multiple_Services_Credit_Control    := p_multiple_Services_Credit_Control
            } // End of template mdw_ccrBodyAvps_TypeOfCharging
            
        } // End of group Ro_request_message_templates_revceive
        
        group Ro_answer_message_templates_receive { 
            
            group CCA_MSG_{
+55 −0
Original line number Diff line number Diff line
@@ -1604,6 +1604,61 @@ module DiameterRfRo_TestCases
        group TP_RO_CTF_Role {
            // 5.2.3.2.2 Message Syntax 
            group TP_RO_CTF_MS {
                
                /**
                 * @desc    Verify that the IUT can send a CC-Request to indicate a Charging Data Transfer.
                 * <pre>
                 * Pics Selection: PICS_RO_CTF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that the IUT sends a CC-Request 
                 *                containing a Session-ID AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                containing an Auth-Application-Id AVP
                 *                    indicating the value 4
                 *                containing a Service-Context-Id AVP
                 *                containing a CC-Request-Type AVP
                 *                containing a CC-Request-Number AVP
                 * </pre>
                 * 
                 * @version    0.0.7
                 * @see        ETSI DTS/INT 00121-2 V0.0.7 (2015-09) TP_RO_CTF_MS_01
                 */
                testcase TC_RO_CTF_MS_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) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_RO_CTF_IUT' required 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_MS_01());
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_RO_CTF_MS_UE_01);
//                        v_imsComponent_ue.start(f_TC_RO_CTF_MS_UE2_01);
//                        v_imsComponent_as.start(f_TC_RO_CTF_MS_AS_01);
                    }
                    
                    // 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_MS_01
            } // End of group TP_RO_CTF_MS
            // 5.2.3.2.3 Type of Charging 
            group TP_RO_CTF_TC {
+21 −21
Original line number Diff line number Diff line
@@ -255,14 +255,14 @@ module DiameterRfRo_TestConfiguration

        /**
         *
         * @desc Creates test configuration of CF_1Ro_1Gm_1Ic - CTF is SUT
         * @desc Creates test configuration of CF_1Ro_1Gm_1Isc - CTF is SUT
         * @param p_diameterComponent_ocf    ocf component
         * @param p_imsComponent_ue     ue component
         * @param p_imsComponent_ibcf     ibcf component
         * @param p_imsComponent_as     as component
         */
        function f_cf_1Ro_1Gm_1Ic_ocfUp(out DiameterRfRo p_diameterComponent_ocf, 
        function f_cf_1Ro_1Gm_1Isc_ocfUp(out DiameterRfRo p_diameterComponent_ocf, 
                                        out ImsComponent      p_imsComponent_ue,
                                        out ImsComponent      p_imsComponent_ibcf)
                                        out ImsComponent      p_imsComponent_as)
        runs on DiameterRfRo system TestAdapter 
        {
            //Variables
@@ -276,7 +276,7 @@ module DiameterRfRo_TestConfiguration
            p_diameterComponent_ocf := DiameterRfRo.create ;
            if (PX_SIPsupport) {
                p_imsComponent_ue := ImsComponent.create ;
                p_imsComponent_ibcf := ImsComponent.create ;
                p_imsComponent_as := ImsComponent.create ;
            }
            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
@@ -284,19 +284,19 @@ module DiameterRfRo_TestConfiguration
            connect(p_diameterComponent_ocf:syncPort, self:syncPort) ;
            if (PX_SIPsupport) {
                connect(p_imsComponent_ue:syncPort, self:syncPort) ;
                connect(p_imsComponent_ibcf:syncPort, self:syncPort) ;
                connect(p_imsComponent_as:syncPort, self:syncPort) ;
            }
            //Map
            map(p_diameterComponent_ocf:DIAMP, system:OCF_Ro);// Diameter Init test Configuration
            if (PX_SIPsupport) {
                map(p_imsComponent_ue:SIPP, system:UE_Gm);
                map(p_imsComponent_ibcf:SIPP, system:IBCF_Ic);
                map(p_imsComponent_as:SIPP, system:AS_Isc);
            }
            
            activate(a_mtc_shutdown());
            
            f_setVerdict(v_ret);
        } // End of f_cf_1Ro_1Gm_1Ic_ocfUp
        } // End of f_cf_1Ro_1Gm_1Isc_ocfUp

        /**
         *
@@ -306,7 +306,7 @@ module DiameterRfRo_TestConfiguration
         * @param p_imsComponent_ue     ue2 component
         * @param p_imsComponent_as     as component
         */
        function f_cf_1Ro_2Gm_1Ics_cdfUp(out DiameterRfRo p_diameterComponent_ocf,
        function f_cf_1Ro_2Gm_1Isc_ocfUp(out DiameterRfRo p_diameterComponent_ocf,
                                        out ImsComponent      p_imsComponent_ue,
                                        out ImsComponent      p_imsComponent_ue2,
                                        out ImsComponent      p_imsComponent_as)
@@ -346,7 +346,7 @@ module DiameterRfRo_TestConfiguration
            activate(a_mtc_shutdown());
            
            f_setVerdict(v_ret);
        } // End of f_cf_1Ro_2Gm_1Isc_cdfUp
        } // End of f_cf_1Ro_2Gm_1Isc_ocfUp

        /**
         *
@@ -357,7 +357,7 @@ module DiameterRfRo_TestConfiguration
         * @param p_imsComponent_ue     ue2 component
         * @param p_imsComponent_as     as component
         */
        function f_cf_2Ro_2Gm_1Ics_cdfUp(out DiameterRfRo p_diameterComponent_ocf,
        function f_cf_2Ro_2Gm_1Isc_ocfUp(out DiameterRfRo p_diameterComponent_ocf,
                                        out DiameterRfRo p_diameterComponent_ocf2, 
                                        out ImsComponent      p_imsComponent_ue,
                                        out ImsComponent      p_imsComponent_ue2,
@@ -401,7 +401,7 @@ module DiameterRfRo_TestConfiguration
            activate(a_mtc_shutdown());
            
            f_setVerdict(v_ret);
        } // End of f_cf_2Ro_2Gm_1Isc_cdfUp
        } // End of f_cf_2Ro_2Gm_1Isc_ocfUp

    } // End of group cfUp

@@ -520,14 +520,14 @@ module DiameterRfRo_TestConfiguration

        /**
         *
         * @desc Deletes configuration of CF_1Ro_1Gm_1Ic - CTF is SUT
         * @desc Deletes configuration of CF_1Ro_1Gm_1Isc - CTF is SUT
         * @param p_diameterComponent_ocf    ocf component
         * @param p_imsComponent_ue     ue component
         * @param p_imsComponent_ibcf     ibcf component
         * @param p_imsComponent_as     as component
         */
        function f_cf_1Ro_1Gm_1Ic_ocfDown(in DiameterRfRo p_diameterComponent_ocf, 
        function f_cf_1Ro_1Gm_1Isc_ocfDown(in DiameterRfRo p_diameterComponent_ocf, 
                                          in ImsComponent p_imsComponent_ue,
                                          in ImsComponent p_imsComponent_ibcf)
                                          in ImsComponent p_imsComponent_as)
        runs on DiameterRfRo system TestAdapter 
        {
            // Deactivte all
@@ -537,7 +537,7 @@ module DiameterRfRo_TestConfiguration
            // Disconnect all
            disconnect;
            
        } // End of f_cf_1Ro_1Gm_1Ic_ocfDown
        } // End of f_cf_1Ro_1Gm_1Isc_ocfDown

        /**
         *
@@ -547,7 +547,7 @@ module DiameterRfRo_TestConfiguration
         * @param p_imsComponent_ue     ue2 component
         * @param p_imsComponent_as     as component
         */
        function f_cf_1Ro_2Gm_1Ics_cdfDown(in DiameterRfRo p_diameterComponent_ocf,
        function f_cf_1Ro_2Gm_1Isc_ocfDown(in DiameterRfRo p_diameterComponent_ocf,
                                           in ImsComponent p_imsComponent_ue,
                                           in ImsComponent p_imsComponent_ue2,
                                           in ImsComponent p_imsComponent_as)
@@ -560,7 +560,7 @@ module DiameterRfRo_TestConfiguration
            // Disconnect all
            disconnect;
            
        } // End of f_cf_1Ro_2Gm_1Isc_cdfDown
        } // End of f_cf_1Ro_2Gm_1Isc_ocfDown

        /**
         *
@@ -571,7 +571,7 @@ module DiameterRfRo_TestConfiguration
         * @param p_imsComponent_ue     ue2 component
         * @param p_imsComponent_as     as component
         */
        function f_cf_2Ro_2Gm_1Ics_cdfDown(in DiameterRfRo p_diameterComponent_ocf,
        function f_cf_2Ro_2Gm_1Isc_ocfDown(in DiameterRfRo p_diameterComponent_ocf,
                                           in DiameterRfRo p_diameterComponent_ocf2, 
                                           in ImsComponent p_imsComponent_ue,
                                           in ImsComponent p_imsComponent_ue2,
@@ -585,7 +585,7 @@ module DiameterRfRo_TestConfiguration
            // Disconnect all
            disconnect;
            
        } // End of f_cf_2Ro_2Gm_1Isc_cdfDown
        } // End of f_cf_2Ro_2Gm_1Isc_ocfDown

    } // End of group cfDown