Commit e117da51 authored by bergengruen's avatar bergengruen
Browse files

Test 0008 added

parent 32835a7b
Loading
Loading
Loading
Loading
+87 −0
Original line number Diff line number Diff line
@@ -841,5 +841,92 @@ group checksTC_IMS_0005 {
    		
	} // end group

group checksTC_IMS_0008 {	    
	    /**
		 * @desc Starts monitor component behavior 
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5034_01_gm(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator {
		   	    		
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                {},
                "TP_IMS_5034_01",
                "REGISTER request",
                0,
                false
            )
           );
           p_monitorCompRef.done;
	    }
	    
	    /**
		 * @desc Starts monitor component behavior 
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5134_01_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator return Request {
	    // TODO Get IBPC_SIP_URI of IMS A
		   var charstring v_IBPC := "IBPC_SIP_URI of IMS A"; //f_GetEUTAddress(PX_EUT_A); 
		   var SipMessage v_sip;    		
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5134_01_mw(v_IBPC))},
                {mw_SipRequest(mw_REGISTER_Request_Base)},
                "TP_IMS_5134_01",
                "first REGISTER request",
                0,
                false
            )
           );
           p_monitorCompRef.done;
           // fetch second register 
    	   p_monitorCompRef.start(
			f_imsIot_receive(
							{mw_SipRequest(mdw_TP_IMS_5134_01_mw(v_IBPC))},
							{mw_SipRequest(mw_REGISTER_Request_Base)},
							"TP_IMS_5134_01",
							"first REGISTER request",
							1, // (ignore 401 Unauthorized)
							true
			)
    		);
    		p_monitorCompRef.done;  
           f_getSipMsgFromMonitor(p_monitorCompRef, v_sip);
           return v_sip.request;
	    }


	    /**
		 * @desc Starts monitor component behavior 
		 * @param p_monitorCompRef Reference to monitor component
		 */
	    function f_mtc_check_TP_IMS_5405_01_mw(
	    	ImsInterfaceMonitor p_monitorCompRef
	    ) runs on ImsTestCoordinator  return Request
	    {
		   var SipMessage v_sip;    		
           p_monitorCompRef.start(
            f_imsIot_receive(
                {mw_SipRequest(mdw_TP_IMS_5405_01_mw)},
                {mw_SipRequest(mw_SUBSCRIBE_Request_Base)},
                "TP_IMS_5405_01",
                "SUBSCRIBE request",
                1, // ignore 200 Ok 
                true
            )
           );
           p_monitorCompRef.done;
           f_getSipMsgFromMonitor(p_monitorCompRef, v_sip);
           return v_sip.request;
	    }
} // group


	
} // end group
}// end module
 No newline at end of file
