Commit e22ea470 authored by garciay's avatar garciay
Browse files

Add CAncel and Purge TCs for both MME and HSS

parent 66cec2e6
Loading
Loading
Loading
Loading
+378 −13
Original line number Diff line number Diff line
@@ -6,64 +6,264 @@

module DiameterS6a_HSS_TCFunctions {
    
    // LibCommon
    import from LibCommon_Sync {
        function 
            f_selfOrClientSyncAndVerdict;
        const 
            c_prDone, c_tbDone, c_poDone
    };
    //import from LibCommon_VerdictControl all;
    
    // LibDiameter 
    import from LibDiameter_Interface {
        type DiameterComponent 
    };
    import from LibDiameter_Steps {
        function f_getVerdict
    };
    
    // DiameterS6a
    import from DiameterS6a_Steps {
        function 
            f_preamble_HSS, f_postamble_HSS
    };
    
    // 5.2.2.1 Update Location
    group updateLocation {
        
        function f_TC_HSS_UL_01() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            f_postamble_HSS();
            f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
            
        } // End of TC function f_TC_HSS_UL_01
        
        function f_TC_HSS_UL_02() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_02
        
        function f_TC_HSS_UL_03() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_03
        
        function f_TC_HSS_UL_04() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_04
        
        function f_TC_HSS_UL_05() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_05
        
        function f_TC_HSS_UL_06() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_06
        
        function f_TC_HSS_UL_07() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_07
        
        function f_TC_HSS_UL_08() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_08
        
        function f_TC_HSS_UL_09() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_09
        
        function f_TC_HSS_UL_10() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_10
        
        function f_TC_HSS_UL_11() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_11
        
        function f_TC_HSS_UL_12() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            f_preamble_HSS();
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamblue done. ***");
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_12
        
        function f_TC_HSS_UL_13() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_UL_13
        
    } // End of group updateLocation
