Commit f11cb49b authored by juvancic's avatar juvancic
Browse files

added tests

parent c1e9ef86
Loading
Loading
Loading
Loading
+179 −5
Original line number Diff line number Diff line
@@ -1058,12 +1058,16 @@ module SipIsup_IMS_TCFunctions {
					// TESTBODY
					
					var charstring v_userinfo,v_userinfo_n;
					var From v_From_firstINVITE;
					var CallId v_CallId_firstINVITE;
					
					//Awaiting INVITE	
					//f_awaitingINVITE(mw_INVITE_Request_Base); 
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					//Store userinfo 
					//Store userinfo,from,callid 
					v_userinfo:=f_getUserfromTo(vc_caller_To);
					v_From_firstINVITE:=vc_caller_From;
					v_CallId_firstINVITE:=vc_callId;
					
					f_sendResponse(m_Response_4XXonINVITE(c_statusLine484,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
@@ -1074,8 +1078,10 @@ module SipIsup_IMS_TCFunctions {
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					//Check if number is greater than in last INVITE
					v_userinfo_n:=f_getUserfromTo(vc_caller_To);
					if(not((lengthof(v_userinfo_n))>(lengthof(v_userinfo)))){setverdict(fail);}
					if(not((lengthof(v_userinfo_n))>(lengthof(v_userinfo)))){log("Userinfo length not correct!");setverdict(fail);}
					v_userinfo:=v_userinfo_n;
					//Check matching of From and CallId from first INVITE
					if (not(match(v_From_firstINVITE,vc_caller_From)and match(v_CallId_firstINVITE,vc_callId))){log("From/CallId not match with first INVITE!");setverdict(fail);}
					
					f_sendResponse(m_Response_4XXonINVITE(c_statusLine484,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
@@ -1086,8 +1092,10 @@ module SipIsup_IMS_TCFunctions {
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					//Check if number is greater than in last INVITE
					v_userinfo_n:=f_getUserfromTo(vc_caller_To);
					if(not((lengthof(v_userinfo_n))>(lengthof(v_userinfo)))){setverdict(fail);}
					if(not((lengthof(v_userinfo_n))>(lengthof(v_userinfo)))){log("Userinfo length not correct!");setverdict(fail);}
					v_userinfo:=v_userinfo_n;
					//Check matching of From and CallId from first INVITE
					if (not(match(v_From_firstINVITE,vc_caller_From)and match(v_CallId_firstINVITE,vc_callId))){log("From/CallId not match with first INVITE!");setverdict(fail);}
					
					f_sendResponse(m_Response_4XXonINVITE(c_statusLine484,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
@@ -1098,8 +1106,10 @@ module SipIsup_IMS_TCFunctions {
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					//Check if number is greater than in last INVITE
					v_userinfo_n:=f_getUserfromTo(vc_caller_To);
					if(not((lengthof(v_userinfo_n))>(lengthof(v_userinfo)))){setverdict(fail);} 
					if(not((lengthof(v_userinfo_n))>(lengthof(v_userinfo)))){log("Userinfo length not correct!");setverdict(fail);} 
					v_userinfo:=v_userinfo_n;
					//Check matching of From and CallId from first INVITE
					if (not(match(v_From_firstINVITE,vc_caller_From)and match(v_CallId_firstINVITE,vc_callId))){log("From/CallId not match with first INVITE!");setverdict(fail);}
					
					f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_check_Ringing();
@@ -1120,9 +1130,173 @@ module SipIsup_IMS_TCFunctions {
    					
				}// end function f_IMS_TC_302_002
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_302_003
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_302_003(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_302_002(p_cSeq_s);
				}// end function f_IMS_TC_302_003				
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_302_004
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_302_004(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_302_002(p_cSeq_s);
				}// end function f_IMS_TC_302_004
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_302_005
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_302_005(in CSeq p_cSeq_s) runs on ImsComponent {
					//if (PICS_3_2){
					//	log("Check setting of PICS_3_2");
					//	setverdict(inconc); 
					//	stop;
					//}
					// PREAMBLE
					// IMS component interface initialization
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_IMGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done
					// TESTBODY
					
					f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point
					//Awaiting INVITE	
					//f_awaitingINVITE(mw_INVITE_Request_Base); 
					f_awaitingINVITE(mw_INVITE_Request_IMS(*,*,*,*));
					f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_check_Ringing();	
					f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local))));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
					f_check_Conversation();	
					//await BYE and send 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done

					// POSTAMBLE
					// send REGISTER, await 401, send REGISTER, await 200 OK 
					//f_RemoveRegistration(vc_cSeq);

//					f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());// sync point postamble done
					f_SIP_postamble_IMS1_withoutRegistration ()
						
				}// end function f_IMS_TC_302_005				
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_302_006
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_302_006(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_302_002(p_cSeq_s);
				}// end function f_IMS_TC_302_006				
				
			} // end group TP302_ReceiptSAM

			group TP303_Sending_ACM {
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_303_001
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_303_001(in CSeq p_cSeq_s) runs on ImsComponent {
					//if (not(PICS_3_1)){
					//	log("Check setting of PICS_3_1");
					//	setverdict(inconc); 
					//	stop;
					//}
					f_IMS_TC_301_001(p_cSeq_s);
				}// end function f_IMS_TC_303_001				
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_303_002
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_303_002(in CSeq p_cSeq_s) runs on ImsComponent {

					//if (not(PICS_2_3 and PICS_3_1)){
					//	log("Check setting of PICS_2_3,PICS_3_1");
					//	setverdict(inconc); 
					//	stop;
					//}

					// PREAMBLE
					// IMS component interface initialization
					//c_userProfile_ICSCFwithHomeUE or c_userProfile_IBCFwithHomeUE
					f_IMS_preamble_IMGCF(c_userProfile_ICSCFwithHomeUE, p_cSeq_s); // assignment of PIXIT values to component variable

					f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done
					// TESTBODY

					//Awaiting INVITE	
					//f_awaitingINVITE(mw_INVITE_Request_Base); 
					f_awaitingINVITE(mw_INVITE_Request_IMS_mb(*,*,*,*));
					//Check SDP parameters - CLEARMODE ...
					if (f_check_attribute(vc_sdp_remote, m_attribute_CLEARMODE_DPT))
					{
						//vc_sdp_local := valueof();
						//prepare answer SDP with CLEARMODE codec 
					}
					else
					{
						setverdict(fail);
					}
						
					f_sendResponse(m_Response_18XonINVITE(c_statusLine180,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact));
					f_check_Ringing();
					f_sendResponse(m_Response_2xxonINVITE(c_statusLine200,vc_callId, vc_cSeq,vc_caller_From, vc_caller_To, vc_via,vc_contact,f_route(),valueof(m_mBody_SDP(vc_sdp_local))));
					f_awaitingACK(mw_ACK_Request_Base(vc_callId));
					f_check_Conversation();
					//await BYE and send 200 OK
					f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));

					f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done

					// POSTAMBLE
					// send REGISTER, await 401, send REGISTER, await 200 OK 
					//f_RemoveRegistration(vc_cSeq);

	//				f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());// sync point postamble done
					f_SIP_postamble_IMS1_withoutRegistration ()
	
				}// end function f_IMS_TC_303_002				
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_303_003
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_303_003(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_303_001(p_cSeq_s);
				}// end function f_IMS_TC_303_003	
				
				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_303_004
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_303_004(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_303_002(p_cSeq_s);
				}// end function f_IMS_TC_303_004							

				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_303_005
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_303_005(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_303_001(p_cSeq_s);
				}// end function f_IMS_TC_303_005

				/* 
				*  @desc	This is the test case function (IMS/SIP side) for TC_303_006
				*  @param	loc_CSeq_s - Transaction Id
				*/
				function f_IMS_TC_303_006(in CSeq p_cSeq_s) runs on ImsComponent {
					f_IMS_TC_303_002(p_cSeq_s);
				}// end function f_IMS_TC_303_006
				
			} // end group TP303_Sending_ACM
			
			group TP304_Sending_CPG {