Commit adba4bb7 authored by Iztok Juvancic's avatar Iztok Juvancic
Browse files

Merge branch 'develop' of https://forge.etsi.org/gitlab/DIAMETER/DiameterShDh into develop

parents ea34a3fb 19c6672c
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -9,17 +9,23 @@ module DiameterShDh_PICS {
    
    group PICS_A2{
        /**
         * @desc Does AS act as the IUT? 
         * @desc Does IUT act as HSS? 
         * @see  ETSI TS 103 571-1 V0.0.2 (2018-09) A.2/1 
         */
        modulepar boolean PICS_HSS_IUT := false;
        
        /**
         * @desc Does CTF act as the IUT? 
         * @desc Does IUT act as AS? 
         * @see  ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 
         */
        modulepar boolean PICS_AS_IUT := false;
        
        /**
         * @desc Does IUT act as SLF? 
         * @see  ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 
         */
        modulepar boolean PICS_SLF_IUT := false;
        
    } // End of group PICS_A2
    
    group PICS_A3 { 
+28 −1
Original line number Diff line number Diff line
@@ -2225,7 +2225,34 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    //TODO TestBody
                    // TestBody
                    f_send_UDR(
                               md_uDR(
                                      vc_sessionId,
                                      md_udrBodyAvps(
                                                     vc_originHost,                 // containing an Origin-Host AVP
                                                     vc_originRealm,                // containing an Origin-Realm AVP
                                                     vc_destinationRealm            // containing a Destination-Realm AVP
                                                                                    // not containing a User-Identity AVP
                                                                                    // Containing a Data-Reference AVP
                                                    )
                                     )
                    );

                    f_awaiting_UDA(
                                   mdw_uDA(
                                           ?,                                  // containing a Session-ID AVP
                                           mdw_udaBodyAvps_redirect(
                                                                    m_resultCode(                   // containing containing a Result-Code AVP
                                                                                 DIAMETER_REDIRECT_INDICATION_E
                                                                                                    //     indicating DIAMETER_REDIRECT_INDICATION (3006).
                                                                    ),
                                                                    vc_originHost_IUT,              // containing an Origin-Host AVP
                                                                    vc_originRealm_IUT,             // containing an Origin-Realm AVP
                                                                                                    // containing a User-Identity AVP
                                                                                                    // containing a Data-Reference AVP
                                                                    mw_redirect_host
                     )));

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 

+25 −1
Original line number Diff line number Diff line
@@ -135,8 +135,19 @@ module DiameterShDh_Templates {
                    aVP_Data   := p_aVP_Data
                }
                
            } // End of group sendingTemplatesForAVPs
            
            group receivingTemplatesForAVPs{
                
                template (present) Redirect_Host_AVP mw_redirect_host(
                                                                      template (present) Diameter_Identity p_aVP_Data := ?
                ) := {
                    aVP_Header := mw_aVP_HeaderVid_Mbit1(c_redirect_Host_AVP_Code, ?, ?),
                    aVP_Data   := p_aVP_Data
                }
                
            } // End of group receivingTemplatesForAVPs
            
        } // End of group SpecificAVPHeaders
        
    } // End of group AvpsTemplates
@@ -636,6 +647,19 @@ module DiameterShDh_Templates {
                    origin_Realm                := p_originRealm
                } // End of template mdw_udaBodyAvps

                template (present) UDA_Body_AVP mdw_udaBodyAvps_redirect(
                                                                         template (present) Result_Code_AVP     p_resultCode,
                                                                         template (present) Origin_Host_AVP     p_originHost,
                                                                         template (present) Origin_Realm_AVP    p_originRealm,
                                                                         template (present) Redirect_Host_AVP   p_redirect_Host_AVP
                ) modifies mw_UDA_Body_dummy := {
                    result_Code                 := p_resultCode,
                    experimental_Result         := omit,
                    origin_Host                 := p_originHost,
                    origin_Realm                := p_originRealm,
                    aVP_Type                    := superset(AVP_Type: {p_redirect_Host_AVP.aVP_Header, ?})
                } // End of template mdw_udaBodyAvps_redirect

                template (present) Experimental_Result_AVP mw_experimentalResult(
                                                                                 template (present) Experimental_Result_Type p_expResultCode
                ) := {
+194 −102
Original line number Diff line number Diff line
@@ -132,7 +132,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 
                    
                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }
                    
                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -157,7 +161,7 @@ module DiameterShDh_TestCases {
                 *     }
                 * Expected behaviour:
                 *     Ensure that the IUT
                           on receipt of a UD-Request
                 *         on receipt of a UD-Request
                 *              containing a Session-ID AVP
                 *              containing a Vendor-Specific-Application-Id AVP
                 *              containing an Auth-Session-State AVP
