--- /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();
+ }