Commit 2b4f855c authored by rennoch's avatar rennoch
Browse files

completion of f_TC_S1AP_mME_CMP_01

parent b6c87419
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -187,6 +187,16 @@ module LibS1AP_Steps {
            f_recv_S1AP_successfulOutcome(mw_InitialContextSetupResponse(p_value))
        } // End of f_recv_InitialContext_SetupResponse
        
		/**
		 * @desc Receive S1AP Message InitialContext_SetupRequest
		 * @param p_value Receive template for InitialContext_SetupRequest IEs
		 */
		function f_recv_InitialContext_SetupRequest(
										   template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_successfulOutcome(mw_InitialContextSetupRequest(p_value))
		} // End of f_recv_InitialContext_SetupRequest
        
        /**
         * @desc Receive S1AP Message INITIAL UE MESSAGE
         * @param p_value Receive template for INITIAL UE MESSAGE IEs
+58 −0
Original line number Diff line number Diff line
@@ -727,6 +727,36 @@ module LibS1AP_Templates {
                        mw_cause_IE(p_cause)
                    } // End of template mw_InitialContextSetupResIEs                    

					/**
					 * @desc Receive template for InitialContextSetup message
					 * @param p_procedureCode   Expected procedure code. Default: ?
					 * @param p_value           Expected procedure code. Default: ?
					 */
					template (present) SuccessfulOutcome mw_InitialContextSetupRequest(
																			   template (present) RecordOf_ProtocolIE p_value := ?
					) := {
						procedureCode := id_E_RABSetup,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := p_value}
					} // End of template mw_InitialContextSetupRequest

                    
					template (present) RecordOf_ProtocolIE mw_InitialContextSetupRequestIEs(
																			   template (present) MME_UE_S1AP_ID p_MME_value := ?,
																			   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
																			   template (present) UEAggregateMaximumBitrate p_UEAggregateMaximumBitrate := ?,
																			   template (present) RecordOf_E_RABToBeSetupItemBearerSUReq p_RecordOf_E_RABSetupItem_value,
					                                                           template (present) UESecurityCapabilities p_UESecurityCapabilities:=?,
					                                                           template (present) SecurityKey p_SecurityKey:=?
					) := {
						mw_MME_UE_S1AP_ID(p_MME_value, ignore),
						mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
						mw_UE_aggregate_maximum_bitrate_IE(p_UEAggregateMaximumBitrate),
						mw_E_RABToBeSetupList(p_RecordOf_E_RABSetupItem_value),
						mw_UE_securityCapabilities_IE(p_UESecurityCapabilities),                       
						mw_securityKey_IE(p_SecurityKey)
					} // End of template mw_InitialContextSetupRequestIEs

                    /**
                     * @desc Receive template for UeContextReleaseRequest message
                     * @param p_procedureCode   Expected procedure code. Default: ?
@@ -3600,6 +3630,34 @@ module LibS1AP_Templates {
                value_ := { VoiceSupportMatchIndicator := p_value }
            } // End of template mw_handoverType   

			/**
			 * @desc receive template for UE security Capabilities IE
			 * @param p_value  UESecurityCapabilities value
			 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.40 UESecurityCapabilities
			 */
			template (present) ProtocolIE mw_UE_securityCapabilities_IE(
												   in template (present) UESecurityCapabilities p_value:=?,
												   in template (present) ProtocolIE.criticality p_criticality := reject
			) := {
				id := S1AP_Constants.id_UESecurityCapabilities,
				criticality := p_criticality,
				value_ := {UESecurityCapabilities := p_value}
			} // End of template mw_UE_securityCapabilities_IE

			/**
			 * @desc receive template for security key IE
			 * @param p_value  UESecurityCapabilities value
			 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.41 Security Key
			 */
			template (present) ProtocolIE mw_securityKey_IE(
												   in template (present) SecurityKey p_value:=?,
												   in template (present) ProtocolIE.criticality p_criticality := reject
			) := {
				id := S1AP_Constants.id_SecurityKey,
				criticality := p_criticality,
				value_ := {SecurityKey := p_value}
			} // End of template mw_securityKey_IE
            
        } // End of group Receive_IEs
        
        group g_IEParameters {
+34 −0
Original line number Diff line number Diff line
@@ -3013,6 +3013,40 @@ module S1AP_TCFunctions {
         */
        group Context_management_group {

			/**
			 * @desc Testcase function for TC_S1AP_mME_CMP_01
			 */
			function f_TC_S1AP_mME_CMP_01() runs on S1APComponent { 
				// Local variables
                
				// Preamble
				f_S1AP_mme_init();
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
				// Test body
                action("trigger an Initial Context Setup procedure");

				f_recv_InitialContext_SetupRequest(mw_InitialContextSetupRequestIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
				    mw_UEAggregateMaximumBitrate(?,?),
					{
						mw_E_RABToBeSetupItemBearerSUReq(?,mw_e_RABlevelQoSParameters(5),?,?,?,omit)
					},
					?,                       
				    ?
				));
                
                
				// Postamble
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
				f_postamble_S1AP_MME();
				f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
			} // End of function f_TC_S1AP_eNB_CMP_01
            
        } // End of group Context_management_group