Commit 6c2fcf94 authored by garciay's avatar garciay
Browse files

Add TPs in comments

Test cases, Templates Updated (TP_HSSRole_UA and TP_HSSRole_SA)
parent 1ef2ee0b
Loading
Loading
Loading
Loading
+2530 −280

File changed.

Preview size limit exceeded, changes collapsed.

+39 −5
Original line number Diff line number Diff line
@@ -6,9 +6,43 @@
*/

module DiameterCxDx_PICS {
    
    group PICS_A2 {
        //TODO for all tables
        
        /**
         * @desc Does IUT acts as the HSS? 
         * @see  ETSI DTS/INT-00103-1 V0.0.6 (2014-06) A.2/1 
         */
        modulepar boolean PICS_HSS_IUT := false;
        
        /**
         * @desc Does IUT acts as the I-CSCF? 
         * @see  ETSI DTS/INT-00103-1 V0.0.6 (2014-06) A.2/2.1 
         */
        modulepar boolean PICS_ICSCF_IUT := false;
        
        /**
         * @desc Does IUT acts as the S-CSCF? 
         * @see  ETSI DTS/INT-00103-1 V0.0.6 (2014-06) A.2/2.2 
         */
        modulepar boolean PICS_ISCSCF_IUT := false;
        
    } //end group PICS_A2
    
    group PICS_A3 {
        
        /**
         * @desc Does IUT supports IMS Restoration Procedures? 
         * @see  ETSI DTS/INT-00103-1 V0.0.6 (2014-06) A.3/2 
         */
        modulepar boolean PICS_HSS_IMS_RESTORATION_PROCS := false;
        
        /**
         * @desc Does IUT supports IMS Restoration Procedures? 
         * @see  ETSI DTS/INT-00103-1 V0.0.6 (2014-06) A.3/3 
         */
        modulepar boolean PICS_HSS_LOCATION_MANAGEMENT_PROCS := false;
        
    } //end group PICS_A3
    
} // End of module DiameterCx_PICS 
 No newline at end of file
