bluetoothapitest/bluetoothsvs/T_BTUserAPI/scripts/BT-USER-BluetoothSynchronousLink-PublicApi.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Feb 2010 23:56:55 +0200
branchRCL_3
changeset 8 2b6718f05bdb
parent 0 29b1cd4cb562
permissions -rw-r--r--
Revision: 201001 Kit: 201007

//
// Copyright (c) 2005-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:
//
///////////////////////////////////////////////////////////////////////////////
//! @file
//! @SYMTestSuiteName			T_BTUserAPI
//! @SYMScriptTestEnvironment	This test script requires a basic ROM with bluetooth dongle.
//! @SYMScriptDescription		Tests all public elements of the CBluetoothSynchronousLink classe
//!								as a means of confidence that the API works as expected. 
//!								The purpose is to provide a regression test suite of PublishedAll APIs for 
//!								BT USER related classes.
//!								Negative testing is performed to confirm that correct errors are returned 
//!								when incorrect parameters are given. The tests are fully automated.
//! @SYMAuthor					Paihung Huang
//! @SYMCreationDate			14/03/2007
///////////////////////////////////////////////////////////////////////////////

RUN_UTILS MkDir ${SYSDRIVE}\bluetooth\
RUN_UTILS MkDir ${SYSDRIVE}\bluetooth\user\

LOAD_SUITE	T_BTUserAPI
DELAY		500


// ****************************************************************************
// CBluetoothSynchronousLink
// **************************************************************************** 

START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0001
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0001
//! @SYMAPI							CBluetoothSynchronousLink and RSocketServ
//! @SYMTestCaseDesc				Allocate and open a socket sub-session for Bluetooth SCO
//!									Uses API elements: 	NewL() and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a socket for Bluetooth SCO using NewL() function. Return KErrNone if successful
//!									3. Delete the socket using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Socket for Bluetooth SCO was opened successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0001-0001command5NewL
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0001


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0002
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0002
//! @SYMAPI							CBluetoothSynchronousLink and RSocketServ
//! @SYMTestCaseDesc				Allocate and open a socket sub-session for Bluetooth SCO
//!									Uses API elements: 	NewLC() and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a socket for Bluetooth SCO using NewLC() function. Return KErrNone if successful
//!									3. Delete the socket using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Socket for Bluetooth SCO was opened successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothSynchronousLink1	NewLC		BT-USER-BluetoothSynchronousLink-PublicApi-0002-0001command5NewLC
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0002


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0003
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0003
//! @SYMAPI							CBluetoothSynchronousLink, MBluetoothPhysicalLinksNotifier and RSocketServ
//! @SYMTestCaseDesc				Return a null aObject if the extension is not implemented, or a pointer to another interface if it is
//!									Uses API elements: 	NewL() and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//!														MBSLN_ExtensionInterfaceL() from MBluetoothPhysicalLinksNotifier
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a socket for Bluetooth SCO using NewL() function. Return KErrNone if successful
//!									3. Verify the pointer returned is null using MBSLN_ExtensionInterfaceL() function. 
//!									   Return KErrNone if successful
//!									4. Delete the socket using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			A null pointer returned
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0003-0001command5NewL
			COMMAND		CBluetoothSynchronousLink1	MBSLN_ExtensionInterfaceL		BT-USER-BluetoothSynchronousLink-PublicApi-0003-0001command6MBSLN_ExtensionInterfaceL
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0003


// ****************************************************************************
// Negative test cases
// ****************************************************************************