@@ -71,11 +271,176 @@ module DiameterS6a_HSS_TCFunctions {
    // 5.2.2.2 Cancel Location
    group cancelLocation {
        
        function f_TC_HSS_CL_01() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_CL_01
        
        function f_TC_HSS_CL_02() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_CL_02
        
        function f_TC_HSS_CL_03() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_CL_03
        
    } // End of group cancelLocation
    
    // 5.2.2.3 Purge UE
    group purgeUE {
        
        function f_TC_HSS_PUE_01() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_01
        
        function f_TC_HSS_PUE_02() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_02
        
        function f_TC_HSS_PUE_03() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_03
        
        function f_TC_HSS_PUE_04() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_04
        
        function f_TC_HSS_PUE_05() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_05
        
        function f_TC_HSS_PUE_06() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_06
        
        function f_TC_HSS_PUE_07() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_07
        
        function f_TC_HSS_PUE_08() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_HSS_PUE_08
        
    } // End of group purgeUE
    
    // 5.2.2.4 Insert Subscriber Data
+174 −7
Original line number Diff line number Diff line
@@ -16,30 +16,107 @@ module DiameterS6a_MME_TCFunctions {
        
        function f_TC_MME_UL_01() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_01
        
        function f_TC_MME_UL_02() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_02
        
        function f_TC_MME_UL_03() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_03
        
        function f_TC_MME_UL_04() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_04
        
        function f_TC_MME_UL_05() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_05
        
        function f_TC_MME_UL_06() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_06
        
        function f_TC_MME_UL_07() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_UL_07
        
    } // End of group updateLocation
@@ -47,11 +124,101 @@ module DiameterS6a_MME_TCFunctions {
    // 5.2.1.2 Cancel Location
    group cancelLocation {
        
        function f_TC_MME_CL_01() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_CL_01
        
        function f_TC_MME_CL_02() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_CL_02
        
    } // End of group cancelLocation
    
    // 5.2.1.3 Purge UE
    group purgeUE {
        
        function f_TC_MME_PUE_01() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_PUE_01
        
        function f_TC_MME_PUE_02() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_PUE_02
        
        function f_TC_MME_PUE_03() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_PUE_03
        
        function f_TC_MME_PUE_04() runs on DiameterComponent {
            
            // Local variables
            
            // Preamble
            
            // Test Body
            // Clause 'when'
            
            // Clause 'then'
            
            // Postamble
            
        } // End of TC function f_TC_MME_PUE_04
        
    } // End of group purgeUE
    
    // 5.2.1.4 Insert Subscriber Data
+128 −11
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ module DiameterS6a_PICS {
         * @desc Does MME act as the IUT? 
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.2/1 
         */
        modulepar boolean PICS_MME_IUT := false;
        modulepar boolean PICS_MME_IUT := false; // FIXME Use one exclusive PIXIT for (PICS_MME_IUT/PICS_HSS_IUT/) - Use unumerated
        
        /**
         * @desc Does MME/SGSN act as the IUT? 
@@ -45,18 +45,135 @@ module DiameterS6a_PICS {
        
        // TODO Continue PICS A.3/x
        
        
        /**
         * @desc Does the IUT support the Operator Determined Barring of all Packet Oriented Services?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/1 
         */
        modulepar boolean PICS_IUT_OPERATOR_BEARER_DETERMINED := false; 
        
        /**
         * @desc Does the IUT support the Operator Determined Barring of Packet Oriented Services from access points that are within the HPLMN whilst the subscriber is roaming in a VPLMN?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/2 
         */
        modulepar boolean PICS_IUT_OPERATOR_BEARER_DETERMINED_WITH_ROAMING_VPLMN := false; 
        
        /**
         * @desc Does the IUT support the Operator Determined Barring of Packet Oriented Services from access points that are within the roamed to VPLMN?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/3 
         */
        modulepar boolean PICS_IUT_OPERATOR_BEARER_DETERMINED_WITH_ROAMED_VPLMN := false; 
        
        /**
         * @desc Does the IUT support the Regional Subscription?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/4 
         */
        modulepar boolean PICS_IUT_REGIONAL_SUBSCRIPTION := false; 
        
        /**
         * @desc Does the IUT support the Trace Function?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/5 
         */
        modulepar boolean PICS_IUT_TRACE_FUNCTION := false; 
        
        /**
         * @desc Does the IUT support all Mobile Originating Location Request Classes?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/6 
         */
        modulepar boolean PICS_IUT_MOBILE_ORIGINATION_LR_CLASSES := false; 
        
        /**
         * @desc Does the IUT support to allow an MS to request its own location?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/7 
         */
        modulepar boolean PICS_IUT_ALLOW_MOBILE_REQUEST_OWN_LOCATION := false; 
        
        /**
         * @desc Does the IUT support to allow an MS to perform self location without interaction with the PLMN?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/8 
         */
        modulepar boolean PICS_IUT_ALLOW_MOBILE_REQUEST_SELF_LOCATION := false; 
        
        /**
         * @desc Does the IUT support to allow an MS to request transfer of its location to another LCS client?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/9 
         */
        modulepar boolean PICS_IUT_ALLOW_MOBILE_TRANSFER_LOCATIONS := false; 
        
        /**
         * @desc Does the IUT support UE Reachability Notifcation?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/10 
         */
        modulepar boolean PICS_IUT_UE_REACHABLE_NOT := false; 
        
        /**
         * @desc Does the IUT support Terminating Access Domain Selection Data Retrieval?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/11 
         */
        modulepar boolean PICS_IUT_UE_TERMINATING_ACCESS_DOMAIN_SELECTION_DATA_RETRIEVAL := false; 
        
        /**
         * @desc Does the IUT support addition of Error Diagnostic information to the DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION Result Code?
         * @desc Does the IUT support State/Location Information Retrieval?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/12 
         */
        modulepar boolean PICS_IUT_UE_STATE_LOCATIOT_RETRIEVAL := false; 
        
        /**
         * @desc Does the IUT support Partial Purge from a Combined MME/SGSN?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.4/13 
         */
        modulepar boolean PICS_IUT_PARTIAL_PURGE := false; 
        
        /**
         * @desc Does the IUT support the addition of Error Diagnostic information to the DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION Result Code?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.5/1.1 
         */
        modulepar boolean PICS_IUT_DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION := false; 
        
        /**
         * @desc Does the IUT support addition of Error Diagnostic information to the DIAMETER_ERROR_ROAMING_NOT_ALLOWED Result Code?
         * @desc Does the IUT support the addition of Error Diagnostic information to the DIAMETER_ERROR_ROAMING_NOT_ALLOWED Result Code?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.5/1.2 
         */
        modulepar boolean PICS_IUT_DIAMETER_ERROR_ROAMING_NOT_ALLOWED := false; 
        
        /**
         * @desc Does the IUT support dropping of the 15th digit in IMEI AVPs received in ULR messages?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.5/1.3 
         */
        modulepar boolean PICS_IUT_DROPPINT_15TH_BIT_IMEI := false; 
        
        /**
         * @desc Does the IUT support the cancel location procedures?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.5/2 
         */
        modulepar boolean PICS_IUT_CANCEL_LOCATION_PROCEDURE := false; 
        
        
        /**
         * @desc Does the IUT support the purge UE procedures?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.5/3 
         */
        modulepar boolean PICS_IUT_PURGE_UE_PROCEDURE := false; 
        
        /**
         * @desc Does the IUT support the partial purge feature?
         * @see  ETSI DTS/INT-094-1 V0.0.3 (2013-11) A.5/3.1 
         */
        modulepar boolean PICS_IUT_PARTIAL_PURGE_PROCEDURE := false; 
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        // TODO Continue PICS A.5/x
        
        
+113 −29

File changed.

Preview size limit exceeded, changes collapsed.

+959 −858

File changed.

Preview size limit exceeded, changes collapsed.

Loading