Commit efdf6995 authored by YannGarcia's avatar YannGarcia
Browse files

Add skeletton for TC_ISC_SCCAS_GEN_INV_01

parent e6701dcb
Loading
Loading
Loading
Loading
+98 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ module AtsSccas_TCFunctions {
    import from AtsSccas_Steps all;
    import from AtsSccas_PICS all;
    import from AtsSccas_PIXITS all;
    import from AtsSccas_TestConfiguration all;

    group Group_6_3 {

@@ -528,6 +529,79 @@ module AtsSccas_TCFunctions {
    } // End of group Group_6_3
     
    group Group_6A_4 {

        group TP_6A_4_2_SIP_INVITE_request {

            /**
             *  @desc    Verify that the SCCAS send INVITE for anchored user populated with FeatureCaps header
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_GEN_INV_01(in CSeq p_cSeq_s)
            runs on ImsComponent {
                // Local variables
                var CSeq v_cSeq_s := p_cSeq_s;

                // Preambule
                f_init_userprofile(c_userProfile_UE1atSUThome);
                f_initSipUrl(c_serviceProfile_EMERGENCY);
                f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_PCSCF1);
                // Registration
                f_sendRegistrationAndAwait200Ok(
                                                v_cSeq_s,
                                                m_sccas_register(
                                                                vc_requestUri, 
                                                                vc_callId, 
                                                                vc_cSeq, 
                                                                vc_from, 
                                                                vc_to, 
                                                                vc_via_REG, 
                                                                vc_contact, 
                                                                m_add_Authorization_digest(
                                                                                            vc_authorization, 
                                                                                            {c_Integrity_protected_no}
                                                                                            ), 
                                                                PX_IMS_SUT_SCSCF_IPADDR, // TODO To be refined during validation
                                                                PX_IMS_SUT_SCSCF_PORT, // TODO To be refined during validation
                                                                "600000",
                                                                -,
                                                                m_contentType(c_sdpApplication), // TODO To be refined during validation
                                                                m_MBody_SDP(vc_sdp_local) // TODO To be refined during validation
                                                ), 
                                                mw_sccas_Response_2xxonREGISTER(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)
                                                );
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                // Registration
                f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome));
                f_SendINVITE(
                             m_sccas_invite(
                                            vc_requestUri,
                                            vc_callId, 
                                            p_cSeq_s, 
                                            vc_from, vc_to, vc_via_REG, 
                                            vc_contact,
                                            -, -, -,
                                            m_MBody_SDP(vc_sdp_local)
                                            ));
                tc_ack.start;
                alt {
                    [] SIPP.receive(mw_sccas_Response_2xxonINVITE(vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact)) {
                        tc_ack.stop;
                        log("*** " & __SCOPE__ & ": PASS: 200 OK message was received ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
                    }
                    [] tc_ack.timeout {
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync 
                    }
                }

                // TODO Deregistration?
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // End of function f_TC_ISC_SCCAS_GEN_INV_01

        }  // End of group TP_6A_4_2_SIP_INVITE_request

    } // End of group Group_6A_4
     
    group Group_7_3 {
@@ -545,4 +619,27 @@ module AtsSccas_TCFunctions {
    group Group_11_3 {
    } // End of group Group_11_3

    group helpers {

        function f_sendRegistrationAndAwait200Ok(
                                                 in CSeq p_cSeq_s,
                                                 in template (omit) REGISTER_Request p_register, 
                                                 template (present) Response p_response
                                                 ) runs on ImsComponent {
            f_setHeaders_REGISTER(p_cSeq_s);
            f_SendREGISTER(p_register);
            tc_ack.start;
            alt {
                [] SIPP.receive(p_response) {
                    tc_ack.stop;
                }
                [] tc_ack.timeout {
                    f_setVerdict(e_timeout); 
                }
            }

        } // End of function f_sendRegistrationAndAwait200Ok

    } // End of group helpers

} // End of module AtsSccas_TCFunctions
 No newline at end of file
+48 −10
Original line number Diff line number Diff line
@@ -152,6 +152,26 @@ module AtsSccas_Templates
                group request_sent_Yann {
                }
               
                template (omit) INVITE_Request m_sccas_invite(
                                                              in template(value) SipUrl p_requestUri,
                                                              in template(value) CallId p_callId,
                                                              in template(value) CSeq p_cSeq,
                                                              in template(value) From p_from,
                                                              in template(value) To p_to,
                                                              in template(value) LibSip_SIPTypesAndValues.Via p_via,
                                                              in template(value) LibSip_SIPTypesAndValues.Contact p_contact,
                                                              in template(omit) Require p_require := omit,
                                                              in template(omit) Route p_route := omit,
                                                              in template(omit) Supported p_supported := omit,
                                                              in template(value) MessageBody p_mb
                ) modifies m_INVITE_Request_UE := {
                    msgHeader := {
                        contentLength := m_contentLength(f_MessageBodyLength(p_mb)),
                        contentType := m_contentType(c_sdpApplication)
                    },
                    messageBody := p_mb
                }

            } // End of group request_sent    
            
            group request_receive { 
@@ -234,6 +254,24 @@ module AtsSccas_Templates
                group request_receive_Yann {
                }

                template (present) Response mw_sccas_Response_2xxonINVITE(
                                                                          template (present) CallId p_callId := ?,
                                                                          template (present) CSeq p_cSeq := ?,
                                                                          template (present) From p_from := ?,
                                                                          template (present) To p_to := ?,
                                                                          template (present) Via p_via := ?,
                                                                          template (present) Contact p_contact := ?,
                                                                          template (present) PChargingVector p_pChargingVector := ?,
                                                                          template (present) PAssertedID p_pAssertedID := ?,
                                                                          template AcceptContact p_acceptContact := *
                                                                          ) modifies mw_Response_2xx_Base := {
                    msgHeader := {
                        pChargingVector := p_pChargingVector,
                        contact         := p_contact,
                        acceptContact   := p_acceptContact
                    }
                } // End of template mw_sccas_Response_2xxonINVITE

            } // End of group request_receive

        } // End of group modified_templates
+4 −5
Original line number Diff line number Diff line
@@ -26,9 +26,8 @@ group auxSipFunction {
    ** @desc f_IncCSeq returns an input parameter incremented by 1000
    ** reason is to run the next testcase with a higher CSeq value
    */
    function f_IncCSeq(inout CSeq loc_CSeq) 
        runs on ServerSyncComp 
        {    loc_CSeq.seqNumber := loc_CSeq.seqNumber + 1000;
    function f_IncCSeq(inout CSeq loc_CSeq) {
        loc_CSeq.seqNumber := loc_CSeq.seqNumber + 1000;
        return
    }; 
    // end f_IncCSeq
+45 −12
Original line number Diff line number Diff line
@@ -221,6 +221,40 @@ module AtsSccas_Testcases
     } // End of group Group_6_3
     
     group Group_6A_4 {

        group TP_6A_4_2_SIP_INVITE_request {

           /*
            * @desc Verify that the SCCAS send INVITE for anchored user populated with FeatureCaps header
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_GEN_INV_01(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_GM) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_GM' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_GEN_INV_01(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_GEN_INV_01

        } // End of group TP_6A_4_2_SIP_INVITE_request

    } // End of group Group_6A_4
     
    group Group_7_3 {
@@ -238,5 +272,4 @@ module AtsSccas_Testcases
    group Group_11_3 {
    } // End of group Group_11_3
     

} // End of module AtsSccas_Testcases