START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0004
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0004
//! @SYMAPI							CBluetoothSynchronousLink and RSocketServ
//! @SYMTestCaseDesc				Create a synchronous link without an existing physical link
//!									Uses API elements: 	NewL(), SetupConnection()1 and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a socket for Bluetooth SCO using NewL() function
//!									3. Create a synchronous link with a device address(22222222) using SetupConnection()1 function.
//!									   Return KErrNone if successful
//!									4. Delete the socket using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			KErrDisconnected (-36) returned at step 3
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0004-0001command5NewL
			COMMAND		!Error=-36	CBluetoothSynchronousLink1	SetupConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0004-0001command6SetupConnection
			OUTSTANDING	
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0004


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0005
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0005
//! @SYMAPI							CBluetoothPhysicalLinks, MBluetoothPhysicalLinksNotifier, CBluetoothSynchronousLink and RSocketServ
//! @SYMTestCaseDesc				Create a synchronous link with a ACL packet types
//!									Uses API elements: 	NewL() and CreateConnection() from CBluetoothPhysicalLinks
//!														HandleCreateConnectionCompleteL() from MBluetoothPhysicalLinksNotifier
//!														NewL() and SetupConnection()2 from CBluetoothSynchronousLink
//!														RSocketServ() and Connect() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a Bluetooth socket using NewL() function
//!									3. Bring in a new member to the piconet with a device address(22222222) using 
//!									   CreateConnection() function. Return KErrNone if successful
//!									4. Return callback HandleCreateConnectionCompleteL() function
//!									5. Verify that if return result (-6004) from callback function is as expected (-6004)
//!									6. Open a socket for Bluetooth SCO using NewL() function
//!									7. Create a synchronous link with a device address(22222222) and EPacketsDM1 using 
//!									   SetupConnection()2 function
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Panic at step 5
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	CBluetoothPhysicalLinks	CBluetoothPhysicalLinks1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothPhysicalLinks1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0005-0001command5NewL
			COMMAND	!AsyncError=-6004	CBluetoothPhysicalLinks1	CreateConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0005-0001command6CreateConnection
			OUTSTANDING
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0005-0001command8NewL
			COMMAND		CBluetoothSynchronousLink1	SetupConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0005-0001command9SetupConnection
			OUTSTANDING
	END_TEST_BLOCK	!PanicCode=6	!PanicString=BTSocket

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0005


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0006
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0006
//! @SYMAPI							CBluetoothPhysicalLinks, MBluetoothPhysicalLinksNotifier, CBluetoothSynchronousLink and RSocketServ
//! @SYMTestCaseDesc				Cancel creating a synchronous link before setting up the connection
//!									Uses API elements: 	NewL(), CreateConnection() and destructor from CBluetoothPhysicalLinks
//!														HandleCreateConnectionCompleteL() from MBluetoothPhysicalLinksNotifier
//!														NewL(), CancelSetup() and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a Bluetooth socket using NewL() function
//!									3. Bring in a new member to the piconet with a device address(22222222) using 
//!									   CreateConnection() function. Return KErrNone if successful
//!									4. Return callback HandleCreateConnectionCompleteL() function
//!									5. Verify that if return result (-6004) from callback function is as expected (-6004)
//!									6. Open a socket for Bluetooth SCO using NewL() function
//!									7. Cancel creating a synchronous link using CancelSetup() function
//!									8. Delete the socket using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Cancelled the synchronous link
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	CBluetoothPhysicalLinks	CBluetoothPhysicalLinks1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothPhysicalLinks1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0006-0001command5NewL
			COMMAND		!AsyncError=-6004	CBluetoothPhysicalLinks1	CreateConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0006-0001command6CreateConnection
			OUTSTANDING
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0006-0001command8NewL
			COMMAND		CBluetoothSynchronousLink1	CancelSetup	
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		CBluetoothPhysicalLinks1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0006


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0007
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0007
//! @SYMAPI							CBluetoothPhysicalLinks, MBluetoothPhysicalLinksNotifier, CBluetoothSynchronousLink and RSocketServ
//! @SYMTestCaseDesc				Disconnect a synchronous link before setting up the connection
//!									Uses API elements: 	NewL(), CreateConnection() and destructor from CBluetoothPhysicalLinks
//!														HandleCreateConnectionCompleteL() from MBluetoothPhysicalLinksNotifier
//!														NewL(), Disconnect() and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a Bluetooth socket using NewL() function
//!									3. Bring in a new member to the piconet with a device address(11111111) using 
//!									   CreateConnection() function. Return KErrNone if successful
//!									4. Return callback HandleCreateConnectionCompleteL() function
//!									5. Verify that if return result (-6004) from callback function is as expected (-6004)
//!									6. Open a socket for Bluetooth SCO using NewL() function
//!									7. Disconnect a synchronous link using Disconnect() function. Return KErrNone if successful
//!									8. Delete the socket using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			KErrDisconnected (-36) returned at step 5
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	CBluetoothPhysicalLinks	CBluetoothPhysicalLinks1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothPhysicalLinks1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0007-0001command5NewL
			COMMAND	!AsyncError=-6004	CBluetoothPhysicalLinks1	CreateConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0007-0001command6CreateConnection
			OUTSTANDING
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0007-0001command8NewL
			COMMAND		!Error=-36	CBluetoothSynchronousLink1	Disconnect	BT-USER-BluetoothSynchronousLink-PublicApi-0007-0001command9Disconnect
			OUTSTANDING	
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		CBluetoothPhysicalLinks1	~	
			COMMAND		RSocketServ1	Close
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0007


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0008
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0008
//! @SYMAPI							CBluetoothSynchronousLink, CBluetoothPhysicalLinks, MBluetoothPhysicalLinksNotifier, RSocketServ
//! @SYMTestCaseDesc				Prepare for a remote device to set up a synchronous link on the local device
//!									Uses API elements: 	NewL() and CreateConnection() from CBluetoothPhysicalLinks
//!														HandleCreateConnectionCompleteL() from MBluetoothPhysicalLinksNotifier
//!														NewL() and AcceptConnection()2 from CBluetoothSynchronousLink
//!														RSocketServ() and Connect() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a Bluetooth socket using NewL() function
//!									3. Bring in a new member to the piconet with a device address(11111111) using 
//!									   CreateConnection() function. Return KErrNone if successful
//!									4. Return callback HandleCreateConnectionCompleteL() function
//!									5. Verify that if return result (-6004) from callback function is as expected (-6004)
//!									6. Open a socket for Bluetooth SCO using NewL() function
//!									7. Prepare for a remote device to set up a synchronous link on the local device with
//!									   EPacketsHV3 using AcceptConnection()2 function
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			KErrDisconnected (-36) returned at step 4
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	CBluetoothPhysicalLinks	CBluetoothPhysicalLinks1	
			CREATE_OBJECT	RSocketServ	RSocketServ1
			CREATE_OBJECT	TBTSyncPackets	TBTSyncPackets1	     
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
            COMMAND		TBTSyncPackets1	TBTSyncPackets		    BT-USER-BluetoothSynchronousLink-PublicApi-0008-0001command3TBTSyncPackets       
			COMMAND		CBluetoothPhysicalLinks1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0008-0001command4NewL
			COMMAND	!AsyncError=-6004	CBluetoothPhysicalLinks1	CreateConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0008-0001command5CreateConnection
			OUTSTANDING
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0008-0001command6NewL
			COMMAND		CBluetoothSynchronousLink1	AcceptConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0008-0001command7AcceptConnection
	END_TEST_BLOCK
