Commit 4592f675 authored by pintar's avatar pintar
Browse files

MME_HAS_05-13 tests and related templates added

parent 18a5dc56
......@@ -213,6 +213,15 @@ module LibS1AP_Steps {
function f_recv_HandoverCommand(in template (present) RecordOf_ProtocolIE p_value :=?
) runs on S1APComponent {
f_recv_S1AP_successfulOutcome(mw_HandoverCommand(p_value))
} // End of function f_recv_HandoverCommand
/**
* @desc Receive S1AP Message Handover Preparation Failure
* @param p_value Receive template for Handover Preparation Failure IEs
*/
function f_recv_HandoverPreparationFailure(in template (present) RecordOf_ProtocolIE p_value :=?
) runs on S1APComponent {
f_recv_S1AP_unsuccessfulOutcome(mw_HandoverPreparationFailure(p_value))
} // End of function f_recv_HandoverRequired
/**
......@@ -269,6 +278,24 @@ module LibS1AP_Steps {
f_recv_S1AP_initiatingMessage(mw_PathSwitchRequest(p_value))
} // End of function f_recv_PathSwitchRequest
/**
* @desc Receive S1AP Message Path Switch Request Acknowledge
* @param p_value Receive template for Path Switch Request Acknowledge IEs
*/
function f_recv_PathSwitchRequestAck(in template (present) RecordOf_ProtocolIE p_value :=?
) runs on S1APComponent {
f_recv_S1AP_successfulOutcome(mw_PathSwitchRequestAck(p_value))
} // End of function f_recv_PathSwitchRequestAck
/**
* @desc Receive S1AP Message Path Switch Request Failure
* @param p_value Receive template for Path Switch Request Failure IEs
*/
function f_recv_PathSwitchRequestFailure(in template (present) RecordOf_ProtocolIE p_value :=?
) runs on S1APComponent {
f_recv_S1AP_unsuccessfulOutcome(mw_PathSwitchRequestFailure(p_value))
}
/**
* @desc Receive S1AP Message eNB Status Transfer
* @param p_value Receive template for eNB Status Transfer IEs
......@@ -1107,6 +1134,16 @@ module LibS1AP_Steps {
f_send_S1AP_successfulOutcome(m_HandoverCommand(p_value))
} // End of function f_send_HandoverCommand
/**
* @desc Send S1AP Message Path Switch Request
* @param p_value Send template with IE for Path Switch Request
*/
function f_send_PathSwitchRequest(
in template (value) RecordOf_ProtocolIE p_value
) runs on S1APComponent {
f_send_S1AP_initiatingMessage(m_PathSwitchRequest(p_value))
} // End of function f_send_PathSwitchRequestAcknowledge
/**
* @desc Send S1AP Message Path Switch Request Acknowledge
* @param p_value Send template with IE for Path Switch Request Acknowledge
......
This diff is collapsed.
......@@ -5192,7 +5192,443 @@ module S1AP_TCFunctions {
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_04_ENB2
/**
* @desc Testcase function for TC_S1AP_MME_HAS_05
*/
function f_TC_S1AP_MME_HAS_05() runs on S1APComponent {
// Local variables
const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_HandoverRequired(
m_HandoverRequiredIEs_SRVCCHOIndication(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetogeran,
m_cause_ran(unspecified),
m_Target_CGI('000001'O, //plmn id
'0001'O,//lac
'0001'O //ci
),
c_sourceBSS_ToTargetBSS_TransparentContainer,
cSonly //SRVCCHOIndication
));
f_recv_HandoverCommand(
mw_HandoverCommandIEs_NASSecurity(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetogeran,//handover_Type
c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
-
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_05
/**
* @desc Testcase function for TC_S1AP_MME_HAS_06
*/
function f_TC_S1AP_MME_HAS_06() runs on S1APComponent {
// Local variables
const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_HandoverRequired(
m_HandoverRequiredIEs_SRVCCHOIndication(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetoutran,
m_cause_ran(unspecified),
m_TargetRNC_ID(m_LAI('000001'O, //plmn id
'0001'O), //lac
m_rNC_Id),
c_sourceRNC_ToTargetRNC_TransparentContainer,
cSonly //SRVCCHOIndication
));
f_recv_HandoverCommand(
mw_HandoverCommandIEs_NASSecurity(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetoutran,//handover_Type
c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
-
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_06
/**
* @desc Testcase function for TC_S1AP_MME_HAS_07
*/
function f_TC_S1AP_MME_HAS_07() runs on S1APComponent {
// Local variables
const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer := '12121212'O;
const SourceBSS_ToTargetBSS_TransparentContainer c_sourceBSS_ToTargetBSS_TransparentContainer_2nd := '12121212'O;
const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer := '12121212'O;
const TargetBSS_ToSourceBSS_TransparentContainer c_targetBSS_ToSourceBSS_TransparentContainer_2nd := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_HandoverRequired(
m_HandoverRequiredIEs_SRVCCHOInd_S2TTransCont2nd_MSClassmark23(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetogeran,
m_cause_ran(unspecified),
m_Target_CGI('000001'O, //plmn id
'0001'O,//lac
'0001'O //ci
),
c_sourceBSS_ToTargetBSS_TransparentContainer,
c_sourceBSS_ToTargetBSS_TransparentContainer_2nd,
pSandCS, //SRVCCHOIndication
'0000'O, //MSclassmark2 need to be coded due to 9.2.1.64 and ts 48.008
'0000'O //MSclassmark3 need to be coded due to 9.2.1.65 and ts 48.008
));
f_recv_HandoverCommand(
mw_HandoverCommandIEs_T2STransCont2nd_NASSecurity(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetogeran,//handover_Type
c_targetBSS_ToSourceBSS_TransparentContainer,//TargetToSourceTransparentContainer
c_targetBSS_ToSourceBSS_TransparentContainer_2nd,//TargetToSourceTransparentContainer
-
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_07
/**
* @desc Testcase function for TC_S1AP_MME_HAS_08
*/
function f_TC_S1AP_MME_HAS_08() runs on S1APComponent {
// Local variables
const SourceRNC_ToTargetRNC_TransparentContainer c_sourceRNC_ToTargetRNC_TransparentContainer := '12121212'O;
const TargetRNC_ToSourceRNC_TransparentContainer c_targetRNC_ToSourceRNC_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_HandoverRequired(
m_HandoverRequiredIEs_SRVCCHOIndication(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetoutran,
m_cause_ran(unspecified),
m_TargetRNC_ID(m_LAI('000001'O, //plmn id
'0001'O), //lac
m_rNC_Id),
c_sourceRNC_ToTargetRNC_TransparentContainer,
pSandCS
));
f_recv_HandoverCommand(
mw_HandoverCommandIEs_NASSecurity(
vc_MME_UE_ID,
vc_eNB_UE_ID,
ltetoutran,//handover_Type
c_targetRNC_ToSourceRNC_TransparentContainer,//TargetToSourceTransparentContainer
-
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_08
/**
* @desc Testcase function for TC_S1AP_MME_HAS_09
*/
function f_TC_S1AP_MME_HAS_09() runs on S1APComponent {
// Local variables
const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_HandoverRequired(
m_HandoverRequiredIEs_CSGID(
vc_MME_UE_ID,
vc_eNB_UE_ID,
intralte,
m_cause_ran(unspecified),
m_TargeteNB_ID(m_Global_ENB_ID('000001'O,
m_ENB_ID_macro),
m_TAI('000001'O,
'0001'O)),
c_source_ToTarget_TransparentContainer,
'000000000000000000000000001'B
));
f_recv_HandoverPreparationFailure(
mw_HandoverPreparationFailureIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
-//cause
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_09
/**
* @desc Testcase function for TC_S1AP_MME_HAS_10
*/
function f_TC_S1AP_MME_HAS_10() 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 Handover request");
f_recv_HandoverRequest(
mw_HandoverRequestIEs(
-,
-,
-,
-,
{?},//E_RabsToBeSetupItem
-,
-,
-
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
//send HandoverRequestAck
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_10
/**
* @desc Testcase function for TC_S1AP_MME_HAS_11
*/
function f_TC_S1AP_MME_HAS_11() runs on S1APComponent {
// Local variables
const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_PathSwitchRequest(
m_PathSwitchRequestIEs(
vc_eNB_UE_ID,
{m_E_RABToBeSwitchedDLItem(1,-,-,-)},
vc_MME_UE_ID,
m_eUTRAN_CGI('000001'O, //plmn id
'0000000000000000000000000001'B ),//ci
m_TAI('000001'O,'0001'O),
m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B)
));
f_recv_PathSwitchRequestAck(
mw_PathSwitchRequestAckIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
-//security context
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_11
/**
* @desc Testcase function for TC_S1AP_MME_HAS_12
*/
function f_TC_S1AP_MME_HAS_12() runs on S1APComponent {
// Local variables
const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_PathSwitchRequest(
m_PathSwitchRequestIEs(
vc_eNB_UE_ID,
{m_E_RABToBeSwitchedDLItem(1,-,-,-)},
vc_MME_UE_ID,
m_eUTRAN_CGI('000001'O, //plmn id
'0000000000000000000000000001'B ),//ci
m_TAI('000001'O,'0001'O),
m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B)
));
f_recv_PathSwitchRequestFailure(
mw_PathSwitchRequestFailureIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
-//cause
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_12
/**
* @desc Testcase function for TC_S1AP_MME_HAS_13
*/
function f_TC_S1AP_MME_HAS_13() runs on S1APComponent {
// Local variables
const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
const Target_ToSource_TransparentContainer c_target_ToSource_TransparentContainer := '12121212'O;
// Preamble
f_S1AP_mme_init();
// Preamble action: E-RAB Setup is exchanged.
//f_rABSetup...;
f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
// Test body
// sends a HANDOVER_REQUIRED
f_send_PathSwitchRequest(
m_PathSwitchRequestIEs(
vc_eNB_UE_ID,
{ m_E_RABToBeSwitchedDLItem(1,-,-,-),
m_E_RABToBeSwitchedDLItem(1,-,-,-)
},
vc_MME_UE_ID,
m_eUTRAN_CGI('000001'O, //plmn id
'0000000000000000000000000001'B ),//ci
m_TAI('000001'O,'0001'O),
m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B)
));
f_recv_PathSwitchRequestFailure(
mw_PathSwitchRequestFailureIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
-//cause
));
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
// Postamble
//f_rABSetupRelease...;
f_postamble_S1AP_eNB();
f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
} // End of function f_TC_S1AP_MME_HAS_13
} // End of group Handover_signalling_group
/**
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment