ItsMapem_TpFunctions.ttcn 64.9 KB
Newer Older
            } // End of function f_IS_RLT_EVGN_BV_01
            
            /**
             * @desc    TP Function for TC_IS_RLT_EVGN_BV_02
             */
            function f_IS_RLT_EVGN_BV_02 () runs on ItsMapemSpatem {
                
                // Local variables
                var MapemInd v_mapem;
                
                // Test control
garciay's avatar
garciay committed
                if (not PICS_MAPEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_MAPEM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
garciay's avatar
garciay committed
                f_prInitialState();
                f_awaitMapeMessage(
                    mw_mapemInd(
                        mw_mapemPdu(
                            mw_defaultMapem
                    )),
                    v_mapem
                );
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(v_mapem) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: The same MAPEM was received. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] mapemSpatemPort.receive(
                        mw_mapemInd(
                            mw_mapemPdu(
Yann Garcia's avatar
Yann Garcia committed
                                mw_mapem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received a new MAPEM. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_mapemInd(
                            mw_mapemPdu(
                                mw_defaultMapem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Received a MAPEM with incorrect information. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_RLT_EVGN_BV_02
            
garciay's avatar
garciay committed
            /**
             * @desc    TP Function for TC_IS_RLT_GEN_FRAG_BV_01
garciay's avatar
garciay committed
             */
            function f_IS_RLT_GEN_FRAG_BV_01 () runs on ItsMapemSpatem {
                
                // TODO
                
            } // End of function f_IS_RLT_GEN_FRAG_BV_01
            
            /**
             * @desc    TP Function for TC_IS_RLT_GEN_FRAG_BV_02
             */
            function f_IS_RLT_GEN_FRAG_BV_02 () runs on ItsMapemSpatem {
garciay's avatar
garciay committed
                
                // Local variables
                var MapemInd v_mapem;
Yann Garcia's avatar
Yann Garcia committed
                var boolean v_firstFragmentReceived := false;
garciay's avatar
garciay committed
                
                // Test control
garciay's avatar
garciay committed
                if (not PICS_MAPEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_MAPEM_GENERATION required for executing the TC ***");
garciay's avatar
garciay committed
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
                f_prInitialState();
                f_awaitMapeMessage(
                    mw_mapemInd(
                        mw_mapemPdu(
                            mw_defaultMapem
                    )),
                    v_mapem
                );
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                f_utTriggerEvent(m_utTriggerEvent(mapemNewContentWithFragmentation));
                tc_ac.start;
                alt {
Yann Garcia's avatar
Yann Garcia committed
                    [not v_firstFragmentReceived] mapemSpatemPort.receive(
garciay's avatar
garciay committed
                        mw_mapemInd(
                            mw_mapemPdu(
                                mw_mapemLayerType
                    ))) -> value v_mapem { 
                        log("*** " & testcasename() & ": INFO: Successfully received the first fragment of MAPEM. ***");
Yann Garcia's avatar
Yann Garcia committed
                        v_firstFragmentReceived := true;
garciay's avatar
garciay committed
                        repeat;
                    }
Yann Garcia's avatar
Yann Garcia committed
                    [v_firstFragmentReceived] mapemSpatemPort.receive(
garciay's avatar
garciay committed
                        mw_mapemInd(
                            mw_mapemPdu(
                                mw_mapemLayerType(
Yann Garcia's avatar
Yann Garcia committed
                                                  -, -,
garciay's avatar
garciay committed
                                                  v_mapem.msgIn.map_.layerID + 1
                                )
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received the last fragment of MAPEM. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_mapemInd(
                            mw_mapemPdu(
                                mw_defaultMapem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Received a MAPEM with incorrect information. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_RLT_GEN_FRAG_BV_02
garciay's avatar
garciay committed
            
garciay's avatar
garciay committed
        } // End of group mapeEventGeneration
             * @desc    TP Function for TC_IS_RLT_GEN_COM_BV_01
            function f_IS_RLT_GEN_COM_BV_01 () runs on ItsMapemSpatem {
                var boolean v_tlmServiceStarted := false;
garciay's avatar
garciay committed
                if (not PICS_SPATEM_GENERATION or not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_MAPEM_GENERATION and PICS_SPATEM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
garciay's avatar
garciay committed
                f_prInitialState();
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                tc_ac.start;
                alt {
                    [v_tlmServiceStarted == false] mapemSpatemPort.receive(
Yann Garcia's avatar
Yann Garcia committed
                                mw_mapem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": INFO: Successfully received well-formed MAPEM. ***");
                        f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                        v_tlmServiceStarted := true;
                        tc_ac.start;
                        repeat;
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_spatemWellFormatted
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received well-formed MAPEM & SPATEM. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_RLT_GEN_COM_BV_01
             * @desc    TP Function for TC_IS_RLT_GEN_COM_BV_02
            function f_IS_RLT_GEN_COM_BV_02 () runs on ItsMapemSpatem {
            } // End of function f_IS_RLT_GEN_COM_BV_02
             * @desc    TP Function for TC_IS_RLT_GEN_COM_BV_03
            function f_IS_RLT_GEN_COM_BV_03 () runs on ItsMapemSpatem {
                
                // Local variables
                const UInt16 c_gnNhBtpBPort := 2003;
                
garciay's avatar
garciay committed
                // Test control
garciay's avatar
garciay committed
                if (not PICS_MAPEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_MAPEM_GENERATION required for executing the TC ***");
garciay's avatar
garciay committed
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
                f_prInitialState();
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_mapemIndWithBtpParameters(
                           mw_mapemPdu, 
                           c_gnNhBtpBPort,
                           0
                    )) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
                        log("*** " & testcasename() & ": PASS: Expected MAPEM encapsultated in BTP packet with port value 2003 received. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(mw_mapemInd(mw_mapemPdu(mw_defaultMapem))) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
                        log("*** " & testcasename() & ": FAIL: Expected MAPEM received, but not addressed to the correct destination port. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);  
                    }                    
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_RLT_GEN_COM_BV_03
             * @desc    TP Function for TC_IS_RLT_GEN_COM_BV_04
            function f_IS_RLT_GEN_COM_BV_04 () runs on ItsMapemSpatem {
                
                // Local variables
                const UInt8 c_gnHtGbc := 4;
                
                // Test control
garciay's avatar
garciay committed
                if (not PICS_MAPEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_MAPEM_GENERATION required for executing the TC ***");
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
garciay's avatar
garciay committed
                f_prInitialState();
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_mapemIndWithGnParameters(
                            mw_mapemPdu(
Yann Garcia's avatar
Yann Garcia committed
                                mw_mapem
garciay's avatar
garciay committed
                        log("*** " & testcasename() & ": PASS: Expected MAPEM encapsulated in GBC packet received. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_mapemIndWithGnParameters(
                            mw_mapemPdu(
Yann Garcia's avatar
Yann Garcia committed
                                mw_mapem
                            ),
                            -, 
                            omit
                    )) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: no GN HT information in MapemInd. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] mapemSpatemPort.receive(
Yann Garcia's avatar
Yann Garcia committed
                                mw_mapem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL:  Expected MAPEM received, but not encapsulated in GBC packet. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_RLT_GEN_COM_BV_04
            
        } // End of group mapeCommunication 
        
    } // End of group mapeMessageDissemination
    
    group mapeMessageProcessing {
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SEC_BV_01
         */
        function f_IS_RLT_GEN_SEC_BV_01 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SEC_BV_01
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SEC_BV_02
         */
        function f_IS_RLT_GEN_SEC_BV_02 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SEC_BV_02
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SSP_BV_01
         */
        function f_IS_RLT_GEN_SSP_BV_01 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SSP_BV_01
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SSP_BV_02
         */
        function f_IS_RLT_GEN_SSP_BV_02 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SSP_BV_02
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SSP_BO_03
         */
        function f_IS_RLT_GEN_SSP_BO_03 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SSP_BO_03
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SSP_BV_04
         */
        function f_IS_RLT_GEN_SSP_BV_04 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SSP_BV_04
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_SSP_BO_05
         */
        function f_IS_RLT_GEN_SSP_BO_05 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_SSP_BO_05
            
        /**
         * @desc    TP Function for TC_IS_RLT_GEN_RATE_BV_01
         */
        function f_IS_RLT_GEN_RATE_BV_01 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_GEN_RATE_BV_01
         * @desc    TP Function for TC_IS_RLT_GEN_RCV_BV_03
        function f_IS_RLT_GEN_RCV_BV_03 () runs on ItsMapemSpatem {
            
            // Local variables
            var MapemReq   v_mapemReq;
            var integer     i;
                
garciay's avatar
garciay committed
            if (not PICS_MAPEM_RECEPTION) {
                log("*** " & testcasename() & ": PICS_MAPEM_RECEPTION required for executing the TC ***");
                setverdict(inconc);
                stop;
            }
                
            // Test component configuration
            f_cfUp();
                
            // Preamble
garciay's avatar
garciay committed
            f_prInitialState();
            f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
            // Test Body
            v_mapemReq := valueof(m_mapemReq(m_mapemPdu(m_defaultMapem)));
            mapemSpatemPort.send(v_mapemReq) ;
                
            f_sleep(PX_TAC);
            for (i := 0; i < lengthof(vc_utMapemEvents) and not match (v_mapemReq.msgOut , vc_utMapemEvents[i].mapeMsg); i := i + 1) {
                // empty on purpose 
            }
            if (i < lengthof(vc_utMapemEvents) ) {
                log("*** " & testcasename() & ": PASS: MAPEM was transmitted to upper layer***");
                f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
            } else {
                log("*** " & testcasename() & ": FAIL: MAPEM was not transmitted to upper layer***");
                f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
            }
                
            // Postamble
            f_poDefault();
            f_cfDown();
                
        } // End of function f_IS_RLT_GEN_RCV_BV_03
            
        /**
         * @desc    TP Function for TC_IS_RLT_RCV_SEC_BV_01
         */
        function f_IS_RLT_RCV_SEC_BV_01 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_RCV_SEC_BV_01
            
        /**
         * @desc    TP Function for TC_IS_RLT_RCV_SEC_BO_02
         */
        function f_IS_RLT_RCV_SEC_BO_02 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_RCV_SEC_BO_02
            
        /**
         * @desc    TP Function for TC_IS_RLT_RCV_SEC_BO_03
         */
        function f_IS_RLT_RCV_SEC_BO_03 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_RCV_SEC_BO_03
            
        /**
         * @desc    TP Function for TC_IS_RLT_RCV_SEC_BO_04
         */
        function f_IS_RLT_RCV_SEC_BO_04 () runs on ItsMapemSpatem {
           
           // TODO
           
        } // End of function f_IS_RLT_RCV_SEC_BO_04
        
    } // End of group mapeMessageProcessing
    
} // End of module ItsMapem_TpFunctions