Commit 058ac79d authored by bergengruen's avatar bergengruen
Browse files

Test SS_0001 updated

parent a23ffa06
Loading
Loading
Loading
Loading
+107 −0
Original line number Diff line number Diff line
@@ -922,6 +922,73 @@ group checksTC_IMS_REG_0007 {
} // group


group checksTC_IMS_CALL_0001F {	    
	    /**
		 * @desc Starts monitor component behavior 
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5097_01_gm(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mw_INVITE_Request_Base)},
                {},
                "TP_IMS_5097_01",
                "INVITE request",
                0,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	    
	    /**
		 * @desc Starts monitor component behavior
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5097_01_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator  {
	    var SipMessage v_sip; 
		var PChargingVector v_PChargingVector;	
	    var template SipUrl v_scscfEutAUrl := mw_SipUrl_Host(f_GetEUTScscfAddress(PX_EUT_A));
					var template PChargingVector vt_PChargingVector_termoid := mw_PChargingVector({
					{id := "term-oid", paramValue := *}, 
					*
			});
	    var template PChargingVector vt_PChargingVector_accessnetinfo := mw_PChargingVector({
					{id := "access-network-charging-info", paramValue := *}, 
					*
			});
	   
       p_monitorCompRef.start(
        f_imsIot_receive(
            {mw_SipRequest(mdw_TP_IMS_5097_01_mw(v_scscfEutAUrl))},
            {},
            "TP_IMS_5097_01",
            "INVITE request",
            0,
            true
        )
       );
       p_monitorCompRef.done;
	   f_getSipMsgFromMonitor(p_monitorCompRef, v_sip);
	   v_PChargingVector := v_sip.request.msgHeader.pChargingVector;
   	   // Check PChargingVector not containing term-oid, not containing access-network-charging-info
       if (match(v_PChargingVector, vt_PChargingVector_termoid)) {
			f_setIotVerdictFAIL("TP_IMS_5097_01");
       } 
       if (match(v_PChargingVector, vt_PChargingVector_accessnetinfo)) {
			f_setIotVerdictFAIL("TP_IMS_5097_01");
       } 
	   } //function


} // group


group checksTC_IMS_SS_0001 {	    
	    /**
		 * @desc Starts monitor component behavior 
@@ -983,6 +1050,46 @@ group checksTC_IMS_SS_0001 {
           p_monitorCompRef.done;
	    }

	    /**
		 * @desc Starts monitor component behavior
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5308_02_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator  {
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5308_02_mw)},
                {},
                "TP_IMS_5308_02",
                "INVITE request",
                0,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	    /**
		 * @desc Starts monitor component behavior
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5308_02_as(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator  {
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5308_02_as)},
                {},
                "TP_IMS_5308_02",
                "INVITE request",
                0,
                false
            )
           );
           p_monitorCompRef.done;
	    }





+55 −0
Original line number Diff line number Diff line
@@ -232,6 +232,32 @@ module AtsImsIot_Templates {
      }
    }
    
   /**
     * @desc INVITE Request checking TP_IMS_5097_01
     */
    template INVITE_Request mdw_TP_IMS_5097_01_mw (template SipUrl p_scscfEutAUri)
     modifies mw_INVITE_Request_Base := {
      msgHeader := {
		route := omit,
      	via := {
  			fieldName := VIA_E,
  			viaBody := ? // superset(mw_ViaBody_interface(p_pcscfEutAUri.hostPort)) // to be checked outside template
      		},
      	recordRoute := {
    		fieldName := RECORD_ROUTE_E,
    		routeBody := {mw_routeBody(p_scscfEutAUri), *}       		
      	},
		pPreferredID := omit,
		pAssertedID := mw_PAssertedID(mw_PAssertedIDValue(p_scscfEutAUri)),
        pChargingVector :=  mw_PChargingVector({ // checks outisde template not term-ioi, not access-info
			{id := "icid-value", paramValue := *}, 
            {id := "orig-ioi", paramValue := *}, 
            *
          })
      }
    }


   /**
     * 
     * @desc INVITE Request checking TP_IMS_5310_01 on MW
@@ -259,6 +285,35 @@ module AtsImsIot_Templates {
      }
    }

   /**
     * 
     * @desc INVITE Request checking TP_IMS_5308_02 on MW
     */
    template INVITE_Request mdw_TP_IMS_5308_02_mw 
     modifies mw_INVITE_Request_Base := {
      msgHeader := {
        pChargingVector :=  mw_PChargingVector({
            {id := "access-network-charging-info", paramValue := *}, 
            *
          })
      }
    }
   /**
     * 
     * @desc INVITE Request checking TP_IMS_5308_02 on AS
     */
    template INVITE_Request mdw_TP_IMS_5308_02_as 
     modifies mw_INVITE_Request_Base := {
      msgHeader := {
        pChargingVector :=  mw_PChargingVector({
            {id := "access-network-charging-info", paramValue := *}, 
            *
          })
      }
    }




   /**
     * 
+49 −2
Original line number Diff line number Diff line
@@ -414,6 +414,46 @@ module AtsImsIot_TestCases {
	}


	/**
	 * @desc Default SIP URI
	 * @see TS 186 011-2 V2.3.1 cause 4.5.3.1.1.2
	 */
	testcase TC_IMS_CALL_0001F() runs on ImsTestCoordinator system IotSystemInterface {
		// create components
		var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
        var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
		var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
		var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
		var ImsUserInfo v_userInfoA := f_getAnyValidUser(PX_EUT_A);
		var ImsUserInfo v_userInfoB := f_getAnyValidUser(PX_EUT_B);
				
		// map/connect component ports
		f_cf_user_up(v_ueA);
		f_cf_user_up(v_ueB);
		f_cf_monitor_up(v_gmA);
		f_cf_monitor_up(v_mw);
		
		// preamble
		f_mtc_userTriggerRegistration(v_ueA, v_userInfoA); 
		f_mtc_userTriggerRegistration(v_ueB, v_userInfoB); 
		
		
		// test body
		f_mtc_userInitiateCall (v_ueA, v_userInfoB);
		f_mtc_check_TP_IMS_5097_01_gm(v_gmA); // Check1		
		f_mtc_check_TP_IMS_5097_01_mw(v_mw); // Check1 
		
		// postamble
		f_PO_user_home_deregistration(v_ueA);
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		f_cf_user_down(v_ueA);
		f_cf_user_down(v_ueB);
	}



	/**
	 * @desc Supplementary Service HOLD with AS
	 * @see TS 186 011-2 V2.3.1 cause 4.5.5.1
@@ -443,7 +483,14 @@ module AtsImsIot_TestCases {
		f_mtc_userInitiateCall (v_ueA, v_userInfoB);
		f_mtc_check_TP_IMS_5310_01_gm(v_gmA); // Check1		
		f_mtc_check_TP_IMS_5310_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5310_01_as(v_mw); // Check1 
		f_mtc_check_TP_IMS_5310_01_as(v_asB); // Check1 

		f_mtc_check_TP_IMS_5308_02_mw(v_mw); // Check2 
		f_mtc_check_TP_IMS_5308_02_as(v_asB); // Check2 

   		// Check3 is not correctly described

		// TODO Verify user B is informed of incoming call, Verify user A is informed that UE_B is ringing 
		
		// postamble
		f_PO_user_home_deregistration(v_ueA);