Commit 6c396aff authored by berge's avatar berge
Browse files

Added basic sanity TCs

parent f6ea0d4d
Loading
Loading
Loading
Loading
+186 −0
Original line number Diff line number Diff line
module Sanity_Templates {
  
  	import from LibSip_SIPTypesAndValues all;
  
  	group userInfoTemplates {
  		
  		template UserInfo m_userInfo(charstring p_userOrTelephoneSuscriber, template charstring p_password) := {
			userOrTelephoneSubscriber	:= p_userOrTelephoneSuscriber,
			password 					:= p_password	
  		}
  	} // end group userInfoTemplates
  
  	group hostPortTemplates {
  		
  		template HostPort m_hostPort(charstring p_host, template integer p_port) := {
			host 		:= p_host,
			portField	:= p_port
  		}
  	} // end group hostPortTemplates
  
	group sipUri {
		
		template SipUrl	m_receiverSipUri(template SemicolonParam_List p_urlPareters) := {
			scheme 			:= c_sipScheme & ":", 
			userInfo 		:= m_userInfo("receiver", omit),
			hostPort 		:= m_hostPort("etsi.org", omit),
			urlParameters 	:= p_urlPareters,
			headers 		:= omit
		}
		
		template SipUrl	m_senderSipUri(template SemicolonParam_List p_urlPareters) := {
			scheme 			:= c_sipScheme & ":", 
			userInfo 		:= m_userInfo("sender", omit),
			hostPort 		:= m_hostPort("etsi.org", omit),
			urlParameters 	:= p_urlPareters,
			headers 		:= omit
		}		
  	} // end group sipUri  
  
  	group startLineTemplates {
  	
	  	template RequestLine m_requestLine(Method p_method, template SipUrl p_requestUri) := {
			method 		:= p_method,
			requestUri 	:= p_requestUri,
			sipVersion 	:= c_sipNameVersion
	  	}
  	
  	} // end group startLineTemplates
  
  	group callIdTemplates {
  		
  		template CallId m_callId(charstring p_callId) := {
			fieldName 	:= CALL_ID_E,
			callid 		:= p_callId	
  		}
  	} // end group callIdTemplates
  
  	group cSeqTemplates {
  		
		template CSeq m_cSeq(charstring p_method) := {
			fieldName := CSEQ_E,
		  	seqNumber := 1,	
		  	method := p_method
		}
	} // end group cSeqTemplates

	group genericParamTemplate {
		
		template GenericParam m_tag(charstring p_tagValue) := {
			id 			:= c_tagId, 
			paramValue 	:= p_tagValue
		}
		
		template GenericParam m_branch(charstring p_branchValue) := {
			id 			:= c_branchId, 
			paramValue 	:= p_branchValue
		}
	} // end group genericParamTemplates
  
	group fromTemplates {
		
		template From m_fromField(template SipUrl p_fromUri) := {
			fieldName 		:= FROM_E,
			addressField	:= {addrSpecUnion := p_fromUri},
			fromParams 		:= omit
		}
	} // end group fromTemplates  

	group toTemplates {
		
		template To m_toField(template SipUrl p_toUri) := {
		 	fieldName 		:= TO_E,
			addressField	:= {addrSpecUnion := p_toUri},
		  	toParams		:= omit
		}
		
	} // end group toTemplates

	group contactTemplates {
		
		template Contact m_contact(template SipUrl p_contactUri) := {
			fieldName 		:= CONTACT_E,
			contactBody		:= {contactAddresses := {{addressField := {addrSpecUnion := p_contactUri}}}}
		}
		
	} // end group contactTemplates
	  	  
	group viaTemplates {
		
		template Via m_via(ViaBody_List p_viaBodyList) := {
		  fieldName := VIA_E,
		  viaBody	:= p_viaBodyList
		}
		
		template ViaBody m_viaBody(template HostPort p_sentBy, SemicolonParam_List p_viaParams) := {
			sentProtocol	:= m_sentProtocol,
			sentBy			:= p_sentBy,
			viaParams 		:= p_viaParams
		}
	} // end group viaTemplates
	