+192 −134
Original line number Diff line number Diff line
@@ -12,9 +12,9 @@ module DiameterCxDx_PIXITS
    // LibDiameter
    import from LibDiameter_Types_Base_AVPs all;
    import from LibDiameter_Types_CxDx_AVPs all;
    import from LibDiameter_TypesAndValues all;

    group Port_and_addresses{
        
        group CxDx_Port_and_addresses{
            
            /** @desc    charstring, PIXIT item A-7/11
@@ -135,119 +135,120 @@ module DiameterCxDx_PIXITS
    // SUT specific implementation variants 
    group DiameterCommonCxData{

       /** @desc	UTF8String, PIXIT item A-7/5
                     
       The Session-Id AVP (AVP Code 263) is of type UTF8String and is used
       to identify a specific session (see Section 8);  All messages
       pertaining to a specific session MUST include only one Session-Id AVP
       and the same value MUST be used throughout the life of a session;
       When present, the Session-Id SHOULD appear immediately following the
       Diameter Header (see Section 3);
    
                    Ref: RFC 3588 section 8-8
       /** 
        * @desc    UTF8String, PIXIT item A-7/5
        * The Session-Id AVP (AVP Code 263) is of type UTF8String and is used
        * to identify a specific session (see Section 8);  All messages
        * pertaining to a specific session MUST include only one Session-Id AVP
        * and the same value MUST be used throughout the life of a session;
        * When present, the Session-Id SHOULD appear immediately following the
        * Diameter Header (see Section 3);
        * @see RFC 3588 section 8-8
        */
        modulepar UTF8String PX_SessionID := "hss.etsi.org;1317059245;52;21823490";
        
    	
        /** @desc	charstring, PIXIT item A-7/6
                     
       The Origin-Host AVP (AVP Code 264) is of type DiameterIdentity, and
       MUST be present in all Diameter messages;  This AVP identifies the
       endpoint that originated the Diameter message;  Relay agents MUST NOT
       modify this AVP;
    
       The value of the Origin-Host AVP is guaranteed to be unique within a
       single host;
    
                    Ref: RFC 3588 section 6-3.
                    NOTE: could be AF or PCRF role:
                        pcscf.example.com
                        pcrf.example.com
        /** 
         * @desc    charstring, PIXIT item A-7/6
         * The Origin-Host AVP (AVP Code 264) is of type DiameterIdentity, and
         * MUST be present in all Diameter messages;  This AVP identifies the
         * endpoint that originated the Diameter message;  Relay agents MUST NOT
         * modify this AVP;
    
         * The value of the Origin-Host AVP is guaranteed to be unique within a
         * single host;
         * @see RFC 3588 section 6-3.
         * @remark could be AF or PCRF role:
         *              pcscf.example.com
         *              pcrf.example.com
         */
        modulepar charstring PX_OriginHost := "origin.etsi.org";
        
    
    	
        /** @desc	charstring, PIXIT item A-7/7
                     
       The Origin-Realm AVP (AVP Code 296) is of type DiameterIdentity;
       This AVP contains the Realm of the originator of any Diameter message
       and MUST be present in all messages;
    
                    Ref: RFC 3588 section 6-4
        /** 
         * @desc    charstring, PIXIT item A-7/7
         * The Origin-Realm AVP (AVP Code 296) is of type DiameterIdentity;
         * This AVP contains the Realm of the originator of any Diameter message
         * and MUST be present in all messages;
         * @see RFC 3588 section 6-4
        */
        modulepar charstring PX_OriginRealm := "etsi.org";
        
    
    	
        /** @desc	charstring, PIXIT item A-7/8 
                     
       The Destination-Host AVP (AVP Code 293) is of type DiameterIdentity;
       This AVP MUST be present in all unsolicited agent initiated messages,
       MAY be present in request messages, and MUST NOT be present in Answer
       messages;
    
                    Ref: RFC 3588 section 6-5.
                    NOTE: could be AF or PCRF role:
                        pcscf.example.com
                        pcrf.example.com
        /** 
         * @desc    charstring, PIXIT item A-7/8 
         * The Destination-Host AVP (AVP Code 293) is of type DiameterIdentity;
         * This AVP MUST be present in all unsolicited agent initiated messages,
         * MAY be present in request messages, and MUST NOT be present in Answer
         *  messages;
         * @see RFC 3588 section 6-5.
         * @remark: could be AF or PCRF role:
         *              pcscf.example.com
         *              pcrf.example.com
         */
        modulepar charstring PX_DestinationHost := "destination.etsi.org";
        
    
        /** @desc	charstring, PIXIT item A-7/9 
                     
       The Destination-Realm AVP (AVP Code 283) is of type DiameterIdentity,
       and contains the realm the message is to be routed to;  The
       Destination-Realm AVP MUST NOT be present in Answer messages.
       Diameter Clients insert the realm portion of the User-Name AVP;
       Diameter servers initiating a request message use the value of the
       Origin-Realm AVP from a previous message received from the intended
       target host (unless it is known a priori);  When present, the
       Destination-Realm AVP is used to perform message routing decisions;
    
                    Ref: RFC 3588 section 6-6
        /**
         * @desc    charstring, PIXIT item A-7/9 
         *          The Destination-Realm AVP (AVP Code 283) is of type DiameterIdentity,
         *          and contains the realm the message is to be routed to;  The
         *          Destination-Realm AVP MUST NOT be present in Answer messages.
         *          Diameter Clients insert the realm portion of the User-Name AVP;
         *          Diameter servers initiating a request message use the value of the
         *          Origin-Realm AVP from a previous message received from the intended
         *          target host (unless it is known a priori);  When present, the
         *          Destination-Realm AVP is used to perform message routing decisions;
         * @see RFC 3588 section 6-6
         */
        modulepar charstring PX_DestinationRealm := "myalupcrf.etsi.org";
        
    
        /** @desc   UTF8String, PIXIT item A-7/10 
                     
       The User-Name AVP (AVP Code 1) [RADIUS] is of type UTF8String, which
       contains the User-Name, in a format consistent with the NAI
       specification [NAI].
                    Ref: RFC 3588 section 8-14
        /**
         * @desc   UTF8String, PIXIT item A-7/10 
         *         The User-Name AVP (AVP Code 1) [RADIUS] is of type UTF8String, which
         *         contains the User-Name, in a format consistent with the NAI
         *         specification [NAI].
         * @see RFC 3588 section 8-14
         */
        modulepar UTF8String PX_UserName := "private_username@etsi.org";
        
        /** @desc   UTF8String, PIXIT item A-7/11 
        modulepar UTF8String PX_UnknownUserName := "unknown_username@etsi.org";
        
       The Public-Identity AVP is of type UTF8String. 
       This AVP contains the public identity of a user in the IMS. The syntax
       of this AVP corresponds either to a SIP URL (with the format defined in 
       IETF RFC 3261 [3] and IETF RFC 2396 [4])
       or a TEL URL (with the format defined in IETF RFC 3966 [8]). 
       Both SIP URL and TEL URL shall be in canonical
       form, as described in 3GPP TS 23.003 [13].
                    Ref: 3GPP TS 29.229 6.3.2 Public-Identity AVP
        /** @desc   UTF8String, PIXIT item A-7/11 
         *          The Public-Identity AVP is of type UTF8String. 
         *          This AVP contains the public identity of a user in the IMS. The syntax
         *          of this AVP corresponds either to a SIP URL (with the format defined in 
         *          IETF RFC 3261 [3] and IETF RFC 2396 [4])
         *          or a TEL URL (with the format defined in IETF RFC 3966 [8]). 
         *          Both SIP URL and TEL URL shall be in canonical
         *          form, as described in 3GPP TS 23.003 [13].
         * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP
         */
        modulepar UTF8String PX_PublicIdentity := "public_identity@etsi.org";
        modulepar charstring PX_PublicIdentity := "public_identity@etsi.org";
        
        modulepar UTF8String PX_OtherPublicIdentity := "other_public_identity@etsi.org";
        
        modulepar UTF8String PX_PublicIdentityBarred := "barred_public_identity@etsi.org";
        
        /** @desc   UTF8String, PIXIT item A-7/12 
        modulepar UTF8String PX_UnknownPublicIdentity := "unknown_public_identity@etsi.org";
        
       The Server-Name AVP is of type UTF8String.
       This AVP contains a SIP-URL (as defined in IETF RFC 3261 [3] and
       IETF RFC 2396 [4]), used to identify a SIP server (e.g. S-CSCF name).
                    Ref: 3GPP TS 129.229 6.3.3 Server-Name AVP
        modulepar UTF8String PX_NoRoamPublicIdentity := "noroam_public_identity@etsi.org";
        
        modulepar UTF8String PX_ServiceIdentity := "service_identity@etsi.org";
        
        /** 
         * @desc   UTF8String, PIXIT item A-7/12 
         *  The Server-Name AVP is of type UTF8String.
         *  This AVP contains a SIP-URL (as defined in IETF RFC 3261 [3] and
         *  IETF RFC 2396 [4]), used to identify a SIP server (e.g. S-CSCF name).
         *  @see 3GPP TS 129.229 6.3.3 Server-Name AVP
         */
        modulepar UTF8String PX_ServerName := "sip://scscf.etsi.org";
        
        /** @desc   octetstring, PIXIT item A-7/12
        modulepar UTF8String PX_OtherServerName := "sip://other_scscf.etsi.org";
        
       The Visited-Network-Identifier AVP is of type OctetString. 
       This AVP contains an identifier that helps the home
       network to identify the visited network (e.g. the visited network domain name).
                    Ref: 3GPP TS 29.229 6.3.1 Visited-Network-Identifier AVP
        /** 
         * @desc   octetstring, PIXIT item A-7/12
         * The Visited-Network-Identifier AVP is of type OctetString. 
         * This AVP contains an identifier that helps the home
         * network to identify the visited network (e.g. the visited network domain name).
         * @see 3GPP TS 29.229 6.3.1 Visited-Network-Identifier AVP
        */
        modulepar octetstring PX_VisitedNetworkId := '0102030405060708'O;

@@ -259,4 +260,61 @@ module DiameterCxDx_PIXITS
    */
    modulepar boolean PX_SIPsupport := false;
    
    /**
     * @desc Variant values for Server-Assignment-Type AVP
     * @see ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_SA_04
     *     test purpose variants    Server-Assignment-Type AVP values:
     *         VA_01                    NO_ASSIGNMENT (0)
     *         VA_02                    REGISTRATION (1)
     *         VA_03                    RE_REGISTRATION (2)
     *         VA_04                    UNREGISTERED_USER (3)
     *         VA_05                    AUTHENTICATION_FAILURE (9)
     *         VA_06                    AUTHENTICATION_TIMEOUT (10)
     *         VA_07                    AAA_USER_DATA_REQUEST (12)
     *         VA_08                    PGW_UPDATE (13)
     */
    modulepar Srv_Assgmt_Type_Code PIXIT_SAR_SERVER_ASSIGNEMENT_TYPE_TABLE3 := NO_ASSIGNMENT_E;
    
    /**
     * @desc Variant values for Server-Assignment-Type AVP
     * @see ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_SA_05
     *     test purpose variants    Server-Assignment-Type AVP values:
     *         VA_01                    REGISTRATION (1)
     *         VA_02                    RE_REGISTRATION (2)
     *         VA_03                    USER_DEREGISTRATION (5)
     *         VA_04                    USER_DEREGISTRATION_STORE_SERVER_NAME (7)
     *         VA_05                    AUTHENTICATION_FAILURE (9)
     *         VA_06                    AUTHENTICATION_TIMEOUT (10)
     */
    modulepar Srv_Assgmt_Type_Code PIXIT_SAR_SERVER_ASSIGNEMENT_TYPE_TABLE4 := REGISTRATION_E;
    
    /**
     * @desc Variant values for Server-Assignment-Type AVP
     * @see ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_SA_14
     *     test purpose variants    Server-Assignment-Type AVP values:
     *         VA_01                    TIMEOUT_DEREGISTRATION (4)
     *         VA_02                    USER_DEREGISTRATION (5)
     *         VA_03                    ADMINISTRATIVE_DEREGISTRATION (8)
     *         VA_04                    DEREGISTRATION_TOO_MUCH_DATA (11)
     */
    modulepar Srv_Assgmt_Type_Code PIXIT_SAR_SERVER_ASSIGNEMENT_TYPE_TABLE5 := TIMEOUT_DEREGISTRATION_E;
    
    /**
     * @desc Variant values for Server-Assignment-Type AVP
     * @see ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_SA_15
     *     test purpose variants    Server-Assignment-Type AVP values:
     *         VA_01                    TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME (6)
     *         VA_02                    USER_DEREGISTRATION_STORE_SERVER_NAME (7)
     */
    modulepar Srv_Assgmt_Type_Code PIXIT_SAR_SERVER_ASSIGNEMENT_TYPE_TABLE6:= TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME_E;
    
    /**
     * @desc Variant values for Server-Assignment-Type AVP
     * @see ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_SA_15
     *     test purpose variants    Server-Assignment-Type AVP values:
     *         VA_01                    AUTHENTICATION_FAILURE (9)
     *         VA_02                    AUTHENTICATION_TIMEOUT (10)
     */
    modulepar Srv_Assgmt_Type_Code PIXIT_SAR_SERVER_ASSIGNEMENT_TYPE_TABLE7:= AUTHENTICATION_FAILURE_E;
    
} // end module DiameterCx_PIXITS
 No newline at end of file
+71 −23
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
    import from DiameterCxDx_Templates all;
    import from DiameterCxDx_TestConfiguration all;
    import from DiameterCxDx_TestSystem all;
    import from LibDiameter_Types_CxDx_AVPs all;

    group GlobalSteps {

@@ -281,25 +282,70 @@

    group GeneralFunctions {

        function f_initialRegistratonCx () runs on DiameterCx {
            vc_userName := m_userName(PX_UserName);
            vc_publicIdentity := m_publicIdentity(PX_PublicIdentity);
        function f_initialRegistratonCx(
                                        in charstring p_userName := PX_UserName,
                                        in charstring p_publicIdentity := PX_PublicIdentity,
                                        in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
        ) runs on DiameterCx {
            vc_userName := m_userName(p_userName);
            vc_publicIdentity := m_publicIdentity(p_publicIdentity);
            vc_visitedNetworkId := m_visitedNetworkId(PX_VisitedNetworkId);
            
            f_send_UAR(m_UAR_Msg(vc_sessionId, 
                m_UAR_UauthDhostFlags(vc_originHost, vc_originRealm, vc_destinationRealm, 
                            vc_userName, vc_publicIdentity, omit, m_user_Authorization_Reg_Cx, omit, omit)));
            f_send_UAR(
                m_UAR_Msg(
                vc_sessionId, 
                m_UAR_UauthDhostFlags(
                    vc_originHost, 
                    vc_originRealm, 
                    vc_destinationRealm, 
                    vc_userName, 
                    vc_publicIdentity, 
                    omit, 
                    m_user_Authorization_Reg_Cx, 
                    omit, 
                    p_uar_Flags_Cx
            )));
            
            f_awaiting_UAA(mw_UAA_Msg(vc_sessionId, mw_UAA_ResulExpre(omit, mw_experimentalResult(?,
                                        mw_experimentalResultCode(?, DIAMETER_FIRST_REGISTRATION_E)))));
            f_awaiting_UAA(
                mw_UAA_Msg(
                    vc_sessionId, 
                    mw_UAA_ResulExpre(
                        omit, 
                        mw_experimentalResult(
                            ?,
                            mw_experimentalResultCode(
                                ?, 
                                DIAMETER_FIRST_REGISTRATION_E
            )))));
        }
        
        function f_deRegistratonCx () runs on DiameterCx {
            f_send_UAR(m_UAR_Msg(vc_sessionId, 
                m_UAR_UauthDhostFlags(vc_originHost, vc_originRealm, vc_destinationRealm, 
                            vc_userName, vc_publicIdentity, vc_visitedNetworkId, m_user_Authorization_Reg_Cx, vc_destinationHost, m_uar_Flags_Cx)));
    
            f_awaiting_UAA(mw_UAA_Msg(vc_sessionId, mw_UAA_ResulExpreSernaSerca(mw_resultCode(DIAMETER_SUCCESS_E),*,*,*)));
            f_send_UAR(
                m_UAR_Msg(
                    vc_sessionId, 
                    m_UAR_UauthDhostFlags(
                        vc_originHost, 
                        vc_originRealm, 
                        vc_destinationRealm, 
                        vc_userName, 
                        vc_publicIdentity, 
                        vc_visitedNetworkId, 
                        m_user_Authorization_Reg_Cx, 
                        vc_destinationHost, 
                        m_uar_Flags_Cx
            )));
            
            f_awaiting_UAA(
                mw_UAA_Msg(
                    vc_sessionId, 
                    mw_UAA_ResulExpreSernaSerca(
                        mw_resultCode(
                            DIAMETER_SUCCESS_E
                        ),
                        *,
                        *,
                        *
            )));
        }

    } //end group GeneralFunctions
@@ -320,10 +366,12 @@
                                vc_serverName
                            )
            ));
            f_awaiting_MAA(mw_MAA_Msg(vc_sessionId, mw_MAR_Body_dummy))
            f_awaiting_MAA(mw_MAA_Msg(vc_sessionId, mw_MAA_Body_dummy))
        }
        
        function f_s_SAR_SAA () runs on DiameterCx {
        function f_s_SAR_SAA (
                              in Srv_Assgmt_Type_Code p_serverAssignmentType := UNREGISTERED_USER_E
        ) runs on DiameterCx {
            f_send_SAR(m_SAR_Msg( 
                            vc_sessionId, 
                            m_SAR_withUserNameAndPID(
@@ -331,13 +379,13 @@
                                vc_originRealm,
                                vc_destinationRealm,
                                vc_serverName,
                                m_serverAssignmentType(UNREGISTERED_USER_E),
                                m_serverAssignmentType(p_serverAssignmentType),
                                m_userDataAlreadyAvailable(USER_DATA_NOT_AVAILABLE_E),
                                omit,
                                vc_publicIdentity
                            )
            ));
            f_awaiting_MAA(mw_SAA_Msg(vc_sessionId, mw_SAR_Body_dummy))
            f_awaiting_SAA(mw_SAA_Msg(vc_sessionId, mw_SAA_Body_dummy))
        }
        
    } //end group ScscfFunctions
+406 −315

File changed.

Preview size limit exceeded, changes collapsed.

Loading