+35 −11
Original line number Diff line number Diff line
@@ -48,9 +48,10 @@ module AtsImsIot_Templates {
		 * 
		 * @desc REGISTER Request containing secuity client header.
		 */
//    template REGISTER_Request mdw_TP_IMS_5011_01_gm modifies mw_REGISTER_Request_Base := {
    template REGISTER_Request mdw_TP_IMS_5011_01_gm modifies mw_REGISTER_Request_Base := {
      msgHeader := ?
      msgHeader := {
		securityClient := ?
      }
    }
    
    
@@ -58,7 +59,6 @@ module AtsImsIot_Templates {
     * 
     * @desc REGISTER Request checking TP_IMS_5011_01.
     */
    // template REGISTER_Request mdw_TP_IMS_5011_01_mw ( charstring p_EUTHostname ) modifies mw_REGISTER_Request_Base := {
    template REGISTER_Request mdw_TP_IMS_5011_01_mw ( charstring p_EUTHostname ) modifies mw_REGISTER_Request_Base := {
      msgHeader := {
        path := mw_PathDef (p_EUTHostname),
@@ -75,6 +75,15 @@ module AtsImsIot_Templates {
        pVisitedNetworkID := mw_PVisitedNetworkIDAny
      }
    }
   /**
     * 
     * @desc REGISTER Request checking TP_IMS_5134_01.
     */
    template REGISTER_Request mdw_TP_IMS_5134_01_mw ( charstring p_EUTHostname ) modifies mw_REGISTER_Request_Base := {
      msgHeader := {
        path := mw_PathDef (p_EUTHostname)
      }
    }

    /**
     * 
@@ -136,7 +145,6 @@ module AtsImsIot_Templates {
     * 
     * @desc SUBSCRIBE checking TP_IMS_5044_01.
     */
    // template SUBSCRIBE_Request mdw_TP_IMS_5044_01_mw(template SipUrl p_eutAUri, template SipUrl p_eutBUri)  
    template SUBSCRIBE_Request mdw_TP_IMS_5044_01_mw(template SipUrl p_eutAUri, 
                                     template SipUrl p_eutBUri,
                                     template charstring p_EUTB_PublicId
@@ -161,6 +169,22 @@ module AtsImsIot_Templates {
      }
    }

    template SUBSCRIBE_Request mdw_TP_IMS_5405_01_mw
    modifies mw_SUBSCRIBE_Request_Base := {
      
      requestLine := {
        method := SUBSCRIBE_E,
        requestUri := ?,
        sipVersion := c_sipNameVersion
      },
      msgHeader := {
      	via := mw_Via (?), // TODO
      	recordRoute := ?, // TODO
      	route := ?, // TODO
        pChargingVector :=  omit
          }
    }



  template Response mw_200OK_Base  modifies m_Response_Dummy :=
@@ -340,11 +364,11 @@ module AtsImsIot_Templates {
    group AuxiliaryInformationElementTemplates {
      
	template Credentials mw_credentialIntegrityYes := {
        otherResponse := {authScheme := "IntegrityYes", authParams := *} // TODO
      }
	 otherResponse := {authScheme := ?, authParams := { {"integrity-protected", "yes"},*} // TODO
	 }}
	template Credentials mw_credentialIntegrityNo := {
        otherResponse := {authScheme := "IntegrityNo", authParams := *} // TODO
      }
	 otherResponse := {authScheme := ?, authParams := { {"integrity-protected", "no"},*} // TODO
	 }}
 
    } //end group

+39 −1
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ module AtsImsIot_TestCases {
 
	import from LibIot_TestInterface {type IotEquipmentUser;}


	import from LibIot_TestConfiguration {
		function f_cf_create_IotEquipmentUser;
	}
@@ -372,6 +373,43 @@ module AtsImsIot_TestCases {
		f_cf_monitor_down(v_mw);
	}

	/**
	 * @desc
	 *     First time registration in a visited IMS network with topology hiding.
	 *     (TD_IMS_0008 in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.9)
	 */
	testcase TC_IMS_0008() runs on ImsTestCoordinator system IotSystemInterface {
		// create components
		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);
		
		// map/connect component ports
		f_cf_user_up(v_ueB);
		f_cf_monitor_up(v_gmA);
		f_cf_monitor_up(v_mw);
		
		//TODO Configure IMS_A 'for topology hiding''
		// test body
		f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B)); 
		
		f_mtc_check_TP_IMS_5011_01_gm(v_gmA);
		
		f_mtc_check_TP_IMS_5134_01_mw(v_mw); // Check1 
		f_mtc_check_TP_IMS_5405_01_mw(v_mw); // Check2
		
		f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
		
		// postamble
		f_PO_user_home_deregistration(v_ueB);
		
		//unmap/disconnet component ports
		f_cf_user_down(v_ueB);
		f_cf_monitor_down(v_gmA);
		f_cf_monitor_down(v_mw);
	}

	
	/**
	 * @desc IMS network supports properly application services based on 
	 * 		the example of the CFU supplementary service
+0 −3
Original line number Diff line number Diff line
@@ -6,9 +6,6 @@

module LibIot_Functions {
	import from LibCommon_VerdictControl {type FncRetCode;}
	with {
		extension "Project:LibCommon"
	}

	import from LibUpperTester {
		template mw_EO_Response;
+9 −0
Original line number Diff line number Diff line
@@ -81,6 +81,15 @@ module LibIot_TestInterface {
		type component IotEquipmentUser extends EquipmentUser {
		}
		
//	TODO commented out due to problems with tools not accepting 'extends' from several components
	/**
//		* @desc This component type is used to trigger, stimulate, configure etc 
//		*       any equipment related to the test, i.e., EUTs or other, or 
//		*       the interconnecting network. To be used as PTC.
//		*/
//		type component IotEquipmentUser extends EquipmentUser, OracleClient {
//		}
		
	}// end group abstractTestComponents
	
	group portDefinitions {
Loading