END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0008

//!START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0009
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0009
//! @SYMAPI							CBluetoothSynchronousLink, TBTSyncPackets
//! @SYMTestCaseDesc				Create a synchronous link on an EXISTING physical link without a connected session on the socket server
//!									Uses API elements: 	NewL() and SetupConnection()3 from CBluetoothSynchronousLink
//!														TBTSyncPackets() from TBTSyncPackets
//! @SYMTestActions					1. Construct a synchronous packet type (ESyncPacketsHV1) using TBTSyncPackets() function
//!									2. Open a socket for Bluetooth SCO using NewL() function
//!									3. Create a synchronous link on an EXISTING physical link with a device address(11111111)
//!									   and a SCO packet type(ESyncPacketsHV1) using SetupConnection()3 function
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Panic at step 3
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
//!			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
//!			CREATE_OBJECT	RSocketServ	RSocketServ1	
//!			CREATE_OBJECT	TBTSyncPackets	TBTSyncPackets1	
//!			COMMAND		TBTSyncPackets1	TBTSyncPackets		BT-USER-BluetoothSynchronousLink-PublicApi-0009-0001command2TBTSyncPackets
//!			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0009-0001command4NewL
//!			COMMAND		CBluetoothSynchronousLink1	SetupConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0009-0001command5SetupConnection
//!			OUTSTANDING
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0009