	group sentProtocolTemplates {
		
		template SentProtocol m_sentProtocol := {
		  protocolName		:= c_sipName,
		  protocolVersion	:= c_sipVersion,
		  transport			:= c_defaultSipProt
		}
	} // end group sentProtocolTemplates
	
  	group msgHeaderTemplates {
  	
  		template MessageHeader m_minimalMsgHeader(
  			charstring p_callId,
  			charstring p_method,
  			template SipUrl p_contactUri,
			template SipUrl p_fromUri,
			template SipUrl p_toUri,
			ViaBody_List p_viaBodyList
  		) := {
			callId 		:= m_callId(p_callId),
			cSeq 		:= m_cSeq(p_method), 
			fromField 	:= m_fromField(p_fromUri), 
 			toField 	:= m_toField(p_toUri), 
			contact		:= m_contact(p_contactUri),
			maxForwards	:= c_maxForwards70,
			via 		:= m_via(p_viaBodyList) 
  		}
  	
  	} // end group msgHeaderTemplates
  	group requests {
  	
	  	template INVITE_Request m_standardInviteRequest := {
			requestLine := m_requestLine(INVITE_E, m_receiverSipUri(omit)),
			msgHeader 	:= m_minimalMsgHeader(	"inviteCall", 
												"INVITE", 
												m_senderSipUri(omit),
												m_senderSipUri({m_tag("a-tag")}),
												m_receiverSipUri(omit),
												{m_viaBody(	m_hostPort("etsi.org", c_defaultSipPort), 
															{m_branch(c_brenchCookie)}
															)}
												),
			messageBody := omit,	
			payload 	:= omit
	  	}
	  	
	  	template REGISTER_Request m_standardRegisterRequest := {
			requestLine := m_requestLine(REGISTER_E, m_senderSipUri(omit)),
			msgHeader 	:= m_minimalMsgHeader(	"registerCall", 
												"REGISTER", 
												m_senderSipUri(omit),
												m_senderSipUri({m_tag("a-tag")}),
												m_senderSipUri(omit),
												{m_viaBody(	m_hostPort("etsi.org", c_defaultSipPort), 
															{m_branch(c_brenchCookie)}
															)}
												),
			messageBody := omit,	
			payload 	:= omit
	  	}
	  
	} // end group requests
      
} // end module Sanity_Templates
+35 −0
Original line number Diff line number Diff line
/*
 *	@author     STF370
 *  @version    $Id$
 *	@desc       SIP Sanity Testcases
 */
 
module Sanity_Testcases {
  
  	import from TestSystem all;
  	import from LibSip_SIPTypesAndValues all;
  	import from Sanity_Templates all;
  
	testcase TC_SANITY_0001() runs on SipSimu system SipSimu {
    
		// Preamble
		connect(self:sipPort, self:sipPort);
		//map
		
		// Test Body
		sipPort.send(m_standardInviteRequest);
		sipPort.receive(m_standardInviteRequest);
		
	}

	testcase TC_SANITY_0002() runs on SipSimu system SipSimu {
    
		// Preamble
		connect(self:sipPort, self:sipPort);
		
		// Test Body
		sipPort.send(m_standardRegisterRequest);
		sipPort.receive(m_standardRegisterRequest);
		
	}  
} // end module Sanity_Testcases
 No newline at end of file
+19 −0
Original line number Diff line number Diff line
/*
 *	@author     STF370
 *  @version    $Id$
 *	@desc       Testcase execution is defined here.
 *
 */
module TestExecution { 
	
	import from Sanity_Testcases { testcase all } ;
	import from LibSip_SIPTypesAndValues all;

  control {

	execute(TC_SANITY_0001());
	execute(TC_SANITY_0002());

  } // end control

} // end module TestExecution
+8 −8
Original line number Diff line number Diff line
@@ -39,8 +39,8 @@ module TestSystem {
        REFER_Request,
        MESSAGE_Request,
        INFO_Request,
        Response        
        Response,
        Raw        
    };  
  }	 // end of portDefs group

} // end of module TestSystem
  }	// end group portDefs
} // end module TestSystem