@@ -183,7 +187,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 

                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }

                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -235,7 +243,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 

                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }

                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -287,7 +299,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 

                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }

                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -341,7 +357,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 

                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }

                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -366,7 +386,7 @@ module DiameterShDh_TestCases {
                 *     }
                 * Expected behaviour:
                 *     Ensure that the IUT
                        on receipt of a UD-Request
                 *      on receipt of a UD-Request
                 *          containing a Session-ID AVP
                 *          containing a Vendor-Specific-Application-Id AVP
                 *          containing an Auth-Session-State AVP
@@ -377,7 +397,7 @@ module DiameterShDh_TestCases {
                 *              indicating IMS Public User Identity
                 *          containing a Data-Reference AVP
                 *              indicating IPAddressSecurityBindingInformation (22)
                        sends a UD-Answer
                 *      sends a UD-Answer
                 *          containing a Session-ID AVP
                 *          containing an Experimental-Result AVP
                 *              indicating DIAMETER_ERROR_OPERATION_NOT_ALLOWED
@@ -395,7 +415,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 

                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }

                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -420,7 +444,7 @@ module DiameterShDh_TestCases {
                 *     }
                 * Expected behaviour:
                 *     Ensure that the IUT
                        on receipt of a UD-Request
                 *      on receipt of a UD-Request
                 *          containing a Session-ID AVP
                 *          containing a Vendor-Specific-Application-Id AVP
                 *          containing an Auth-Session-State AVP
@@ -446,7 +470,11 @@ module DiameterShDh_TestCases {
                    // Local variables
                    var DiameterShDh v_diameterSh_as; 

                    //TODO Test control - PICS
                    // Test control - PICS
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                        stop;
                    }

                    // Test component configuration
                    f_cf_1Sh_asUp(v_diameterSh_as);
@@ -471,7 +499,7 @@ module DiameterShDh_TestCases {
                 *     }
                 * Expected behaviour:
                 *     Ensure that the IUT
                        on receipt of a UD-Request
                 *       on receipt of a UD-Request
                 *          containing a Session-ID AVP
                 *          containing a Vendor-Specific-Application-Id AVP
                 *          containing an Auth-Session-State AVP
@@ -2952,6 +2980,70 @@ module DiameterShDh_TestCases {
            //} // End of group TP_SLFRole_MessageSyntax

            group TP_SLFRole_UserData{
                
                /**
                 * @desc    Verify that the IUT processes a UD-Request and sends corresponding UD-Answer.
                 * <pre>
                 * Pics Selection: PICS_SLF_IUT
                 * Initial conditions: 
                 *     with {
                 *        
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives a UD-Request
                 *                containing a Session-ID AVP
                 *                containing a Vendor-Specific-Application-Id AVP
                 *                containing an Auth-Session-State AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing a Destination-Realm AVP
                 *                not containing a User-Identity AVP
                 *                containing a Data-Reference AVP
                 *        }
                 *        then {
                 *            the IUT sends a UD-Answer 
                 *                containing a Session-ID AVP
                 *                containing a Vendor-Specific-Application-Id AVP
                 *                containing an Auth-Session-State AVP
                 *                containing an Origin-Host AVP
                 *                containing an Origin-Realm AVP
                 *                containing an Redirect-Host AVP
                 *                    indicating the HSS identity to be used
                 *                not containing an Experimental-Result AVP
                 *                containing a Result-Code AVP
                 *                    indicating DIAMETER_REDIRECT_INDICATION (3006).
                 *        }
                 *     }
                 * </pre>
                 * 
                 * @version    0.0.6
                 * @see        ETSI TS 103 571-2 TP_DH_SLF_UD_01
                 */
                testcase TC_DH_SLF_UD_01() runs on DiameterShDh system TestAdapter { 
                    // Local variables
                    var DiameterShDh v_diameterSh_slf; 
                        
                    // Test control
                    if (not PICS_SLF_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_SLF_IUT' required for executing the TC. ***"); 
                        stop;
                    }
                    
                    // Test component configuration
                    f_cf_1Dh_slfUp(v_diameterSh_slf);
                    
                    // Start
                    v_diameterSh_slf.start(f_TC_DH_SLF_UD_01()); 
                        
                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(f_NrofComps(), {c_prDone, c_tbDone, c_poDone});
                        
                    f_cf_1Dh_slfDown(v_diameterSh_slf);
                        
                } // End of testcase TC_DH_SLF_UD_01 
                
            } // End of group TP_SLFRole_UserData

            group TP_SLFRole_ProfileUpdate{