//!START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0010
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0010
//! @SYMAPI							CBluetoothSynchronousLink
//! @SYMTestCaseDesc				Create a synchronous link on an EXISTING physical link without a connected session on the socket server
//!									Uses API elements: 	NewLC() and SetupConnection()1
//! @SYMTestActions					1. Open a socket for Bluetooth SCO using NewLC() function
//!									2. Create a synchronous link on an EXISTING physical link with a device address(11111111)
//!									   using SetupConnection()1 function
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Panic at step 2
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
//!			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
//!			CREATE_OBJECT	RSocketServ	RSocketServ1	
//!			COMMAND		CBluetoothSynchronousLink1	NewLC		BT-USER-BluetoothSynchronousLink-PublicApi-0010-0001command2NewLC
//!			COMMAND		CBluetoothSynchronousLink1	SetupConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0010-0001command3SetupConnection
//!			OUTSTANDING
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0010


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0011
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0011
//! @SYMAPI							CBluetoothSynchronousLink, RSocketServ, TBTSyncPackets
//! @SYMTestCaseDesc				Setup a synchronous link without creating a physical link
//!									Uses API elements: 	NewL(), SetupConnection()3 and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//!														TBTSyncPackets() and Connect() from TBTSyncPackets
//! @SYMTestActions					1. Construct a synchronous packet type (ESyncAnyESCOPacket) using TBTSyncPackets() function
//!									2. Create and start a session on the socket server
//!									3. Open a socket for Bluetooth SCO using NewL() function
//!									4. Create a synchronous link on an EXISTING physical link with a device address(11111111)
//!									   and a SCO packet type(ESyncAnyESCOPacket) using SetupConnection()3 function
//!									5. Delete the synchronous link using destructor
//!									6. Close the session on the socket server
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			KErrDisconnected (-36) returned at step 4
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			CREATE_OBJECT	TBTSyncPackets	TBTSyncPackets1	
			COMMAND		TBTSyncPackets1	TBTSyncPackets		BT-USER-BluetoothSynchronousLink-PublicApi-0011-0001command2TBTSyncPackets
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0011-0001command7NewL
			COMMAND	!Error=-36	CBluetoothSynchronousLink1	SetupConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0011-0001command8SetupConnection
			OUTSTANDING
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0011


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0012
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0012
//! @SYMAPI							CBluetoothSynchronousLink, CBluetoothPhysicalLinks, MBluetoothPhysicalLinksNotifier, RSocketServ
//! @SYMTestCaseDesc				Cancel ability to respond to a remote request without creating a synchronous link
//!									Uses API elements: 	NewL(), CreateConnection() and destructor from CBluetoothPhysicalLinks
//!														HandleCreateConnectionCompleteL() from MBluetoothPhysicalLinksNotifier
//!														NewL(), CancelAccept() and destructor from CBluetoothSynchronousLink
//!														RSocketServ(), Connect() and Close() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a Bluetooth socket using NewL() function
//!									3. Bring in a new member to the piconet with a device address(11111111) using 
//!									   CreateConnection() function. Return KErrNone if successful
//!									4. Return callback HandleCreateConnectionCompleteL() function
//!									5. Verify that if return result (-6004) from callback function is as expected (-6004)
//!									6. Open a socket for Bluetooth SCO using NewL() function
//!									7. Cancel ability to respond to a remote request to set up a synchronous link using
//!									   CancelAccept() function
//!									8. Delete the synchronous link using destructor
//!									9. Delete the socket using destructor
//!									10. Close the session on the socket server
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Cancel succeeded
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLink1	
			CREATE_OBJECT	CBluetoothPhysicalLinks	CBluetoothPhysicalLinks1	
			CREATE_OBJECT	RSocketServ	RSocketServ1	
			COMMAND		RSocketServ1	RSocketServ	
			COMMAND		RSocketServ1	Connect	
			COMMAND		CBluetoothPhysicalLinks1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0012-0001command5NewL
			COMMAND	!AsyncError=-6004	CBluetoothPhysicalLinks1	CreateConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0012-0001command6CreateConnection
			OUTSTANDING
			COMMAND		CBluetoothSynchronousLink1	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0012-0001command8NewL
			COMMAND		CBluetoothSynchronousLink1	CancelAccept	
			COMMAND		CBluetoothSynchronousLink1	~	
			COMMAND		CBluetoothPhysicalLinks1	~	
			COMMAND		RSocketServ1	Close	
	END_TEST_BLOCK

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0012


