Commit 5c77f92a authored by ulrichst's avatar ulrichst
Browse files

re added f_TC_S1AP_ENB_ERR_01 to f_TC_S1AP_ENB_ERR_08

parent 6a78bba7
Loading
Loading
Loading
Loading
+521 −2
Original line number Diff line number Diff line
@@ -800,8 +800,7 @@ module S1AP_TCFunctions {
							}
						)
					}
				)
				);
				));
                
				f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
					vc_MME_UE_ID,
@@ -911,6 +910,105 @@ module S1AP_TCFunctions {
				log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

			} // End of function f_TC_S1AP_eNB_RAB_18
			
			/**
			 * @desc Testcase function for TC_S1AP_eNB_RAB_19
			 */
			function f_TC_S1AP_eNB_RAB_19  () runs on S1APComponent {
				// Local variables
				const E_RAB_ID c_E_RAB_ID_A := 0;
				
				// Preamble
				f_S1AP_enb_init();
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

				f_send_E_RABReleaseRequest(m_E_RABReleaseReqIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					{
						m_E_RABItem(
							c_E_RAB_ID_A,
							{
								// TODO 
								radioNetwork :=not_supported_QCI_value
							}
						),
						m_E_RABItem(
							c_E_RAB_ID_A,
							{
								// TODO 
								radioNetwork :=not_supported_QCI_value
							}
						)
					}
				));

				f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					{
						mw_E_RABItem(
							c_E_RAB_ID_A
						)
					}
				));
				
				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_RAB_19
			
			
			/**
			 * @desc Testcase function for TC_S1AP_eNB_RAB_20
			 */
			function f_TC_S1AP_eNB_RAB_20  () runs on S1APComponent {
				// Local variables
				const E_RAB_ID c_E_RAB_ID_A := 99;
				
				// Preamble
				f_S1AP_enb_init();
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

				f_send_E_RABReleaseRequest(m_E_RABReleaseReqIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					{
						m_E_RABItem(
							c_E_RAB_ID_A,
							{
								// TODO 
								radioNetwork :=not_supported_QCI_value
							}
						)
					}
				));


				f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					{
						mw_E_RABItem(
							c_E_RAB_ID_A
						)
					}
				));
				
				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_RAB_20
			
			
        } // End of group ERAB_management_group
        
        /**
@@ -3673,7 +3771,428 @@ module S1AP_TCFunctions {
         * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18  Unknown, Unforseen and Erroneous Protocol Data
         */
        group Unknown_unforseen_errorneous_group {
			group Unknown_unforseen_errorneous_group {
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_01
				 */
				function f_TC_S1AP_ENB_ERR_01() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_InitialContext_SetupRequest(
						m_InitialContextSetupReqIEs(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							m_UEAggregateMaximumBitrate(1,1),
							{
								m_E_RABToBeSetupItemCtxtSUReq (
									-,
									m_e_RABlevelQoSParameters
									(0),
									-
							)},
							m_UESecurityCapabilities(
								PX_UNSUPPORTED_ENCRYPTION_ALGORITHM,
								'0101010101010101'B
							),
							m_securityKey
						),
						PX_VA_CRITICALITY
					);
					// 2. sends an ERROR_INDICATION
					f_recv_Error_Indication(
						mw_error_IndicationIEs(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_criticalityDiagnostics_IE(
								mw_criticalityDiagnostics(
									PX_PROCEURE_CODE,
									PX_TRIGGERING_CODE,
									PX_CRITICALITY
								)
							)
					));
                
					// 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_ERR_01
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_02
				 */
				function f_TC_S1AP_ENB_ERR_02() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_InitialContext_SetupRequest(
						m_InitialContextSetupReqIEs_unknown_ID(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							m_UEAggregateMaximumBitrate(1,1),
							{
								m_E_RABToBeSetupItemCtxtSUReq (
									-,
									m_e_RABlevelQoSParameters
									(0),
									-
							)},
							m_UESecurityCapabilities(
								PX_UNSUPPORTED_ENCRYPTION_ALGORITHM,
								'0101010101010101'B
							),
							m_securityKey
						)
					);
					// 2. sends an INITIAL_CONTEXT_SETUP_FAILURE
					f_recv_InitialContext_SetupResponse(
						mw_InitialContextSetupFailureIEs_CriticalyDiagnostic(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_cause_protocol(abstract_syntax_error_falsely_constructed_message),
							mw_criticalityDiagnostics(
								PX_PROCEURE_CODE,
								PX_TRIGGERING_CODE,
								PX_CRITICALITY
					)));
                
					// 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_ERR_02
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_03
				 */
				function f_TC_S1AP_ENB_ERR_03() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_InitialContext_SetupRequest(
						m_InitialContextSetupReqIEs_unknown_ID(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							m_UEAggregateMaximumBitrate(1,1),
							{
								m_E_RABToBeSetupItemCtxtSUReq (
									-,
									m_e_RABlevelQoSParameters
									(0),
									-
							)},
							m_UESecurityCapabilities(
								PX_UNSUPPORTED_ENCRYPTION_ALGORITHM,
								'0101010101010101'B
							),
							m_securityKey
						)
					);
					// 2. sends an ERROR_INDICATION
					f_recv_Error_Indication(
						mw_error_IndicationIEs(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_criticalityDiagnostics_IE(
								 mw_criticalityDiagnostics(
									PX_PROCEURE_CODE,
									PX_TRIGGERING_CODE,
									PX_CRITICALITY,
									{ 
										mw_criticalityDiagnostics_IE_Item(
											reject, 
											-, 
											missing
										) 
									}
								)
							)
					));
                
					// 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_ERR_03
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_04
				 */
				function f_TC_S1AP_ENB_ERR_04() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_InitialContext_SetupRequest(
						m_InitialContextSetupReqIEs_noENB(
							vc_MME_UE_ID,
							m_UEAggregateMaximumBitrate(1,1),
							{
								m_E_RABToBeSetupItemCtxtSUReq (
									-,
									m_e_RABlevelQoSParameters
									(0),
									-
							)},
							m_UESecurityCapabilities(
								PX_UNSUPPORTED_ENCRYPTION_ALGORITHM,
								'0101010101010101'B
							),
							m_securityKey
						)
					);
					// 2. sends an INITIAL_CONTEXT_SETUP_FAILURE
					f_recv_InitialContext_SetupResponse(
						mw_InitialContextSetupFailureIEs_CriticalyDiagnostic(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_cause_protocol(abstract_syntax_error_falsely_constructed_message), 
							mw_criticalityDiagnostics(
								PX_PROCEURE_CODE,
								PX_TRIGGERING_CODE,
								PX_CRITICALITY
					)));
                
					// 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_ERR_04
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_05
				 */
				function f_TC_S1AP_ENB_ERR_05() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_E_RABSetupRequest(
						m_E_RABSetupReqIEs_noENB(
							vc_MME_UE_ID,
							{
								m_E_RABToBeSetupItemBearerSUReq (
									-,
									m_e_RABlevelQoSParameters(5)
								)
							}
					));
					// 2. sends an ERROR_INDICATION
					f_recv_Error_Indication(
						mw_error_IndicationIEs(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_criticalityDiagnostics_IE(
								 mw_criticalityDiagnostics(
									PX_PROCEURE_CODE,
									PX_TRIGGERING_CODE,
									PX_CRITICALITY,
									{ 
										mw_criticalityDiagnostics_IE_Item(
											reject, 
											-, 
											missing
										) 
									}
								)
							)
					));
                
					// 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_ERR_05
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_06
				 */
				function f_TC_S1AP_ENB_ERR_06() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_InitialContext_SetupRequest(
						m_InitialContextSetupReqIEs_duplicate_ENB(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							m_UEAggregateMaximumBitrate(1,1),
							{
								m_E_RABToBeSetupItemCtxtSUReq (
									-,
									m_e_RABlevelQoSParameters
									(0),
									-
							)},
							m_UESecurityCapabilities(
								PX_UNSUPPORTED_ENCRYPTION_ALGORITHM,
								'0101010101010101'B
							),
							m_securityKey
						)
					);
					// 2. sends an INITIAL_CONTEXT_SETUP_FAILURE
					f_recv_InitialContext_SetupResponse(
						mw_InitialContextSetupFailureIEs_CriticalyDiagnostic(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_cause_protocol(abstract_syntax_error_falsely_constructed_message),
							mw_criticalityDiagnostics(
								PX_PROCEURE_CODE,
								PX_TRIGGERING_CODE,
								PX_CRITICALITY
					)));
                
					// 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_ERR_06
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_07
				 */
				function f_TC_S1AP_ENB_ERR_07() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					// to indicate an ENB Configuration Transfer procedure
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_E_RABSetupRequest(
						m_E_RABSetupReqIEs_duplicate_ENB(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							{
								m_E_RABToBeSetupItemBearerSUReq (
									-,
									m_e_RABlevelQoSParameters(5)
								)
							}
					));
					// 2. sends an ERROR_INDICATION
					f_recv_Error_Indication(
						mw_error_IndicationIEs(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_cause_IE(
								mw_cause_protocol(abstract_syntax_error_falsely_constructed_message)
							)
					));
                
					// 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_ERR_07
            
				/**
				 * @desc Testcase function for TC_S1AP_ENB_ERR_08
				 */
				function f_TC_S1AP_ENB_ERR_08() runs on S1APComponent { 
					// Local variables
                
					// Preamble
					f_S1AP_enb_init();
					// Preamble action: E-RAB Setup is exchanged
					f_rABSetupRequest();
					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
					log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
					// Test body
					// 1. on receipt of an INITIAL_CONTEXT_SETUP_REQUEST
					f_send_E_RABSetupRequest(
						m_E_RABSetupReqIEs_duplicate_ENB(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							{
								m_E_RABToBeSetupItemBearerSUReq (
									-,
									m_e_RABlevelQoSParameters(5)
								)
							}
					));
					// 2. sends an ERROR_INDICATION
					f_recv_Error_Indication(
						mw_error_IndicationIEs(
							vc_MME_UE_ID,
							vc_eNB_UE_ID,
							mw_cause_IE(
								mw_cause_ran(unknown_enb_ue_s1ap_id)
							)
					));
                
					// Postamble
					f_rABSetupRelease();
					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_ERR_08
            
			} // End of group Unknown_unforseen_errorneous_group            
        } // End of group Unknown_unforseen_errorneous_group
        
    } // End of group eNB_Role