blob: 6d2f8af57828530521d6c63552c0171fb3faddb3 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2018 Ericsson Telecom AB
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
// File: SGsAP_SCTP_Daemon_Test.ttcn
// Description: SGsAP SDD test
// Rev: <RnXnn>
// Prodnr: CNL 113 630
// Updated: 2010-11-26
// Contact: http://ttcn.ericsson.se
///////////////////////////////////////////////////////////////////////////////
module SGsAP_SCTP_Daemon_Test
{
import from SGsAP_SCTP_Daemon all;
import from SGsAP_SCTP_Daemon_Types all;
import from SGsAP_Types all;
import from SCTP_Daemon_Dynamic_Test all;
import from SCTP_Daemon_Dynamic all;
import from SCTP_Daemon_Dynamic_Types all;
//=========================================================================
// Testcases
//=========================================================================
testcase tc_SGsAP_lookup() runs on SGsAP_SDD_CT
{
f_SGsAP_SDD_init();
log("Starting inserts");
if (v_Connection_Insert!=null)
{
v_Connection_Insert.apply('100103AABBCC'O , 5);
v_Connection_Insert.apply('100103AABB01'O , 5);
v_Connection_Insert.apply('100103DDEEFF'O , 6);
v_Connection_Insert.apply('100103999999'O , 7);
v_Connection_Insert.apply('100103000000'O , 8);
v_Connection_Insert.apply('100103000001'O , 8);
}
log("Finished inserts");
log("Starting lookUps");
var TCP_connections_List vl_res;
if (v_Connection_Lookup!=null)
{
vl_res := v_Connection_Lookup.apply('100103000001'O);
log(vl_res);
if (vl_res == {8}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103000000'O);
log(vl_res);
if (vl_res == {8}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103999999'O);
log(vl_res);
if (vl_res == {7}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103DDEEFF'O);
log(vl_res);
if (vl_res == {6}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('100103AABB01'O);
log(vl_res);
if (vl_res == {5}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103AABBCC'O);
log(vl_res);
if (vl_res == {5}) { setverdict(pass); } else {setverdict(fail)};
}
log("Finished lookUps");
vl_res := f_SGsAP_SDD_getAllConnIds();
log("Get all connIds: ",vl_res);
if (vl_res == {5,6,7,8}) { setverdict(pass); } else {setverdict(fail)}
log("Starting deletes");
if (v_Connection_Delete!=null) {v_Connection_Delete.apply(8)}
log("Finished deletes");
log("Starting lookUps 2");
if (v_Connection_Lookup!=null)
{
vl_res := v_Connection_Lookup.apply('100103000001'O);
log(vl_res);
if (vl_res == {}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103000000'O);
log(vl_res);
if (vl_res == {}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103999999'O);
log(vl_res);
if (vl_res == {7}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103DDEEFF'O);
log(vl_res);
if (vl_res == {6}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('100103AABB01'O);
log(vl_res);
if (vl_res == {5}) { setverdict(pass); } else {setverdict(fail)};
vl_res := v_Connection_Lookup.apply('120103AABBCC'O);
log(vl_res);
if (vl_res == {5}) { setverdict(pass); } else {setverdict(fail)};
}
log("Finished lookUps 2");
vl_res := f_SGsAP_SDD_getAllConnIds();
log("Get all connIds: ",vl_res);
if (vl_res == {5,6,7}) { setverdict(pass); } else {setverdict(fail)}
f_SGsAP_SDD_cleanUp();
}
function f_delay(float p_time)
{
timer t := p_time;
t.start;
t.timeout;
}
type component Dummy_CT {}
testcase tc_SGsAP_client() runs on Dummy_CT
{
var MAIN_CT vc_server := MAIN_CT.create;
var MAIN_CT vc_client := MAIN_CT.create;
vc_server.start(f_SGsAP_server());
f_delay(1.0);
vc_client.start(f_SGsAP_client());
all component.done;
}
function f_SGsAP_client() runs on MAIN_CT
{
map(self:daemonPort, system:daemonPort);
f_Connect_to_SDD();
f_Init_SCTP_Client(tsp_serverInterface, tsp_serverPort);
f_sendDataFromClient('100103AABBCC'O);
f_CheckDataReceive_noOtherData(?,'100103AABBCC'O);
f_delay(5.0);
f_StopClient();
//f_StopMyAssociations();
unmap(self:daemonPort, system:daemonPort);
}
function f_SGsAP_server() runs on MAIN_CT
{
map(self:daemonPort, system:daemonPort);
f_Connect_to_SDD();
f_Init_SCTP_Server(tsp_serverInterface, tsp_serverPort);
f_serverWaitForConnection();
f_ServerEchoBack(5.0);
f_StopServer();
//f_StopMyAssociations();
unmap(self:daemonPort, system:daemonPort);
}
testcase tc_SGsAP_clients() runs on Dummy_CT
{
var MAIN_CT vc_server := MAIN_CT.create;
var MAIN_CT vc_client := MAIN_CT.create;
var MAIN_CT vc_client_2 := MAIN_CT.create;
vc_server.start(f_SGsAP_server());
f_delay(1.0);
vc_client.start(f_SGsAP_client());
f_delay(1.0);
vc_client_2.start(f_SGsAP_client_2());
f_delay(5.0);
all component.done;
}
function f_SGsAP_client_2() runs on MAIN_CT
{
map(self:daemonPort, system:daemonPort);
f_Connect_to_SDD();
f_Init_SCTP_Client(tsp_serverInterface, tsp_serverPort);
f_sendDataFromClient('100103999999'O);
f_CheckDataReceive_noOtherData(?,'100103999999'O);
f_delay(5.0);
f_StopClient();
//f_StopMyAssociations();
unmap(self:daemonPort, system:daemonPort);
}
}