START_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0013
//! @SYMTestCaseID					BT-USER-BluetoothSynchronousLink-PublicApi-0013
//! @SYMAPI							CBluetoothPhysicalLinks, MBluetoothPhysicalLinksNotifier, CBluetoothSynchronousLink, RSocketServ
//! @SYMTestCaseDesc				Get the socket address of the remote Bluetooth device without creating a synchronous link
//!									Uses API elements: 	NewL() and CreateConnection() from CBluetoothPhysicalLinks
//!														HandleCreateConnectionCompleteL() from MBluetoothPhysicalLinksNotifier
//!														NewL() and RemoteName() from CBluetoothSynchronousLink
//!														RSocketServ() and Connect() from RSocketServ
//! @SYMTestActions					1. Create and start a session on the socket server
//!									2. Open a Bluetooth socket using NewL() function
//!									3. Bring in a new member to the piconet with a device address(11111111) using 
//!									   CreateConnection() function. Return KErrNone if successful
//!									4. Return callback HandleCreateConnectionCompleteL() function
//!									5. Verify that if return result (-6004) from callback function is as expected (-6004)
//!									6. Open a socket for Bluetooth SCO using NewL() function
//!									7. Get the socket address of the remote Bluetooth device using RemoteName() function
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Panic at step 5
//! @SYMTestType					CIT

	START_TEST_BLOCK	1000	T_BTUserAPI	\bluetooth\user\BT-USER-BluetoothSynchronousLink-PublicApi.ini
			CREATE_OBJECT	CBluetoothPhysicalLinks	CBluetoothPhysicalLinksData	
			CREATE_OBJECT	RSocketServ	RSocketServData	
			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
			COMMAND		RSocketServData	RSocketServ	
			COMMAND		RSocketServData	Connect	
			COMMAND		CBluetoothPhysicalLinksData	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0013-0001command5NewL
			COMMAND	!AsyncError=-6004	CBluetoothPhysicalLinksData	CreateConnection		BT-USER-BluetoothSynchronousLink-PublicApi-0013-0001command6CreateConnection
			OUTSTANDING	
			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-BluetoothSynchronousLink-PublicApi-0013-0001command9NewL
			COMMAND		CBluetoothSynchronousLinkData	RemoteName		BT-USER-BluetoothSynchronousLink-PublicApi-0013-0001command10RemoteName
	END_TEST_BLOCK	!PanicCode=6	!PanicString=BTSocket

END_TESTCASE BT-USER-BluetoothSynchronousLink-PublicApi-0013


DELAY		2000