Commit 2306aa21 authored by rennoch's avatar rennoch
Browse files

completion of f_TC_S1AP_eNB_CMP_03 and f_TC_S1AP_eNB_CMP_04

parent 8f41d2a3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -510,12 +510,12 @@ module LibS1AP_Templates {
					template (present) RecordOf_ProtocolIE mw_InitialContextSetupResIEs(
																			   template (present) MME_UE_S1AP_ID p_MME_value := ?,
																			   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
																			   template (present) RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := ?,
																			   template RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := omit,
																			   template (present) RecordOf_E_RABItem p_E_RABItem_value := ?
					) := {
						mw_MME_UE_S1AP_ID(p_MME_value, ignore),
						mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
						mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value),
						mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value) ifpresent,
						mw_E_RABFailedToSetupList(p_E_RABItem_value)
					} // End of template mw_InitialContextSetupResIEs
                    
+121 −0
Original line number Diff line number Diff line
@@ -383,6 +383,127 @@ module S1AP_TCFunctions {
                
            } // End of function f_TC_S1AP_eNB_CMP_02

            /**
             * @desc Testcase function for TC_S1AP_eNB_CMP_03
             */
            function f_TC_S1AP_eNB_CMP_03() runs on S1APComponent { 
                // Local variables
                const E_RAB_ID c_E_RAB_ID_A := 0;
				const TransportLayerAddress c_transportLayerAddress := '0'B;
				const GTP_TEID c_gTP_TEID := '00000000'O;
				const NAS_PDU c_nAS_PDU := '0000'O;
                // Preamble
                f_S1AP_enb_init();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
                // Test body
				f_send_InitialContext_SetupRequest(m_InitialContextSetupReqIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
				    m_UEAggregateMaximumBitrate(1,1),
                    {m_E_RABToBeSetupItemBearerSUReq (
                        c_E_RAB_ID_A,
                        m_e_RABlevelQoSParameters
                        (1),
						c_transportLayerAddress,
						c_gTP_TEID,
						c_nAS_PDU
                    )},
				    m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B),
				    m_securityKey
                ));

				f_recv_InitialContext_SetupResponse(mw_InitialContextSetupResIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    -,
					{
						mw_E_RABItem(
							c_E_RAB_ID_A,
							?
						)
					}
                ));
                
                
                // Postamble
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
                f_postamble_S1AP_eNB();
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
            } // End of function f_TC_S1AP_eNB_CMP_03

			/**
			 * @desc Testcase function for TC_S1AP_eNB_CMP_04
			 */
			function f_TC_S1AP_eNB_CMP_04() runs on S1APComponent { 
				// Local variables
				const E_RAB_ID c_E_RAB_ID_A := 0;
				const TransportLayerAddress c_transportLayerAddress := '0'B;
				const GTP_TEID c_gTP_TEID := '00000000'O;
				const NAS_PDU c_nAS_PDU := '0000'O;
				// Preamble
				f_S1AP_enb_init();
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
				// Test body
				f_send_InitialContext_SetupRequest(m_InitialContextSetupReqIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					m_UEAggregateMaximumBitrate(1,1),
					{m_E_RABToBeSetupItemBearerSUReq (
						c_E_RAB_ID_A,
						m_e_RABlevelQoSParameters
						(5),
						c_transportLayerAddress,
						c_gTP_TEID,
						c_nAS_PDU
					),
					m_E_RABToBeSetupItemBearerSUReq (
						c_E_RAB_ID_A,
						m_e_RABlevelQoSParameters
						(5),
						c_transportLayerAddress,
						c_gTP_TEID,
						c_nAS_PDU
					)},
					m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B),
					m_securityKey
				));

				f_recv_InitialContext_SetupResponse(mw_InitialContextSetupResIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					-,
					{
						mw_E_RABItem(
							c_E_RAB_ID_A,
							{
							radioNetwork := multiple_E_RAB_ID_instances
							}					
						),
						mw_E_RABItem(
							c_E_RAB_ID_A,
						    {
							radioNetwork := multiple_E_RAB_ID_instances
                            }							
						)
					}
				));
                
                
				// Postamble
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                
				f_postamble_S1AP_eNB();
				f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                
			} // End of function f_TC_S1AP_eNB_CMP_04
            
		} // End of group Context_management_group