telephonyserver/etelserverandcore/TETEL/TE_ETEL/TE_Etelcoredstdnc.cpp
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserver/etelserverandcore/TETEL/TE_ETEL/TE_Etelcoredstdnc.cpp	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,411 @@
+// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "TE_EtelBase.h"
+#include "TE_Etelcoredstdnc.h"
+
+CTestNcTermFaxSess::CTestNcTermFaxSess()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestNcTermFaxSess"));
+	}
+
+enum TVerdict CTestNcTermFaxSess::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Test \"N.C\" Terminate Fax Session"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	RCall call;
+    ret = call.OpenNewCall(server,DSTD_CALL_FULLNAME);
+	TESTCHECK(ret, KErrNone);
+
+	TDummyString dialString=DACQ_PHONE_NUMBER_TO_DIAL;
+	RCall::TCallParams callParams;
+	RCall::TCallParamsPckg callParamsPckg(callParams);
+
+	ret=call.Dial(callParamsPckg,dialString);
+    TESTCHECK(ret, KErrNone);
+
+	RFax fax;
+	fax.Open(call);
+	TRequestStatus readFax;
+	TAcqFaxBuf buf=DACQ_FAX_BUF_DATA;
+	fax.Read(readFax,buf);
+
+	ret=fax.TerminateFaxSession();
+    TESTCHECK(ret, KErrNone);
+	
+	fax.Close();
+	call.Close();
+	ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestTermFaxSess1::CTestTermFaxSess1()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestTermFaxSess1"));
+	}
+
+enum TVerdict CTestTermFaxSess1::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Test Terminate Fax Session Case 1"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	RCall call;
+    ret = call.OpenNewCall(server,DSTD_CALL_FULLNAME);
+	TESTCHECK(ret, KErrNone);
+
+	RCall::TCallParams callParams;
+	RCall::TCallParamsPckg callParamsPckg(callParams);
+
+	TDummyString dialString=DACQ_PHONE_NUMBER_TO_DIAL;
+	ret=call.Dial(callParamsPckg,dialString);
+    TESTCHECK(ret, KErrNone);
+
+	RFax fax;
+	fax.Open(call);
+	TRequestStatus readFax;
+	TAcqFaxBuf buf=DACQ_FAX_BUF_DATA;
+	fax.Read(readFax,buf);
+	User::WaitForRequest(readFax);
+
+	ret=fax.TerminateFaxSession();
+    TESTCHECK(ret, KErrNone);
+	fax.Close();
+	call.Close();
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestTermFaxSess2::CTestTermFaxSess2()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestTermFaxSess2"));
+	}
+
+enum TVerdict CTestTermFaxSess2::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Test Terminate Fax Session Case 2"));
+
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTD_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	RCall call;
+    ret = call.OpenNewCall(server,DSTD_CALL_FULLNAME);
+	TESTCHECK(ret, KErrNone);
+	RFax fax;
+	ret=fax.Open(call);
+	TESTCHECK(ret, KErrNone);
+
+	TRequestStatus readFaxStatus;
+	TAcqFaxBuf buf=DACQ_FAX_BUF_DATA;
+	fax.Read(readFaxStatus,buf);
+	ret=fax.TerminateFaxSession();
+
+	fax.Close();
+	call.Close();
+  	ret=server.UnloadPhoneModule(DSTD_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+
+    ServerClose(server);
+
+	return TestStepResult();
+    }
+
+CTestNcCancelLineCall::CTestNcCancelLineCall()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestNcCancelLineCall"));
+	}
+
+enum TVerdict CTestNcCancelLineCall::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Cancel a line request !"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	RPhone phone;
+	ret = phone.Open(server,DSTDNC_PHONE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	RLine line;
+    ret = line.Open(phone,DSTDNC_LINE_NAME);
+	TESTCHECK(ret, KErrNone);
+	TRequestStatus incomingCallStatus;
+	TName name;
+	line.NotifyIncomingCall(incomingCallStatus,name);	//Request 1
+	User::WaitForRequest(incomingCallStatus);	//Completed Request 1
+	line.NotifyIncomingCallCancel();
+
+	RCall call;
+    ret = call.OpenNewCall(line);
+	TESTCHECK(ret, KErrNone);
+
+	TRequestStatus hookChangeStatus;
+	TRequestStatus bearerChangeStatus;
+	RCall::THookStatus hookStatus;
+	RCall::TStatus callStatus;
+
+	call.NotifyHookChange(hookChangeStatus,hookStatus);	//Request 2
+	User::WaitForRequest(hookChangeStatus);	//Completed Request 2
+	call.NotifyHookChangeCancel();
+	call.NotifyStatusChange(bearerChangeStatus,callStatus);	//Request 3
+	User::WaitForRequest(bearerChangeStatus);	//Completed Request 3
+	call.NotifyStatusChangeCancel();
+//
+	line.NotifyIncomingCall(incomingCallStatus,name);	//Request 4
+	User::WaitForRequest(incomingCallStatus);	//Completed Request 4
+	call.NotifyHookChange(hookChangeStatus,hookStatus);	//Request 5
+	User::WaitForRequest(hookChangeStatus);	//Completed Request 5
+	call.NotifyStatusChange(bearerChangeStatus,callStatus);	//Request 6
+	User::WaitForRequest(bearerChangeStatus);	//Completed Request 6
+	call.NotifyStatusChangeCancel();
+	line.NotifyIncomingCallCancel();
+	call.NotifyHookChangeCancel();
+/*
+	line.NotifyIncomingCall(incomingCallStatus);
+	call.NotifyHookChange(hookChangeStatus,hookStatus);
+	call.NotifyStatusChange(bearerChangeStatus,callStatus);
+	line.NotifyIncomingCallCancel();
+	call.NotifyStatusChangeCancel();
+	call.NotifyHookChangeCancel();
+
+	line.NotifyIncomingCallCancel();
+	call.NotifyStatusChangeCancel();
+	call.NotifyHookChangeCancel();
+*/
+	RFax fax;
+	fax.Open(call);
+	TRequestStatus readFax;
+	TRequestStatus readPageFax;
+
+	TAcqFaxBuf buf=DACQ_FAX_BUF_DATA;
+
+	fax.Read(readFax ,buf);	//Request 7
+	User::WaitForRequest(readFax);	//Completed request 7
+	fax.WaitForEndOfPage(readPageFax);	//Request 8
+	User::WaitForRequest(readPageFax);	//Completed request 8
+	fax.TerminateFaxSession();
+
+	fax.Close();
+	call.Close();
+	line.Close();
+	phone.Close();
+  	ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestCancelNoReq::CTestCancelNoReq()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestCancelNoReq"));
+	}
+
+enum TVerdict CTestCancelNoReq::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Cancel request without any previous request"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+	RPhone phone;
+	ret = phone.Open(server,DSTDNC_PHONE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	phone.Close();
+  	ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestNcCancelPhone::CTestNcCancelPhone()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestNcCancelPhone"));
+	}
+
+enum TVerdict CTestNcCancelPhone::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Cancel a phone request !"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+	RPhone phone;
+	ret = phone.Open(server,DSTDNC_PHONE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	TRequestStatus phoneDetectedStatus;
+	RPhone::TModemDetection detection;
+	phone.NotifyModemDetected(phoneDetectedStatus,detection);	//Request 1
+	User::WaitForRequest(phoneDetectedStatus);	//Completed request 1
+    phone.NotifyModemDetectedCancel();
+
+	phone.Close();
+  	ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestLoadTwice::CTestLoadTwice()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestLoadTwice"));
+	}
+
+enum TVerdict CTestLoadTwice::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Load Twice!"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+
+	INFO_PRINTF1(_L("Must unload twice !"));
+ 	ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+  	ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestNcCancelWrFax::CTestNcCancelWrFax()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestNcCancelWrFax"));
+	}
+
+enum TVerdict CTestNcCancelWrFax::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Cancel a Fax request !"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+	RPhone phone;
+	ret = phone.Open(server,DSTDNC_PHONE_NAME);
+    TESTCHECK(ret, KErrNone);
+
+	RLine line;
+    ret = line.Open(phone,DSTDNC_LINE_NAME);
+	TESTCHECK(ret, KErrNone);
+
+	RCall call;
+    ret = call.OpenNewCall(line);
+	TESTCHECK(ret, KErrNone);
+
+	RFax fax;
+	fax.Open(call);
+	TRequestStatus writeFax;
+	TAcqFaxBuf buf=DACQ_FAX_BUF_DATA;
+	fax.Write(writeFax,buf);
+
+	ret=fax.TerminateFaxSession();
+    TESTCHECK(ret, KErrNone);
+
+	fax.Close();
+	call.Close();
+	line.Close();
+	phone.Close();
+  	ret=server.UnloadPhoneModule(DSTDNC_MODULE_NAME);
+	TESTCHECK(ret, KErrNone);
+    ServerClose(server);
+
+	return TestStepResult();
+	}
+
+CTestGetNcFns::CTestGetNcFns()
+/** Each test step initialises it's own name
+*/
+	{
+	SetTestStepName(_L("TestGetNcFns"));
+	}
+
+enum TVerdict CTestGetNcFns::doTestStepL()
+	{
+	INFO_PRINTF1(_L("Test Get \"Nc\" Caps"));
+    RTelServer server;
+	TInt ret = server.Connect();
+	INFO_PRINTF2(_L("RTelServer::Connect returned %d."),ret);
+    TESTCHECK(ret, KErrNone);
+   	ret=server.LoadPhoneModule(DSTDNC_MODULE_NAME);
+    TESTCHECK(ret, KErrNone);
+	RPhone phone;
+	ret = phone.Open(server,DSTDNC_PHONE_NAME);
+    TESTCHECK(ret, KErrNone);
+	RPhone::TCaps caps;
+    ret=phone.GetCaps(caps);
+    TESTCHECK(ret, KErrNone);
+
+	TRequestStatus status;
+	RPhone::TModemDetection detection;
+	phone.NotifyModemDetected(status,detection);	//Request 1
+	User::WaitForRequest(status);	//Completed request 1
+	phone.NotifyModemDetectedCancel();
+
+	phone.Close();
+    ServerClose(server);
+
+	return TestStepResult();
+	}