Commit 17be20e8 authored by Michael Proestler's avatar Michael Proestler
Browse files

TC_LIS_SIP_BV_01 Refactoring

parent bc1759f3
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ module AtsLIS_Functions {
	import from LibItsHttp_Functions all;
	import from LibItsHttp_TypesAndValues all;
	import from LibItsHttp_XmlTemplates all;
  import from LibSip_SIPTypesAndValues all;
	
	import from LibCommon_Sync all;
  import from LibSip_Steps all;
@@ -13,6 +14,7 @@ module AtsLIS_Functions {
	import from AtsLIS_Pixits all;

	import from urn_ietf_params_xml_ns_geopriv_held all;
  import from urn_ietf_params_xml_ns_pidf all;

  type record Pics {
    record of boolean values,
@@ -122,6 +124,18 @@ module AtsLIS_Functions {
        return v_response;
	}

  function f_decodePresence(in NOTIFY_Request p_request, inout Presence p_presence) return integer {
     var integer v_result;
     var universal charstring v_temp;
     
     v_temp := p_request.messageBody.textplain;
     log("gg:v_temp");
     log(v_temp);
     v_result := decvalue_unichar(v_temp, p_presence);

     return v_result;
  }

	function f_receiveResponsePreamble(template HttpMessage p_message) runs on HttpComponent return HttpMessage {
	  var HttpMessage v_response;

+21 −38
Original line number Diff line number Diff line
@@ -607,20 +607,24 @@ module AtsLIS_TestCases {
     */
    testcase TC_LIS_SIP_BV_01() runs on HttpSipComponent system TestAdapter {             
        // Local variables        
        var ImsComponent v_subscriber;
        var HttpComponent v_held;        
        var HttpMessage v_response;
        var SipUrl v_subscription_target;

        var NOTIFY_Request v_msg_recv;
        var CSeq v_cSeq_s := {
          fieldName := CSEQ_E,
          seqNumber := 0,
          method := "SUBSCRIBE"
        };

        // Test control
        f_check_pics({ values := {PICS_LIS_SIP_SUBSCRIPTION, PICS_LIS_HELD_BY_REFERENCE, PICS_LIS_GEOMETRY_POINT}, names := {"PICS_LIS_SIP_SUBSCRIPTION", "PICS_LIS_HELD_BY_REFERENCE", "PICS_LIS_GEOMETRY_POINT"}});
        
        // Test component configuration              
        f_cf_01_up();                          
        f_init_userprofile(c_userProfile_ESINetSubscriber);        
        f_init_interfaceprofile(c_interfaceProfile_SUT_LIS);
        
        // Preamble 
        // Step 1: Request Location by Reference
        f_sendRequest(m_locationRequest(
                    {encvalue_unichar(valueof(m_device({ PX_DEVICE_NUMBER[PX_DEVICE_NUMBER_POINT] })))},
                    m_locationTypeType(
@@ -639,28 +643,10 @@ module AtsLIS_TestCases {
        }
                      
        v_response := f_receiveResponsePreamble(mw_http_location_response(mdw_location_response));                              
        
        log(v_response.response.body.xml_body);
        log(v_response.response.body.xml_body.locationResponse.locationUriSet.locationURI_list);        
        var charstring v_url := f_findLocationUri(v_response.response.body.xml_body.locationResponse.locationUriSet.locationURI_list, "sip");
              
        v_subscription_target := f_initSipUrlFromCharstring(v_url);
        v_subscription_target := f_initSipUrlFromCharstring(f_findLocationUri(v_response.response.body.xml_body.locationResponse.locationUriSet.locationURI_list, "sip"));

        // Step 2: Subscribe for Presence                          
        var CSeq v_cSeq_s := {
          fieldName := CSEQ_E,
          seqNumber := 0,
          method := "SUBSCRIBE"
        };
              
        
          // Test component configuration
        f_init_userprofile(c_userProfile_ESINetSubscriber);        
        f_init_interfaceprofile(c_interfaceProfile_SUT_LIS);
        
        LibIms_Steps.f_setHeadersSUBSCRIBE(v_cSeq_s, v_subscription_target, f_initSipUrl(c_serviceProfile_SUBSCRIBER));                                
        
              
        template SUBSCRIBE_Request request := m_SUBSCRIBE_Presence_Request_Event(
          v_subscription_target, vc_callId ,v_cSeq_s, vc_from, vc_to, vc_via, omit
        );
@@ -693,16 +679,13 @@ module AtsLIS_TestCases {
			elem_list := ?                  
        }

        var NOTIFY_Request v_msg_recv;
        
        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_Base(vc_callId), v_msg_recv); 
                
        log(v_msg_recv);
        var integer v_result;
        var universal charstring v_temp;

        var Presence v_presence;
        f_decodePresence(v_msg_recv, v_presence);
                
        v_temp := v_msg_recv.messageBody.textplain;
        v_result := decvalue_unichar(v_temp, v_presence);
        if (match(v_presence, mw_presence)) {
          f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
        } else {