// Copyright (c) 2008-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         LBS-ClientV2-0001
//! @SYMScriptTestEnvironment TestExecute with LBS-ClientV2-0001

 // delete log file to indicate that this is first boot (so cent rep stub sis gets processed)
 // NB: This line removed to save confusion - test execute doesn't have capabilities (TCB) to delete this log
 // But leaving here as a reminder that this delete needs to be done 
 // RUN_UTILS DeleteFile c:\sys\install\sisregistry\swiregfirstinit.log 


// Before we start LBS, select the test A-GPS integration module and network reg status txt file to use.
PREFIX RUN_UTILS
	MkDir c:\private\10282253\
	MkDir c:\private\10282253\lbs\
	MkDir c:\private\10282253\lbs\locmods\
	CopyFile c:\testdata\configs\xtestmodule.ini c:\private\10282253\lbs\locmods\agpsintegmodule.ini
REMOVE_PREFIX

LOAD_SUITE te_LbsPortedSuite

// Make sure to set the config file for SIM TSY in place
// before starting LBS.
PREFIX RUN_UTILS
CopyFile c:\testdata\configs\lbstestconfig.txt c:\config.txt
REMOVE_PREFIX

PRINT Start LBS 
RUN_TEST_STEP 020 te_LbsPortedSuite LbsStep_StartLbs


PRINT Run te_LbsPortedSuite
PRINT

PREFIX RUN_UTILS
// this first copy needed for winscw since no longer use testdriver (done in tdxml for arm)
	CopyFile z:\private\10202BE9\01000019.txt c:\testdata\configs\01000019.txt
	CopyFile z:\private\10202BE9\01000001.txt c:\testdata\configs\01000001.txt
	CopyFile z:\private\10202BE9\01000002.txt c:\testdata\configs\01000002.txt
	CopyFile z:\private\10202BE9\01000003.txt c:\testdata\configs\01000003.txt
	CopyFile z:\private\10202BE9\01000004.txt c:\testdata\configs\01000004.txt
	CopyFile z:\private\10202BE9\01000009.txt c:\testdata\configs\01000009.txt
	CopyFile z:\private\10202BE9\01000012.txt c:\testdata\configs\01000012.txt
	CopyFile z:\private\10202BE9\01000176.txt c:\testdata\configs\01000176.txt
	CopyFile z:\private\10202BE9\01000005.txt c:\testdata\configs\01000005.txt
	CopyFile z:\private\10202BE9\01000006.txt c:\testdata\configs\01000006.txt
	CopyFile z:\private\10202BE9\01000011.txt c:\testdata\configs\01000011.txt
	CopyFile z:\private\10202BE9\01000017.txt c:\testdata\configs\01000017.txt
	CopyFile z:\private\10202BE9\01010176.txt c:\testdata\configs\01010176.txt
	CopyFile z:\private\10202BE9\01000191.txt c:\testdata\configs\01000191.txt
	CopyFile z:\private\10202BE9\01000015.txt c:\testdata\configs\01000015.txt
	CopyFile z:\private\10202BE9\01000018.txt c:\testdata\configs\01000018.txt
	CopyFile z:\private\10202BE9\01000192.txt c:\testdata\configs\01000192.txt
	CopyFile z:\private\10202BE9\01010210.txt c:\testdata\configs\01010210.txt
	CopyFile z:\private\10202BE9\01000022.txt c:\testdata\configs\01000022.txt
	CopyFile z:\private\10202BE9\01f0ff23.txt c:\testdata\configs\01f0ff23.txt
	CopyFile z:\private\10202BE9\01000020.txt c:\testdata\configs\01000020.txt
	CopyFile z:\private\10202BE9\01000021.txt c:\testdata\configs\01000021.txt
	CopyFile z:\private\10202BE9\01f0ff24.txt c:\testdata\configs\01f0ff24.txt
	CopyFile z:\private\10202BE9\01f0e001.txt c:\testdata\configs\01f0e001.txt
	CopyFile z:\private\10202BE9\01f0e002.txt c:\testdata\configs\01f0e002.txt
	CopyFile z:\private\10202BE9\01f0e003.txt c:\testdata\configs\01f0e003.txt
	CopyFile z:\private\10202BE9\01f0e004.txt c:\testdata\configs\01f0e004.txt
	CopyFile z:\private\10202BE9\01f0e005.txt c:\testdata\configs\01f0e005.txt
	CopyFile z:\private\10202BE9\01000016.txt c:\testdata\configs\01000016.txt
	CopyFile z:\private\10202BE9\01000023.txt c:\testdata\configs\01000023.txt
	CopyFile z:\private\10202BE9\01010177.txt c:\testdata\configs\01010177.txt
	CopyFile z:\private\10202BE9\102869db.cre c:\testdata\configs\102869db.cre
 	CopyFile z:\private\10202BE9\102869dd.cre c:\testdata\configs\102869dd.cre

	CopyFile c:\testdata\configs\01000019.txt c:\private\10202BE9\01000019.txt
	CopyFile c:\testdata\configs\01000001.txt c:\private\10202BE9\01000001.txt
	CopyFile c:\testdata\configs\01000002.txt c:\private\10202BE9\01000002.txt
	CopyFile c:\testdata\configs\01000003.txt c:\private\10202BE9\01000003.txt
	CopyFile c:\testdata\configs\01000004.txt c:\private\10202BE9\01000004.txt
	CopyFile c:\testdata\configs\01000009.txt c:\private\10202BE9\01000009.txt
	CopyFile c:\testdata\configs\01000012.txt c:\private\10202BE9\01000012.txt
	CopyFile c:\testdata\configs\01000176.txt c:\private\10202BE9\01000176.txt
	CopyFile c:\testdata\configs\01000005.txt c:\private\10202BE9\01000005.txt
	CopyFile c:\testdata\configs\01000006.txt c:\private\10202BE9\01000006.txt
	CopyFile c:\testdata\configs\01000011.txt c:\private\10202BE9\01000011.txt
	CopyFile c:\testdata\configs\01000017.txt c:\private\10202BE9\01000017.txt
	CopyFile c:\testdata\configs\01010176.txt c:\private\10202BE9\01010176.txt
	CopyFile c:\testdata\configs\01000191.txt c:\private\10202BE9\01000191.txt
	CopyFile c:\testdata\configs\01000015.txt c:\private\10202BE9\01000015.txt
	CopyFile c:\testdata\configs\01000018.txt c:\private\10202BE9\01000018.txt
	CopyFile c:\testdata\configs\01000192.txt c:\private\10202BE9\01000192.txt
	CopyFile c:\testdata\configs\01010210.txt c:\private\10202BE9\01010210.txt
	CopyFile c:\testdata\configs\01000022.txt c:\private\10202BE9\01000022.txt
	CopyFile c:\testdata\configs\01f0ff23.txt c:\private\10202BE9\01f0ff23.txt
	CopyFile c:\testdata\configs\01000020.txt c:\private\10202BE9\01000020.txt
	CopyFile c:\testdata\configs\01000021.txt c:\private\10202BE9\01000021.txt
	CopyFile c:\testdata\configs\01f0ff24.txt c:\private\10202BE9\01f0ff24.txt
	CopyFile c:\testdata\configs\01f0e001.txt c:\private\10202BE9\01f0e001.txt
	CopyFile c:\testdata\configs\01f0e002.txt c:\private\10202BE9\01f0e002.txt
	CopyFile c:\testdata\configs\01f0e003.txt c:\private\10202BE9\01f0e003.txt
	CopyFile c:\testdata\configs\01f0e004.txt c:\private\10202BE9\01f0e004.txt
	CopyFile c:\testdata\configs\01f0e005.txt c:\private\10202BE9\01f0e005.txt
	CopyFile c:\testdata\configs\01000016.txt c:\private\10202BE9\01000016.txt
	CopyFile c:\testdata\configs\01000023.txt c:\private\10202BE9\01000023.txt
	CopyFile c:\testdata\configs\01010177.txt c:\private\10202BE9\01010177.txt
	CopyFile c:\testdata\configs\102869db.cre c:\private\10202BE9\102869db.cre
 	CopyFile c:\testdata\configs\102869dd.cre c:\private\10202BE9\102869dd.cre
 	DeleteFile c:\private\10282253\lbs\lbsprofile.ini

REMOVE_PREFIX


START_TESTCASE                  LBS-ClientV2-0001
//!@SYMTestCaseID               LBS-ClientV2-0001 
//!@SYMTestCaseDesc
//!
//! TP1 
//! TC1
//! UCREQ005, UCREQ019, UCREQ206, UCREQ252 and CR121
//!
//!@SYMTestActions
//!1.	A PSY which supports all predefined class types is enabled with the highest priority. 
//!2.	The client request positions by using the default PSY, all predefined class types are requested.
//!3.	A PSY which supports the mandatory classes (TPositionInfo and HGenericInfo) and 
//!one own defined class type is enabled with the highest priority. 
//!4.	The client request positions by using the default PSY, all predefined class types are 
//!requested as well as the own defined one. 
//!5.	The client request periodic updated with different class types and also the 
//!priority of the installed PSY is changed during the periodic update session. 
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The PSY is set up to be used as default.
//!2.	All class types should result that a position is returned to the client.
//!3.	The new PSY is set up to be used as default.
//!4.	All class types that are supported by the PSY should result that a position 
//!is returned to the client. For the classes that the PSY does not supported the 
//!client should get KErrArgument back. 
//!5.	If the current default psy does not support a class type KErrArguement should 
//!be retuned to the client. When the priority changes the used PSY in the periodic 
//!session should also change. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP1

END_TESTCASE                   LBS-ClientV2-0001 


START_TESTCASE                  LBS-ClientV2-0002
//!@SYMTestCaseID               LBS-ClientV2-0002 
//!@SYMTestCaseDesc
//!
//! TP2 
//! TC2
//! UCREQ006, UCREQ019
//!
//!@SYMTestActions
//!1.	The client opens a specific PSY and request locations using different class types.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Enables Multipsy. Opens the test module by name and then requests a position. 
//!Checks that the position is from the test module and is correctly filled in. 
//!MLFW should return a valid positioning data for every request from the 
//!requested PSY.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP2

END_TESTCASE                   LBS-ClientV2-0002 


START_TESTCASE                  LBS-ClientV2-0003
//!@SYMTestCaseID               LBS-ClientV2-0003 
//!@SYMTestCaseDesc
//!
//! TP11 
//! TC13
//! UCREQ
//!
//!@SYMTestActions
//!1.	Three clients connect to EPos. 
//!2.	They all disconnect from EPos. 
//!3.	Test delayed shutdown as well.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.a.	Connect one client to EPos and check that EPos server was started
//!  b.	Connect one more client to EPos and check that EPos server is still running.
//!  c.	Connect one more client to EPos and check that EPos server is still running.
//!2.	Disconnect all clients.
//!3.a.	Check that EPos server is still alive after one second.
//!  b.	Check that EPos server has shutdown after 2 seconds..
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP11

END_TESTCASE                   LBS-ClientV2-0003 


START_TESTCASE                  LBS-ClientV2-0004
//!@SYMTestCaseID               LBS-ClientV2-0004 
//!@SYMTestCaseDesc
//!
//! TP17 
//! TC4
//! UCREQ
//!
//!@SYMTestActions
//!1.The client tries to open a PSY that does not exist.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Connect one client to EPos and open a specific sub session by supplying a 
//!PSY module name that does not exist. After that verify if the error code 
//!KErrNotFound is returned
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP17

END_TESTCASE                   LBS-ClientV2-0004 


START_TESTCASE                  LBS-ClientV2-0005
//!@SYMTestCaseID               LBS-ClientV2-0005 
//!@SYMTestCaseDesc
//!
//! TP21 
//! TC31, TC32
//! UCREQ
//!
//!@SYMTestActions 
//!TC31: The user disables the test  PSY and then attempts to receive a location from it.
//!TC32: The user enables the test PSY and then attempts to receive a location from it.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!TC31:1.	Enables StubPositioner. Opens a sub session to an enabled positioning 
//!module. Makes a request. Disables the positioning module and makes another 
//!request. Checks that the request returned KErrNotFound. Closes the sub session.
//!TC32:1.	Open a new sub session without enabling the PSY. KErrNotFound is 
//!returned. Enable stubPositioner again, open a subsession, and make another 
//!request. Checks that the request returned KErrNone. The request is successfully completed.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP21

END_TESTCASE                   LBS-ClientV2-0005 


START_TESTCASE                  LBS-ClientV2-0006
//!@SYMTestCaseID               LBS-ClientV2-0006 
//!@SYMTestCaseDesc
//!
//! TP22 
//! TC14
//! UCREQ024, UCREQ025, UCREQ218
//!
//!@SYMTestActions
//!1.	The client requests periodic location updates from the positioning module 
//!with built-in timer, specifying a time interval of 5 seconds. The positioning module 
//!sometimes delivers fixes and sometimes it doesn’t (some error code sent from the 
//!positioning module, for example QualityLoss). At least 5 location updates are sent 
//!before the periodic update is terminated and the positioner is closed.
//!2.	The client requests periodic location updates from the positioning module 
//!without built-in timer, specifying a time interval of 5 seconds. At least 5 location 
//!updates are sent before the periodic update is terminated and the positioner is closed.
//!3.	The client request two location request from the psy without the built-in timer 
//!with interval set to 0 seconds (verifies that stop tracking has been called).
//!4.	The client request two location request from the psy with the built-in timer 
//!with interval set to 0 seconds (verifies that stop tracking has been called).
//!5.	The client requests periodic location updates from the positioning module 
//!without built-in timer, the update interval is set to 4 seconds, after the first 
//!location update the sub session to the positioning module is closed. 
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Enable TestTimerPsy and prepare for test. Opens TestTimerPsy and requests periodic 
//!updates with an interval of 5 seconds. The positioner returns a position every other 
//!request. The script waits for 5 position updates, closes the positioning module and 
//!checks all results.
//!2.a.	Enables TestPsy1. Opens TestPsy1 and requests periodic updates with an interval 
//!of 5 seconds. The positioner returns a position every request. The script waits for 5 
//!position updates, closes the positioning module and checks all results.
//!  b.	Enable TestTimerPsy. Opens TestTimerPsy and requests periodic updates with an 
//!interval of 7 seconds. The script waits for 3 position updates. After 3 position 
//!updates the interval is changed to 4 seconds. The script waits for 5 position updates, 
//!closes the positioning module and checks all results.
//!  c.	Enables TestPsy1. Opens TestPsy1 and requests periodic updates with an interval 
//!of 7 seconds. The script waits for 3 position updates. After 3 position updates the 
//!interval is changed to 4 seconds. The script waits for 5 position updates, closes the 
//!positioning module and checks all results.
//!3.a.	Enable TestTimerPsy. Opens TestTimerPsy and requests periodic updates with an 
//!interval of 4 seconds. The script waits for 3 position updates. After 3 position 
//!updates the interval is changed to 0 seconds. The script waits for 3 position updates 
//!then the positioning module is closed and results are checked.
//!  b.	Enables TestPsy1. Opens TestPsy1 and requests periodic updates with an interval 
//!of 0 seconds. The script waits for 2 position updates. After 2 position updates the 
//!positioning module is closed and the result is checked.
//!4.a.	Enables TestPsy1. Opens TestPsy1 and requests periodic updates with an interval 
//!of 4 seconds. After 3 position updates the interval is changed to 0 seconds. The 
//!result is checked and the positioning module is closed.
//!  b.	Enable TestTimerPsy. Opens TestTimerPsy and requests periodic updates with an 
//!interval of 0 seconds. The script waits for 2 position updates. After 2 position 
//!updates the positioning module is closed and the result is checked.
//!  c.	Enables TestPsy1. Opens TestPsy1 and requests periodic updates with an interval 
//!of 4 seconds and the result is checked. The script waits for 3 position updates. 
//!After 3 position updates the requestor information is changed. The script waits for 
//!additional 3 position updates with the same update interval. The script waits for 3 
//!position updates and the result is checked. The update interval is set to 0 seconds. 
//!The positioning module is closed.	
//!5.a.	Opens the TestPsy1 and requests periodic updates with an interval of 4 seconds. 
//!The script waits for 1 position update and the result is checked. The update interval 
//!is set to 0 seconds. The positioning module is closed. Opens TestPsy1 and requests 
//!periodic updates with an interval of 4 seconds. The script waits for 1 position update.
//!The positioning module is closed and the results are checked.
//!  b.	Opens TestPsy1 and requests periodic updates with an interval of 8 seconds. The 
//!script waits for 2 position updates and the result is checked. The max age is set to 2 
//!seconds. The script waits for additional 2 position updates and the result is checked. 
//!The partial update parameter is set to ETrue. The script waits for additional 2 
//!position updates and the result is checked. The timeout interval is set to 10 seconds. 
//!The script waits for additional 2 position updates. The results are checked and the 
//!positioning module is closed.
//!  c.	Opens TestPsy1 and requests periodic updates with an interval of 4 seconds. 
//!The position module is closed and the results are checked.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 550 te_LbsPortedSuite TP22

END_TESTCASE                   LBS-ClientV2-0006


START_TESTCASE                  LBS-ClientV2-0007
//!@SYMTestCaseID               LBS-ClientV2-0007 
//!@SYMTestCaseDesc
//!
//! TP25 
//! TC9
//! SSREQ003
//!
//!@SYMTestActions
//!1. Three clients open subsessions to different PSY’s. 
//!They all make a “simultaneous” location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.a.	The test will make a request to testpsy12, followed by requests to testpsy4 and testpsy9 (within a second). 
//!  b.	The test will make sure that all requests completes without error,
//!  c.	Testpsy12 completes first (TTF = 0s)
//!  d.	Testpsy4 second (TTF = 3s) 
//!  e.	Testpsy9 last (TTF = 6s).
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP25

END_TESTCASE                   LBS-ClientV2-0007 


START_TESTCASE                  LBS-ClientV2-0008
//!@SYMTestCaseID               LBS-ClientV2-0008 
//!@SYMTestCaseDesc
//!
//! TP27 
//! TC243
//! General API requirements
//!
//!@SYMTestActions
//!1.	The client makes a request to the “slow psy”.
//!2.	The request is cancelled as fast as possible (for example after 100 micro seconds,
//! the idea is that the request should be canceled before it reaches the “slow psy”).
//!3.	The client makes a request to the “slow psy”.
//!4.	The request is cancelled after approximately 1 second (The idea is that the 
//!request should be canceled in the “slow psy”.  
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Enable dynamic test psy, disables all other psy. A client then opens the dynamic 
//!positioner and makes a location request.
//!2.	Close the positioner
//!3.	Open positioner again and make a request. The request is cancelled after 100 s. 
//!4.	Open positioner again and make a request. The request is cancelled after 1 second. 
//!(KErrCancel returned). The total request time should not exceed 2.5 s. The sub sessions 
//!and the connection to EPos are closed.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP27

END_TESTCASE                   LBS-ClientV2-0008 


START_TESTCASE                  LBS-ClientV2-0009
//!@SYMTestCaseID               LBS-ClientV2-0009 
//!@SYMTestCaseDesc
//!
//! TP76 
//! TC106
//! UCREQ106, UCREQ187, UCREQ188
//!
//!@SYMTestActions
//!1.	A client asks the server to get UID of default PSY and based on UID clients 
//!requests for information about the default PSY. 
//!2.	A client asks the server how many PSYs are installed and then asks for module 
//!data on each of them. 
//!3.	A client asks the server to deliver information about a specific PSY. 
//!4.	A client asks the server to deliver information about non-existing PSY. 
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The test script enables three positioners: TestPsy1, TestPsy2 and TestPsy3. TestPsy1 
//!is set to top priority.
//!2.	Get info about default PSY and check that it is TestPsy1, and that the moduleinfo 
//!is correct. Use GetModuleInfoById() to get info about TestPsy2 and check that the 
//!result is OK
//!3.	Use GetModuleInfoByIndex() to get info about all 3 PSYs and check that the 
//!result is OK
//!4.   Use GetModuleInfoByIndex() to get info about a non-existing index and check 
//!that result is OK.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP76

END_TESTCASE                   LBS-ClientV2-0009 


START_TESTCASE                  LBS-ClientV2-0010
//!@SYMTestCaseID               LBS-ClientV2-0010 
//!@SYMTestCaseDesc
//!
//! TP93 
//! TC116
//! SSREQ031, SSREQ032, SSREQ096
//!
//!@SYMTestActions
//!1.	Three clients request periodic location updates from the positioning module,
//! specifying the interval 3 sec. The periodic update last for at least 20 sec before 
//!disconnected.
//!2.	The three clients now requests periodic updates, specifying the intervals 1, 3 
//!and 5 sec respectively. The periodic update last for at least 20 sec before 
//!disconnected. 
//!3.	The three clients now request periodic updates, specifying the intervals, 11, 13 ,17 
//!sec respectively. The periodic update last for at least 90 sec before disconnected.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Enables the Multi Psy. Opens three subsessions to the Multi  psy and requests 
//!periodic updates with intervals 1, 3 and 5 sec resp. Waits for 25 requests to be 
//!completed for every subsession and verifies that each subsession delivers position 
//!updates with specified frequency. Verifies that the requests are completed within the 
//!tolerance interval. (+1, (-0,4 WINS, -0 ARMI)). Closes the subsessions.
//!2.	Opens three subsessions to the test psy and requests periodic updates with an  
//!interval of 3 sec. Waits for 25 requests to be completed for every subsession and 
//!verifies that each subsession delivers position updates with specified frequency. 
//!Verifies that the requests are completed within the tolerance interval. 
//!(+1, (-0,4 WINS, -0 ARMI)). Closes the subsessions.
//!3.	Opens three subsessions to the test psy and requests periodic updates with 
//!intervals 11, 13 and 17 sec resp. Waits for 25 requests to be completed for every 
//!subsession and verifies that each subsession delivers position updates with specified 
//!frequency. Verifies that the requests are completed within the tolerance interval. 
//!(+1, (-0,4 WINS, -0 ARMI)). Closes the subsessions. Closes the connection to the 
//!Epos server.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 800  te_LbsPortedSuite TP93

END_TESTCASE                   LBS-ClientV2-0010 


START_TESTCASE                  LBS-ClientV2-0011
//!@SYMTestCaseID               LBS-ClientV2-0011 
//!@SYMTestCaseDesc
//!
//! TP169 
//! TC194, 195, 196, 197
//! SUCREQ080, SUCREQ081, SUCREQ082, SUCREQ083, SUCREQ084, SUCREQ085, SUCREQ087
//!
//!@SYMTestActions
//!TC194: 1.The client uses the Location Settings API to list installed positioning Modules.
//!		  2.For every listed module client asks Location Settings API for if module is installed.
//!		  3.The client uses the Location Acquisition API to list installed modules.
//!TC195: 1.The client uses the Location Settings API to request the module properties 
//!		  for the positioning module test psy 2.
//!		  2.The client verifies that Horizontal and Vertical accuracy are returned as 
//!		  “not a number” (NaN) for the Panic Psy since they are defined as zero in the 
//!		  central repository file.
//!TC196: 1.The client uses the Location Settings API to update the Status variable to 
//!		  “Not in use” on test psy 2
//!		  2.The client uses the Location Settings API to update the Cost variable to 
//!		  “ECostZero” on test psy 2.
//!		  3.The client uses the Location Settings API to update the Cost variable to 
//!		  “ECostPossible” on test psy 2.
//!		  4.The client uses the Location Settings API to update the Cost variable to 
//!		  “ECostCharge” on test psy 2.
//!		  5.The client uses the Location Settings API to update the Status variable to 
//!		  “In use” (enabled) on test psy 2
//!		  6.The client uses the Location Settings API to update the Visibility property 
//!		  to “Invisible” on test psy 2
//!		  7.The client uses the Location Settings API to update the Visibility property 
//!		  to “Visible” on test psy 2
//!TC197: 1.The client uses the Location Settings API to list all modules info. 
//!		  The priority is noted for each installed positioning module.
//!       2.The client uses the Location Settings API to list the priority for external
//!		  simulation PSY.
//! 	  3.Change the priority of a module 6 to 3.
//!		  4.Change the priority of a module 3 to 7.
//!		  5.Change the priority of the top module to bottom priority.
//!		  6.Change the priority of the bottom module to top priority.
//!		  7.Set top bottom module invisible, check priority list.
//!		  8.Set the module from step 7 visible and check priority list.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!TC194: 1.The installed position Modules are returned and are sorted by priority.
//!		  2.ETrue returned.
//!		  3.The returned list matches the one from step 1.
//!TC195: 1.The Module property for test psy 2 is returned and are correct.
//!		  2.The Horizontal and Vertical accuracy are returned as NaN.
//!TC196: 1.Test psy 2 status is changed from “in use” to “not in use”.
//!		  2.Test psy 2 Cost is changed from “ECostCharge” to “ECostZero”.
//!		  3.Test psy 2 Cost is changed from “ECostZero” to “ECostPossible”.
//!		  4.Test psy 2 Cost is changed from “ECostPossible” to “ECostCharge”.
//!		  5.Test psy 2 Status is changed to “Enabled” (“In use”).
//!		  6.Test psy 2 Visibility is changed to “Invisible”.
//!		  7.Test psy 2 Visibility is changed to “Visible”
//!TC197: 1.All positioning modules are returned, each with a unique priority. 
//!		  2.The priority for simulation PSY is returned and should match the priority 
//!		  in the module info.
//!		  3.Make sure that all modules between 3 and 6 have been updated correctly 
//!		  and that no other models have been affected. 
//!		  4.Make sure that all modules between 7 and 3 have been updated correctly 
//!		  and that no other models have been affected.
//!		  5.The priority of all modules will be changed. The top module will get bottom 
//!		  priority and all other modules will be shifted one step up.
//!		  6.The priority of all modules will be changed. The bottom module will get top 
//!		  priority and all other modules will be shifted one step down.
//!		  7.Module is not listed in priority list.
//!		  8.Module is listed in priority list (not necessarily at the same priority).
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP169

END_TESTCASE                   LBS-ClientV2-0011


START_TESTCASE                  LBS-ClientV2-0012
//!@SYMTestCaseID               LBS-ClientV2-0012 
//!@SYMTestCaseDesc
//!
//! TP173 
//! TC199
//! SUCREQ092, SUCREQ093
//!
//!@SYMTestActions
//!1.	The client uses the Location Settings API to change the priority of a installed 
//!positioning module.
//!2.	The client uses the Location Settings API to change the status of a installed 
//!positioning module.
//!3.	The client uses the Location Settings API to change the Cost of a installed 
//!positioning module.
//!4.	The client uses the Location Settings API to change the Visibility of a installed
//! positioning module.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Registers an observer that listens to modules db events. Changes the priority of 
//!test psy 2. Receives an event.
//!2.	Changes the availability of test PSY 2. Receives an event.
//!3.	Changes the cost of test PSY 2 to ECostCharge. Receives an event. Updates the 
//!dynamic HAcc value. No event is received within 10 seconds. Updates the dynamic TTF 
//!value. No event is received  within 10 seconds.
//!4.	The client uses the Location Settings API to change the Visibility of a installed 
//!positioning module. Client  receives an EPosModulesEventVisibilityChanged event.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9552, REQ 8848
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP173

END_TESTCASE                   LBS-ClientV2-0012 


START_TESTCASE                  LBS-ClientV2-0013
//!@SYMTestCaseID               LBS-ClientV2-0013 
//!@SYMTestCaseDesc
//!
//! TP176 
//! TC206
//! UCREQ217, UCREQ234 and ESLI-5SEDBM
//!
//!@SYMTestActions
//!1.	Test PSY TP176 and Test PSY 1 is installed and enabled.
//!2.	Request a PositionInfo class type on a Psy that supports this type. 
//!3.	Request a HPositionGenericInfo class type on a Psy that does not support the type.
//!4.	Request a PositionInfo class type on a Psy that does not set any UID.
//!5.	Request a PositionInfo class type on a Psy that sets the UID to an incorrect 
//!value, but another psy is installed that has the value.
//!6.	Request a PositionInfo class type on a Psy that sets the UID to an incorrect 
//!non existing value.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The tow PST tests are installed.
//!2.	A position is returned.
//!3.	The request is rejected in the PSY according to the requirement. This can be 
//!verified by for example returning an unlikely error code from the PSY otherwise 
//!it is hard to test this automatically. An error code will be returned (KErrGeneral) 
//!and the dynamic quality is not updated.
//!4.	An error code will be returned (KerrGeneral).
//!5.	An error code will be returned (KerrGeneral).

//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP176

END_TESTCASE                   LBS-ClientV2-0013 


START_TESTCASE                  LBS-ClientV2-0014
//!@SYMTestCaseID               LBS-ClientV2-0014 
//!@SYMTestCaseDesc
//!
//! TP178 
//! TC208
//! UCREQ192
//!
//!@SYMTestActions
//!1.	A client makes a request to the slow responding PSY, with a timeout set to 
//!a higher value than the PSY response time.
//!2.	A client makes a request to the slow responding PSY, with a timeout set to 
//!a lower value than the PSY response time.
//!3.	A Client makes a request to the slow responding PSY, with a timeout set to 
//!a higher value than the PSY response time.
//!4.	A Client makes a request to the slow responding PSY, with a timeout set to 
//!a lower value than the PSY response time.
//!5.	A client makes a request but cancels the request almost immediately.
//!6.	A client tries to set a timeout value that is less than the periodic update interval.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The client should receive a position from the slow PSY.
//!2.	The request should be aborted with KErrTimedOut
//!3.	The client should receive a position from the slow PSY.
//!4.	The request should be aborted with KerrTimedOut. 
//!5.	The request should be aborted with KerrCancel. 
//!6.	KErrArgument returned to the client.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 200 te_LbsPortedSuite TP178

END_TESTCASE                   LBS-ClientV2-0014 


START_TESTCASE                  LBS-ClientV2-0015
//!@SYMTestCaseID               LBS-ClientV2-0015 
//!@SYMTestCaseDesc
//!
//! TP179 
//! TC209
//! SSREQ030
//!
//!@SYMTestActions
//!1.	One client makes a requests to the same PSY but with three different open sessions.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The client should receive a position from all three different sessions. 
//!All three requests should complete within 3 seconds.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP179

END_TESTCASE                   LBS-ClientV2-0015 


START_TESTCASE                  LBS-ClientV2-0016
//!@SYMTestCaseID               LBS-ClientV2-0016 
//!@SYMTestCaseDesc
//!
//! TP188 
//! TC230
//! UCREQ197
//!
//!@SYMTestActions
//!1.	The client uses the Location Acquisition API to request status information for ‘TestStatusPSY’.
//!2.	The client uses the Location Settings API to disable ‘TestStatusPSY’
//!3.	The client uses the Location Acquisition API to request status information for ‘TestStatusPSY’
//!4.	The client uses the Location Acquisition API to request status information form 
//!a non existing PSY.
//!5.	The client opens a sub session to the ‘TestStatusPSY’
//!6.	Waits until ‘TestStatusPSY’ enter steady state.
//!7.	The client uses the Location Acquisition API to request status information for ‘TestStatusPSY’
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Status information is returned for the PSY, Device status should be Inactive and 
//!Data quality status should be Unknown.
//!2.	‘TestStatusPSY’ is disabled.
//!3.	Status information is returned for the PSY, Device status should be Disabled and 
//!Data quality status should be Unknown
//!4.	KErrNotFound returned
//!5.	A sub session is opened and ‘TestStatusPSY’ starts delivering updates to Device status and
//! Data quality status.
//!6.	The steady state for ‘TestStatusPSY’ is entered, Device status = Ready and Data quality 
//!status = Normal.
//!7.	Status information is returned for the PSY, Device status should be Ready and 
//!Data quality status should be Normal
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP188

END_TESTCASE                   LBS-ClientV2-0016 


START_TESTCASE                  LBS-ClientV2-0017
//!@SYMTestCaseID               LBS-ClientV2-0017 
//!@SYMTestCaseDesc
//!
//! TP189 
//! TC231
//! UCREQ198, UCREQ199 (no installation event covered), ESLI-5SDGNW, LFREQ013, LFREQ014
//!
//!@SYMTestActions
//!1.	Two clients connects to EPos, client1 and client2.
//!2.	‘TestStatusPsy’ is opened.
//!3.	Client1 listen for all events for and renew the request for event as soon as 
//!an event is received.
//!4.	‘TestStatusPsy’ is disabled (client1 is still listening for all events)
//!5.	‘TestStatusPsy’ is enabled (client1 is still listening for all events)
//!6.	Client1 listen for events only from ‘TestStatusPsy’ and client2 listen for events only 
//!from ‘MultiPsy’
//!7.	‘TestStatusPsy’ is disabled.
//!8.	‘MultiPsy’ is enabled.
//!9.	Client1 listen for all events.
//!10.	‘TestStatusPsy’ is enabled.
//!11.	‘TestStatusPsy’ is opened (and the a wait is done to get steady state).
//!12.	Client1 listen for all events.
//!13.	‘TestStatusPsy’ is closed.
//!14.	Client1 request to be notified about status event changes for ‘TestStatusPsy’.
//!15.	Client1 cancel its request to be notified for status events.
//!16.	Client1 call cancel one more time.
//!17.	Client1 request to be notified about status event changes for a non existing psy.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Client1 and client2 connects with no errors to EPos
//!2.	A sub session is opened to ‘TestStatusPsy’. The psy will deliver status and quality 
//!changes and each change is notified to client1.
//!3.	Client1 will get all expected events delivered by ‘TestStatusPsy’.
//!4.	Client1 will get a disable event.
//!5.	Client1 will get an enable event.
//!6.	-
//!7.	Client1 will receive an event.
//!8.	Client2 will receive an event.
//!9.	-
//!10.	 Client1 will receive an event.
//!11.	–
//!12.	–
//!13.	Client1 will receive an event.
//!14.	-
//!15.	Client1 will be notified that the request for status updates has been cancelled.
//!16.	KErrNotFound should be returned.
//!17.	Client1 should be notified with KErrNotFound.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP189

END_TESTCASE                   LBS-ClientV2-0017 



START_TESTCASE                  LBS-ClientV2-0018
//!@SYMTestCaseID               LBS-ClientV2-0018 
//!@SYMTestCaseDesc
//!
//! TP193 
//! TC234
//! SSREQ098
//!
//!@SYMTestActions
//!1.	25 clients connect to epos by using the client API.
//!2.	All 25 clients make a request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	All 25 clients successfully connect to epos.
//!2.	Epos should not crash, the request that can not be handled should be completed 
//!with KErrNoMemory. All requests should complete within 3 sec.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP193

END_TESTCASE                   LBS-ClientV2-0018 


START_TESTCASE                  LBS-ClientV2-0019
//!@SYMTestCaseID               LBS-ClientV2-0019 
//!@SYMTestCaseDesc
//!
//! TP194 
//! TC238
//! General Performance / Functionality requirements. 
//!
//!@SYMTestActions
//!1.	A client request periodic updated. The update interval is set to 4 seconds.
//!At least 100 request are done before the client closes its connection. 
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The client should receive all 100 request and the time difference between 
//!request should not be greater than +1 second and -0,4 seconds for WINS and no 
//!negative time difference for both WINS and ARMI builds. The test does not have to 
//!leave for timing errors. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 500 te_LbsPortedSuite TP194

END_TESTCASE                   LBS-ClientV2-0019 


START_TESTCASE                  LBS-ClientV2-0020
//!@SYMTestCaseID               LBS-ClientV2-0020 
//!@SYMTestCaseDesc
//!
//! TP195 
//! TC237
//! SSREQ059
//!
//!@SYMTestActions
//!1.	A client opens a Connection to the Positioning server.
//!2.	A client request periodic updated from the psy with the slow response time. 
//!The update interval is set to not more than half the response time of the “slow” psy.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	A connection is opened.
//!2.	Periodic updates are received to the client even due the psy can not deliver 
//!the position updates as fast as requested.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP195

END_TESTCASE                   LBS-ClientV2-0020 


START_TESTCASE                  LBS-ClientV2-0021
//!@SYMTestCaseID               LBS-ClientV2-0021 
//!@SYMTestCaseDesc
//!
//! TP201 
//! TC229
//! UCREQ
//!
//!@SYMTestActions
//!1.	Start at least 3 exe clients simultaneously that makes request. The exe 
//!clients should perform the following tasks; make at least 30 request as fast as 
//!possible. 
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	All clients should be able to perform requests with no errors.
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP201

END_TESTCASE                   LBS-ClientV2-0021 


START_TESTCASE                  LBS-ClientV2-0022
//!@SYMTestCaseID               LBS-ClientV2-0022 
//!@SYMTestCaseDesc
//!
//! TP203 
//! TC241
//! UCREQ025, UCREQ240
//!
//!@SYMTestActions
//!1.	Make periodic location request with default psy . After three location updates change
//!the priority of the psy  so that the default psy is changed to a psy with longer 
//!response times for location requests.
//!2.	Setup three psy the two with top priority should support tracking.
//!3.	Opens the default positioner.
//!4.	Make periodic location request with default psy. After the first request completes, 
//!disable the psy with the top priority.
//!5.	Make another request. After the request is completed enable the psy with top priority.
//!6.	Make another request. After the request is completed disable the two psy with top priority.
//!7.	Make another request. After the request is completed enable the two psy with top priority.
//!8.	Make another request. Before the request is completed disable the psy with top priority.
//!9.	Close the default positioner and disconnect from MLFW
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The client should get location request with the specified interval. When default 
//!is changed the psy should change and the update interval should adapt to the new response 
//!time for the slow psy.
//!2.	Three psy are enabled.
//!3.	The default positioner is opened.
//!4.	A position from the psy with top priority is returned.
//!5.	A position from the psy with second top priority is returned.
//!6.	A position from the psy with top priority is returned.
//!7.	A position from the non tracking supporting psy is returned.
//!8.	A position from the second top priority is returned.
//!9.	The default is closed as well as the connection to MLFW.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP  200 te_LbsPortedSuite TP203

END_TESTCASE                   LBS-ClientV2-0022 


START_TESTCASE                  LBS-ClientV2-0023
//!@SYMTestCaseID               LBS-ClientV2-0023 
//!@SYMTestCaseDesc
//!
//! TP204 
//! TC239
//! SSREQ073,  SSREQ075, SSREQ076
//!
//!@SYMTestActions
//!1.	Connect to Epos
//!2.	Set backup state to full
//!3.	Connect to Epos
//!4.	Set backup state to normal
//!5.	Connect to Epos
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Connection successful
//!2.	<No check>
//!3.	Connection fails because of backup
//!4.	<No check>
//!5.	Connection OK
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 200 te_LbsPortedSuite TP204

END_TESTCASE                   LBS-ClientV2-0023 


START_TESTCASE                  LBS-ClientV2-0024
//!@SYMTestCaseID               LBS-ClientV2-0024 
//!@SYMTestCaseDesc
//!
//! TP208 
//! TC245
//! General API requirements and TR EJSH-5WJG82-Poison 4.3 - Sametime connection 
//!           open to MLFW Location Server fails with KErrInUse (-14).
//!
//!@SYMTestActions
//!1.	To client threads connect as fast as possible to EPos (EJSH-5WJG82).
//!2.	Five client threads are created where each client connects to Epos and requests 20 
//!position updates.
//!3.	Five client threads are created where each client first connects to Epos and then 
//!directly disconnects.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	No errors occur.
//!2.	All threads are started with the RThread::Resume() method.  When all threads are 
//!done this is notified to the test program by the waiting mechanism in 
//!User::WaitForRequest(TRequestStatus). If any error occurred in any thread this is 
//!notified by the Rthread::ExitType() and Rthread::ExitReason() methods.
//!3.	Creates five client threads. Each thread first connects to Epos and then immediately
//!disconnects. When all threads are done this is notified to the test program by the 
//!waiting mechanism in User::WaitForRequest(TRequestStatus). If any error occurred in any 
//!thread this is notified by the Rthread::ExitType() and Rthread::ExitReason() methods.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 500 te_LbsPortedSuite TP208

END_TESTCASE                   LBS-ClientV2-0024 


START_TESTCASE                  LBS-ClientV2-0025
//!@SYMTestCaseID               LBS-ClientV2-0025 
//!@SYMTestCaseDesc
//!
//! TP213 
//! TC248
//! General API requirements, error report ESLI-5QUN64 (Poison4 - Mismatch in status 
//! 		from client API and Module database) and ESLI-5QTCT5 (Poison4 - The PSY should
//! 		be unloaded directly after the request in the default proxy)
//!
//!@SYMTestActions
//!1.	A Client, C1, connects to EPos.
//!2.	A Client, C2, connects to EPos and makes a positioning request by using TestStatusPSY.
//!3.	A Client, C3, listen for status events.
//!4.	Before the request from C2 is finished the used psy is disabled.
//!5.	The Module status is read by the by C1, by using the client API, and also the module 
//!status is read from the Location Settings API.
//!6.	All sub sessions and connections to EPos are closed.
//!7.	step number 1 to 6 is repeated by using the default psy, which in this case is TestStatusPSY.
//!8.	All psy are disabled
//!9.	A subsession to a psy1 is opened.
//!10.	TestStatusPSY is enabled.
//!11.	A position request is made.
//!12.	The sub session is closed and the connection to EPos.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	C1 connects to EPos
//!2.	C2 has an outstanding request, using Status Psy.
//!3.	C3 has an out standing event listening request.
//!4.	The request will be cancelled hence Client, C1, will get KErrCanceled back. Client 3 
//!should get a Disable event after that C3 should not get any event at all. The used psy 
//!should be unloaded by EPos (this can be easily tested by creating a known file during 
//!construction and remove this file when the psy is unloaded hence if the file exist the 
//!psy is loaded in to memory).
//!5.	The status from the Location Settings API and from the client API should be disabled.
//!6.	All connections are closed.
//!7.	same as 1-5 but for default psy. 
//!8.	All psys are disabled
//!9.	The psy should not be loaded (possible to use the file implementation here also)
//!10.	TestStatusPSY is enabled.
//!11.	A position is returned to the client.
//!12.	All connections are closed.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP213

END_TESTCASE                   LBS-ClientV2-0025 


START_TESTCASE                  LBS-ClientV2-0026
//!@SYMTestCaseID               LBS-ClientV2-0026 
//!@SYMTestCaseDesc
//!
//! TP217 
//! TC251
//! UCREQ191 (default not covered), plus general API requirement on SetUpdateOptions()
//!
//!@SYMTestActions
//!1.	A client uses the client API to specify the option max age, MAX_AGE_TIME
//!2.	A client uses the client API to get the max age value.
//!3.	The client request a position.
//!4.	The client waits for approximately half the MAX_AGE_TIME
//!5.	The client request a position.
//!6.	The client waits for until the MAX_AGE_TIME has expired compared to the 
//!time when a position was requested in 3.
//!7.	The client request a position.
//!8.	A client uses the client API to specify the option max age and the update 
//!interval. The interval should be less than the max age.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The max age option is set.
//!2.	The max age value set in 1 is returned to the client.
//!3.	A position, “P1” is returned to the client.
//!4.	-
//!5.	The same position as “P1” is returned to the client.
//!6.	-
//!7.	A new position is returned to the client. 
//!8.	KErrArgument is returned to the client, since the max age is not allowed 
//!to be greater than the interval. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 200 te_LbsPortedSuite TP217

END_TESTCASE                   LBS-ClientV2-0026 


START_TESTCASE                  LBS-ClientV2-0027
//!@SYMTestCaseID               LBS-ClientV2-0027 
//!@SYMTestCaseDesc
//!
//! TP218 
//! TC252
//! UCREQ191 (only default covered).
//!
//!@SYMTestActions
//!1.	A client uses the client API to specify the option max age, MAX_AGE_TIME
//!2.	A client uses the client API to get the max age value.
//!3.	The client uses the Location Settings API to set up the “max age psy” to 
//!be the default positioning module.
//!4.	The client request a position by using the default method.
//!5.	The client waits for approximately half the MAX_AGE_TIME
//!6.	The client request a position by using the default method.
//!7.	The client waits for until the MAX_AGE_TIME has expired compared to the 
//!time when a position was requested in 3.
//!8.	The client request a position by using the default method.
//!9.	The client uses the Location Settings API to set up the “normal psy” to 
//!be the default positioning module.
//!10.	The client request a position by using the default method.
//!11.	The client request a position again by using the default method.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The max age option is set.
//!2.	The max age value set in 1 is returned to the client.
//!3.	“max age psy” is set up to be the default psy.
//!4.	A position, “P1” is returned to the client.
//!5.	-
//!6.	The same position as “P1” is returned to the client.
//!7.	-
//!8.	A new position is returned to the client. 
//!9.	“normal psy” is set up to be the default psy.
//!10.	A new position is returned to the client.
//!11.	A new position is returned to the client.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 200 te_LbsPortedSuite TP218

END_TESTCASE                   LBS-ClientV2-0027 


START_TESTCASE                  LBS-ClientV2-0028
//!@SYMTestCaseID               LBS-ClientV2-0028 
//!@SYMTestCaseDesc
//!
//! TP222 
//! TC253
//! UCREQ022 
//!
//!@SYMTestActions
//!1.	A client uses the client API to specify the partial update option 
//!(true/false)
//!2.	A client uses the client API to get the partial update value.
//!3.	The client request a position from the “partial update psy”.
//!4.	A client uses the client API to specify that partial update should not 
//!be used.
//!5.	The client request a position from the “partial update psy”.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The partial update option is set.
//!2.	The partial update option is returned to the client (should be switch on).
//!3.	Only a partial position is returned.
//!4.	The partial update option is changed.
//!5.	A full position is returned. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 200 te_LbsPortedSuite TP222

END_TESTCASE                   LBS-ClientV2-0028 


START_TESTCASE                  LBS-ClientV2-0029
//!@SYMTestCaseID               LBS-ClientV2-0029 
//!@SYMTestCaseDesc
//!
//! TP223 
//! TC259
//! Verification of  ESLI-5RNL7M
//!
//!@SYMTestActions
//!1.	The Location Settings API is used to list the module properties for TestRangePsy.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Opens the Module Settings API. Try to open ‘rangepsy’ that has error 
//!in range in the resource file which should result in a KErrNotFound
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP223

END_TESTCASE                   LBS-ClientV2-0029 


START_TESTCASE                  LBS-ClientV2-0030
//!@SYMTestCaseID               LBS-ClientV2-0030 
//!@SYMTestCaseDesc
//!
//! TP224 
//! TC260
//! Verification of  ESLI-5RYDLS
//!
//!@SYMTestActions
//!1.	Two subsessions of the PSY are created.
//!2.	The subsessions are closed in the same order as they were created 
//!3.	Two new subsession are created.
//!4.	The subsessions are closed in opposite order as they were created.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Opens two subsessions of the ‘TestSingPsy’.
//!2.	Status is reported when the last subsessions is closed.
//!3.	Opens two new subsessions of the ‘TestSingPsy’.
//!4.	Status is reported when the last subsession is closed.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 200 te_LbsPortedSuite TP224

END_TESTCASE                   LBS-ClientV2-0030 


START_TESTCASE                  LBS-ClientV2-0031
//!@SYMTestCaseID               LBS-ClientV2-0031 
//!@SYMTestCaseDesc
//!
//! TP227 
//! TC ?
//! UCREQ ?
//!
//!@SYMTestActions
//!1.	Create objects of types CPosModules, CPosModulesUpdate.
//!
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Make sure the time taken for creation and operations are within acceptable limits.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9552
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP227

END_TESTCASE                   LBS-ClientV2-0031 

START_TESTCASE                  LBS-ClientV2-0032
//!@SYMTestCaseID               LBS-ClientV2-0032 
//!@SYMTestCaseDesc
//!
//! TP254 
//! TC285
//! UCREQ200 (basic flow), UCREQ201, UCREQ237 and TR SBUY-5WHGS3- 
//!   Error in Last Known Position request.
//!
//!@SYMTestActions
//!1.	A client, c1, connects to MLFW and opens a positioner.
//!2.	c1 request for the last known position from the client API.
//!3.	c1 request a position from a very fast psy (SBUY-5WHGS3).
//!4.	c1 request for the last known position (TPosition) from the client API 
//!(SBUY-5WHGS3).
//!5.	The positioner is closed and the client disconnect from epos and wait until 
//!the MLFW server is dead (SBUY-5WHGS3).
//!6.	The persistent storage is deleted (SBUY-5WHGS3).
//!7.	c1 request a position from a psy.
//!8.	c1 request for the last known position (TPosition) from the client API.
//!9.	c1 request for the last known position from the client API, using  SatelliteInfo 
//!as the base.
//!10.	c1 request a new position from a psy.
//!11.	c1 request for the last known position (TPosition) from the client API.
//!12.	The positioner is closed and the client disconnect from MLFW and reconnect as 
//!fast as possible and opens a positioner.
//!13.	c1 request for the last known position (TPosition) from the client API.
//!14.	The positioner is closed and the client disconnect from epos and wait until the 
//!MLFW server is dead.
//!15.	c1 connects to MLFW and opens a positioner.
//!16.	c1 request for the last known position (TPosition) from the client API.
//!17.	Another client, c2,  opens a different positioner and makes a request.
//!18.	c1 request for the last known position (TPosition) from the client API.
//!19.	c1 request for position from a psy that delivers partial position updates.
//!20.	c1 request for the last known position (TPosition) from the client API.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	A positioner is opened.
//!2.	An error code should be returned.
//!3.	A position is returned to the client.
//!4.	A last known position should be returned to the client.
//!5.	MLFW is dead. 
//!6.	the persistent storage is cleared. 
//!7.	A position is returned to the client.
//!8.	The same position as in 7 should be returned to the client.
//!9.	An error code should be returned.
//!10.	A position is returned to the client. The persistent storage should not be 
//!updated with the new position (this may be impossible to check).
//!11.	The same position as in 10 should be returned to the client.
//!12.	The positioner is opened.
//!13.	The same position as in 10 is returned to the client, no persistent file store 
//!should exist.
//!14.	The position should be written to the file store i.e a position file is created.
//!15.	The positioner is opened. 
//!16.	The same position as in 10 should be returned to the client.
//!17.	A position is returned to the client.
//!18.	The same position as in 17 should be returned to the client.
//!19.	A partial position is returned.
//!20.	The same position as in 17 should be returned to the client.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP254

END_TESTCASE                   LBS-ClientV2-0032 


START_TESTCASE                  LBS-ClientV2-0033
//!@SYMTestCaseID               LBS-ClientV2-0033 
//!@SYMTestCaseDesc
//!
//! TP256 
//! TC299
//! General API Requirements
//!
//!@SYMTestActions
//!1.	The client creates five different threads.
//!2.	The client starts the thread simultaneously (at least almost).
//!3.	All five threads are simultaneously retrieving modules info using the Location 
//!Settings API.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Five different threads are created.
//!2.	The threads are started.
//!3.	All threads should receive module information.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9552
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 300 te_LbsPortedSuite TP256

END_TESTCASE                   LBS-ClientV2-0033 


START_TESTCASE                  LBS-ClientV2-0034
//!@SYMTestCaseID               LBS-ClientV2-0034 
//!@SYMTestCaseDesc
//!
//! TP257 
//! TC287
//! General API requirements
//!
//!@SYMTestActions
//!1.	A client, c1, connects to MLFW and opens a positioner.
//!2.	c1 request a position from a psy.
//!3.	c1 specify a update interval to 5 seconds.
//!4.	c1 request for the last known position (TPosition) from the client API, the 
//!request is re-issued as soon as the first position is returned to the client.
//!5.	c1 sets the max age value to 5 seconds and waits for 5 seconds. (all other 
//!update options should be reset)
//!6.	c1 request for the last known position(TPosition) from the client API.
//!7.	Another client c2 opens a max age psy and request a position.
//!8.	c1 request a position from a psy.
//!9.	c2 sets the maxage time to a value that guarantees that the same position as 
//!before will be returned and request a position from the max age position.
//!10.	c1 request for the last known position from the client API.
//!11.	c1 sets the timeout value to 4 seconds (all other update options should be reset). 
//!12.	c1 request for the last known position (TPosition) from the client API.
//!13.	Enables the partial update psy and performs a position request.
//!14.	C1 sets the psy to accept partial updates and requests for the last known position 
//!for the partial update psy from the client API.
//!15.	C1 request for a partial update position. (This position should not be saved as 
//!a last known position).
//!16.	C1 request for the last known position (TPosition) from the client API.
//!17.	C1 starts a periodic position update and performs a request.
//!18.	C1 stops the periodic update and requests for the last known position (TPosition)
//! from the client API.
//!19.	All clients disconnects from Epos.
//!20.	C1 connects to Epos and opens a positioner, pos1.
//!21.	C1 connects to Epos and opens a positioner, pos2.
//!22.	C1 starts a periodic update and performs a request.
//!23.	C1 stops the periodic update.
//!24.	C1 requests for the last known position.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	A positioner is opened.
//!2.	A position is returned to the client.
//!3.	The update interval is set.
//!4.	The last known position should be returned immediately to the client, i.e. the 
//!update interval should not have any effect on the request for get last known position.
//!5.	The max age option is set and the program is halted for 5 seconds.
//!6.	The last known position should be returned to the client, i.e. the max age value 
//!should not have any effect on the request for get last known position. 
//!7.	A position is returned to the client.
//!8.	A position is returned to the client.
//!9.	The same position as in 7 is returned to c2.
//!10.	The same position as in 8 is returned to the client.
//!11.	The timeout option is set.
//!12.	The request is forwarded to the dialog plug-in which should not answer the 
//!request (waits for the timeout to happen and a cancel call to the dialog plug-in). 
//!The client should get a timeout error code back (and the position info returned does 
//!not hold any valid value, could be anything).
//!13.	A new position is returned to the client.
//!14.	The same position as in 13 is returned to the client.
//!15.	A partial update position is returned to the client.
//!16.	The same position as in 13 is returned to the client.
//!17.	A new position is returned to the client.
//!18.	The position update is stopped, the same position as in step 17 is returned.
//!19.	All clients are disconnected.
//!20.	Pos1 is opened.
//!21.	Pos2 is opened
//!22.	A new position is returned to the client, C1.
//!23.	The position update is stopped.
//!24.	The same position as in 22 is returned to the client, C1.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 500 te_LbsPortedSuite TP257

END_TESTCASE                   LBS-ClientV2-0034 


START_TESTCASE                  LBS-ClientV2-0035
//!@SYMTestCaseID               LBS-ClientV2-0035 
//!@SYMTestCaseDesc
//!
//! TP259 
//! TC302
//! General API Requirements, verify error report ESLI-5VDKBS and SBUY-5W8KJ6
//!
//!@SYMTestActions
//!1.	The client connects to the Epos server.
//!2.	The client calls RPositionServer::CancelRequest(EPositionerNotifyPositionUpdate).
//!3.	The client calls Rpositioner::CancelRequest(EPositionServerNotifyModuleStatusEvent)
//!4.	The clients starts a position request.
//!5.	The client calls RPositionServer::CancelRequest(EPositionServerNotifyModuleStatusEvent)
//!6.	The client verifies that the position request was successful (and thus not affected 
//!by the cancelrequest call in step 6)
//!7.	The clients starts a position request.
//!8.	The client calls Rpositioner::CancelRequest(EPositionServerNotifyModuleStatusEvent)
//!9.	The client verifies that the position request was successful (and thus not affected 
//!by the cancelrequest call in step 8)
//!10.	The client calls RPositionServer::CancelRequest(EPositionerNotifyPositionUpdate)
//!11.	The client calls RPositionServer::CancelRequest(EPositionerGetLastKnownPosition);
//!12.	The clients starts a position request.
//!13.	The client calls RPositionServer::CancelRequest(EPositionerGetLastKnownPosition);
//!14.	The client verifies that the position request was successful (and thus not affected 
//!by the cancelrequest call in step 13)
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The client is connected to epos
//!2.	KerrNotSupported is returned from the CancelRequest call.
//!3.	KErrNotFound is returned from the CancelRequest call.
//!4.	A position request is initiated.
//!5.	KErrNotFound is returned from the CancelRequest call.
//!6.	A position was returned.
//!7.	A position request is initiated.
//!8.	KErrNotFound is returned from the CancelRequest call.
//!9.	A position was returned.
//!10.	KerrNotSupported is returned from the CancelRequest call.
//!11.	KerrNotSupported is returned from the CancelRequest call.
//!12.	A position request is initiated.
//!13.	KerrNotSupported is returned from the CancelRequest call.
//!14.	A position was returned.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP259

END_TESTCASE                   LBS-ClientV2-0035 


START_TESTCASE                  LBS-ClientV2-0036
//!@SYMTestCaseID               LBS-ClientV2-0036 
//!@SYMTestCaseDesc
//!
//! TP261 
//! TC297
//! General API Requirements
//!
//!@SYMTestActions
//!The purpose of this test is to assure that it is possible to externalise and then 
//!internalise the RequstorStack
//!1.	The client creates a requestorstack with 6 entries, both services and contacts 
//!with different requestor formats
//!2.	The client opens a positioner and attaches the requestor stack to this positioner.
//!3.	The client externalizes the requestor stack into a RbufWriteStream stream.
//!4.	The client internalizes the stream created in step 3 into the requestor stack.
//!5.	The client verifies that the requestor stack is same as the one created in step 1.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	A requestor stack is created.
//!2.	A positioner is opened and the requestor stack is attached.
//!3.	The stack is externalized into the stream.
//!4.	The stream is internalized into a requestor stack.
//!5.	The stack is identical to the one created in step 1.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP261

END_TESTCASE                   LBS-ClientV2-0036 


START_TESTCASE                  LBS-ClientV2-0037
//!@SYMTestCaseID               LBS-ClientV2-0037 
//!@SYMTestCaseDesc
//!
//! TP269 
//! TC307
//! UCREQ252, UCREQ253 and UCREQ206
//!
//!@SYMTestActions
//!
//!----------------------------------------------------------------------------------
//!PSY		|Request 1	|Request 2	|Request 3	|Request 4	|Request 5	|Request 6		  
//! 		|Response/	|Response/	|Response/	|Response/	|Response/	|Response/	 
//!		    |loaded 	|loaded		|loaded 	|loaded		|loaded 	|loaded		
//!----------------------------------------------------------------------------------
//!PSY1 	|Err/Yes	|OK/Yes		|Err/Yes	|Err/Yes	|Err/Yes	|Err/Yes   	
//!PSY2 	|OK/Yes		|-/No		|Err/Yes	|Err/Yes	|OK/Yes		|Err/Yes	
//!PSY3 	|-/No		|-/No		|OK/Yes		|OK/Yes		|-/No		|Err/Yes	
//!----------------------------------------------------------------------------------
//!PSY		|Request 7			|Request 8		 |Request 9		  |Request10
//! 		|Priority change	|Priority change |Satellite- Info |CourseInfo
//!----------------------------------------------------------------------------------
//!PSY1 	|Err/Yes			|Err/Yes		 |Err/Yes		  |Err/Yes				
//!PSY2 	|-/No				|Err/Yes		 |-/No			  |Err/Yes				
//!PSY3 	|OK/Yes				|Err/Yes		 |-/No			  |OK/Yes				
//!----------------------------------------------------------------------------------
//!
//!1.	A client opens a the default positioning module.
//!2.	The client makes five positioning requests (Request 1 to Request5 in the table
//! above).
//!3.	The client makes a positioning request (Request 6 in the table above).
//!4.	The priority of PSY3 and PSY2 are switched.
//!5.	The client makes a positioning request (Request 7 in the table above).
//!6.	The client makes a positioning request (Request 8 in the table above).
//!7.	The priority of PSY2 and PSY3 are switched.
//!8.	The client makes a positioning request asking for satellite info (Request 9 in 
//!the table above).
//!9.	The client makes a positioning request asking for course info (Request 10 in the 
//!table above).
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default positioning module is opened.
//!2.	A position is returned to the client according to the table. The request should be 
//!delivered by the psy which marked with OK.  The correct PSYs are loaded/unloaded.
//!3.	The error code from PSY1 is returned to the client. All PSYs are loaded.
//!4.	The priority is switch between PSY3 and PSY2.
//!5.	The Position from PSY3 is returned and PSY2 is unloaded since it now has the lowest 
//!priority of all enabled PSYs.
//!6.	The error code from PSY1is returned. All PSYs are loaded.
//!7.	The priority is switch between PSY2 and PSY3.
//!8.	Since Satellite info is not supported by PSY1 should the default positioning module 
//!return the error code from PSY1 (KErrArgument). PSY1 is loaded PSY2 and PSY3 are unloaded.
//!9.	The error code from PSY3 is returned to the client. All PSYs are loaded. (Since PSY2 
//!is not the PSY with the highest priority should it not return the error code KErrArgument 
//!from it.) 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP269

END_TESTCASE                   LBS-ClientV2-0037


START_TESTCASE                  LBS-ClientV2-0038
//!@SYMTestCaseID               LBS-ClientV2-0038 
//!@SYMTestCaseDesc
//!
//! TP271 
//! TC311
//! No specific requirement exist, but tracking behaviour. 
//!
//!@SYMTestActions
//!
//!-------------------------------------------------------------------------------
//!PSY		|Request 1	|Request 2	|Request 3	|Request 4	|Request 5	|Request 6		  
//! 		|Response/	|Response/	|Response/	|Response/	|Response/	|Response/
//!		    |loaded 	|loaded		|loaded 	|loaded		|loaded 	|loaded
//!-------------------------------------------------------------------------------
//!PSY1 	|Err/Yes	|Err/Yes	|Err/Yes	|Err/Yes	|Err/Yes	|OK/Yes 
//!PSY2 	|OK/Yes		|Err/Yes	|OK/Yes		|OK/Yes		|Err/Yes	|-/No		  
//!PSY3 	|-/No		|OK/Yes		|-/No		|-/No		|OK/Yes		|-/No
//!--------------------------------------------------------------------------------
//!
//!1.	A client opens a default positioning module.
//!2.	The client makes a positioning request (Request 1 in the table above).
//!3.	The client specifies a periodic update interval and makes a positioning request 
//!(Request 2 in the table above).
//!4.	The client makes a positioning request (Request 3 in the table above).
//!5.	The client changes the periodic update interval.
//!6.	The client makes a positioning request (Request 4 in the table above)
//!7.	The client changes the periodic update interval to zero i.e. stop the tracking 
//!session.
//!8.	The client makes a positioning request (Request 5 in the table above).
//!9.	The client changes the periodic update interval (not zero any more) and makes 
//!a positioning request (Request 6 in the table above).
//!10.	The default positioning module is closed.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default positioning module is opened.
//!2.	A position is returned to the client from PSY2. PSY1and PSY2 should be loaded.
//!3.	A periodic interval is set and PSY1, PSY2 and PSY3 are notified about a start 
//!tracking session. A position is returned to the client from PSY3. 
//!4.	A position is returned to the client from PSY2. PSY3 is notified about a stop 
//!tracking session and then unloaded.
//!5.	The periodic interval is changed. PSY1 and PSY2 are notified about a stop tracking 
//!session. 
//!6.	PSY1 and PSY2 are notified about a start tracking session. A position is returned 
//!from PSY2. PSY1 and PSY2 should be loaded.
//!7.	The periodic update interval is changed i.e. stopped. PSY1 and PSY2 are notified 
//!about a stop tracking session.
//!8.	A Position is returned from PSY 3. PSY1-3 are Loaded. 
//!9.	The periodic update interval is changed. PSY2 and PSY3 are unloaded and PSY3 is 
//!notified about a start tracking session.
//!10.	 The default positioning module is closed and stop tracking session is called on 
//!PSY1 before it is unloaded. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP271

END_TESTCASE                   LBS-ClientV2-0038 


START_TESTCASE                  LBS-ClientV2-0039
//!@SYMTestCaseID               LBS-ClientV2-0039 
//!@SYMTestCaseDesc
//!
//! TP272 
//! TC310
//! General API Requirement and  TR ESLI-5ZC9KY 
//!
//!@SYMTestActions
//!1.	The client opens a sub session to multi psy.
//!2.	The client request a periodic update with an interval of 10 seconds.
//!3.	The client makes a request.
//!4.	The client request a periodic update with an interval of 10 seconds.
//!5.	The client makes a request.
//!6.	The client makes another request, but after 5 seconds the interval is changed to 15 
//!seconds.
//!7.	The client makes a request.
//!8.	The client changes the interval to 5 seconds.
//!9.	The client makes a request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	A subsession is created. 
//!2.	The periodic update interval is set to 10 seconds.
//!3.	A position is returned to the client within 2 seconds.
//!4.	The periodic update interval is set to 10 seconds.
//!5.	A position is returned to the client within 12 seconds.
//!6.	The periodic update interval is changed to 15 seconds. A position is returned to 
//!the client within 7 seconds.
//!7.	A position is returned to the client after about 15 seconds.
//!8.	The periodic update interval is changed to 2 seconds.
//!9.	A position is returned to the client within 3 seconds.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP272

END_TESTCASE                   LBS-ClientV2-0039 


START_TESTCASE                  LBS-ClientV2-0040
//!@SYMTestCaseID               LBS-ClientV2-0040 
//!@SYMTestCaseDesc
//!
//! TP274 
//! TC312
//! UCREQ
//!
//!@SYMTestActions
//!1.	A client connects to Location server. 
//!2.	The MultiPsy is enabled with top priority.
//!3.	The client opens two sessions to the MultiPsy. 
//!4.	The client closes the  first opened session. 
//!5.	The client disables the MultiPsy using Location Settings API
//!6.	The client closes the last session and the connection to Epos.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The connection is successful.
//!2.	The MultiPsy is enabled
//!3.	Two sessions are opened successfully.
//!4.	The session is closed.
//!5.	The MultiPsy is disabled.
//!6.	The session and connection to Epos is closed.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP274

END_TESTCASE                   LBS-ClientV2-0040 


START_TESTCASE                  LBS-ClientV2-0041
//!@SYMTestCaseID               LBS-ClientV2-0041 
//!@SYMTestCaseDesc
//!
//! TP275 
//! TC315
//! SSREQ009
//!
//!@SYMTestActions
//!Clients has the capability “ALL” and requests location information from 
//!Location server using Location Acquisition API.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//! Location server should return Location information to client.
//!The test script does the following.
//! 1.	Enables a test module (Multi PSY) .
//! 2.	Opens the default positioner and requests a    position with TPositionInfo, 
//! PositionGenericInfo, TPositionCourseInfo and TPostionSatelliteInfo.
//! 3.	Checks that a position is returned from the Multi PSY for each case of class info.
//! 4.	Checks that a position is returned.
//! 
//!@SYMPREQ                    PREQ 1811
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP275

END_TESTCASE                   LBS-ClientV2-0041 


START_TESTCASE                  LBS-ClientV2-0042
//!@SYMTestCaseID               LBS-ClientV2-0042 
//!@SYMTestCaseDesc
//!
//! TP4701 
//! TC4701
//! UCREQ253,UCREQ257
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy. Default psy doesn’t 
//!respond within time min(2xTTNF,10sec) hence default proxy loads TestProxyPsy2. 
//!But location request to the default PSY is not cancelled . TestProxyPsy2 
//!responds within time min(2xTTNF,10sec) & before default psy.Fix provided by 
//!TestProxyPsy2 is forwarded & request to default psy is cancelled.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4701

END_TESTCASE                   LBS-ClientV2-0042 


START_TESTCASE                  LBS-ClientV2-0043
//!@SYMTestCaseID               LBS-ClientV2-0043 
//!@SYMTestCaseDesc
//!
//! TP4702 
//! TC4702
//! UCREQ253,UCREQ257
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy. Default psy doesn’t 
//!respond within time min(2xTTNF,10sec) hence default proxy loads TestProxyPsy2.
//! But location request to the default psy is not cancelled .Default psy responds
//! first so fix provided by default psy is forwarded & request to TestProxyPsy2 
//!is cancelled.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4702

END_TESTCASE                   LBS-ClientV2-0043 


START_TESTCASE                  LBS-ClientV2-0044
//!@SYMTestCaseID               LBS-ClientV2-0044 
//!@SYMTestCaseDesc
//!
//! TP4703 
//! TC4703
//! UCREQ253,UCREQ257
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy. Default psy doesn’t 
//!respond within time min(TTFF,30sec) hence default proxy loads TestProxyPsy2. 
//!But location request to the default psy is not cancelled . TestProxyPsy2 
//!responds within time min(2xTTNF,10sec) & before default psy.Fix provided by 
//!TestProxyPsy2 is forwarded & request to default psy is cancelled.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4703

END_TESTCASE                   LBS-ClientV2-0044 


START_TESTCASE                  LBS-ClientV2-0045
//!@SYMTestCaseID               LBS-ClientV2-0045 
//!@SYMTestCaseDesc
//!
//! TP4704 
//! TC4704
//! UCREQ253,UCREQ257
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy. Default psy doesn’t 
//!respond within time min(TTFF,30sec) hence default proxy loads TestProxyPsy2. 
//!But location request to the default psy is not cancelled .Default psy responds 
//!first so fix provided by default psy is forwarded & request to TestProxyPsy2 
//!is cancelled.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4704

END_TESTCASE                   LBS-ClientV2-0045 


START_TESTCASE                  LBS-ClientV2-0046
//!@SYMTestCaseID               LBS-ClientV2-0046 
//!@SYMTestCaseDesc
//!
//! TP4705 
//! TC4705
//! UCREQ253,UCREQ257,UCREQ260
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy(TestProxyPsy1). Default 
//!psy doesn’t respond within time min(2xTTNF,10sec) then default proxy loads 
//!TestPsyPartialUpdate.If TestPsyPartialUpdate gives partial update, this is 
//!forwarded to system & request to default psy is not cancelled. It should be 
//!cancelled after cleanup timeout if client doesn’t reissue the request.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4705

END_TESTCASE                   LBS-ClientV2-0046 


START_TESTCASE                  LBS-ClientV2-0047
//!@SYMTestCaseID               LBS-ClientV2-0047 
//!@SYMTestCaseDesc
//!
//! TP4706 
//! TC4706
//! UCREQ253,UCREQ257,UCREQ260
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy(TestPsyPartialUpdate). 
//!Default psy doesn’t respond within time min(TTFF,30sec) then default proxy 
//!loads TestPsyPartialUpdate2.If TestPsyPartialUpdate2 gives partial update, 
//!this is forwarded to system & request to default psy is not cancelled. If 
//!default psy gives partial update within cleanup timeout,it should be discarded. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4706

END_TESTCASE                   LBS-ClientV2-0047 


START_TESTCASE                  LBS-ClientV2-0048
//!@SYMTestCaseID               LBS-ClientV2-0048 
//!@SYMTestCaseDesc
//!
//! TP4707 
//! TC4707
//! UCREQ253,UCREQ257,UCREQ260
//!
//!@SYMTestActions
//!1.	A client opens  the default proxy positioning module.
//!2.	Client issues a location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	The default proxy positioning module is opened.
//!2.	Default proxy forwards the request to default psy(TestProxyPsy1). Default 
//!psy doesn’t respond within time min(TTFF,30sec) then default proxy loads 
//!TestPsyPartialUpdate.If TestPsyPartialUpdate gives partial update, this is 
//!forwarded to system & request to default psy is not cancelled. If client doesn’t
//! reissue the request within cleanup timeout & default psy gives fix within cleanup 
//!timeout,this fix should be discarded.
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4707

END_TESTCASE                   LBS-ClientV2-0048 


START_TESTCASE                  LBS-ClientV2-0049
//!@SYMTestCaseID               LBS-ClientV2-0049 
//!@SYMTestCaseDesc
//!
//! TP4708 
//! TC4708
//! UCREQ253,UCREQ257,UCREQ262
//!
//!@SYMTestActions
//!1.	Set time-shift values(Active/Ready status PSY time-shift=Other status 
//!PSY time-shift=2sec) using central repository.
//!2.	Execute test case TP4701 & TP4703.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Time-shift values are configured.
//!2.	Check if new time-shift values has been used. Results are identical 
//!to TP4701 & TP4703. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4708

END_TESTCASE                   LBS-ClientV2-0049 


START_TESTCASE                  LBS-ClientV2-0050
//!@SYMTestCaseID               LBS-ClientV2-0050 
//!@SYMTestCaseDesc
//!
//! TP4709 
//! TC4709
//! UCREQ253,UCREQ257,UCREQ262
//!
//!@SYMTestActions
//!1.	Set cleanup timeout value to 2sec using central repository.
//!2.	Execute test case TP4705.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Cleanup timeout value is configured.
//!2.	Check if new cleanup timeout value has been used. Results are identical 
//!to TP4705. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4709

END_TESTCASE                   LBS-ClientV2-0050 


START_TESTCASE                  LBS-ClientV2-0051
//!@SYMTestCaseID               LBS-ClientV2-0051 
//!@SYMTestCaseDesc
//!
//! TP4722 
//! TC
//! UCREQ
//!
//!@SYMTestActions
//!1.	Client opens the default proxy positioning module.
//!2.	Client issues a satellite information location request.
//!3.	Wait for shutdown of location server.
//!4.	Again issue a satellite information location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	Default proxy positioning module gets opened.
//!2.	Default proxy forwards this request to default psy (MultiPsy). If default psy doesn’t respond within 
//!     time min(TTFF,30sec), then SatInfoPsy should be tried. 
//!     If SatInfoPsy responds within time, then response should be forwarded.
//!3.	Location server shut downs & default proxy as well as both psy’s will be unloaded & last time working 
//!     GPS PSY (SatInfoPsy) id will be stored to central repository.
//!4.	Default proxy forwards this request to last time working GPS PSY (SatInfoPsy). 
//!     This psy responds within time min (TTFF, 30sec) & fix is forwarded to system. Hence only SatInfoPsy gets loaded.
//!
//!@SYMPREQ                   PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4722

END_TESTCASE                   LBS-ClientV2-0051 


START_TESTCASE                  LBS-ClientV2-0052
//!@SYMTestCaseID               LBS-ClientV2-0052 
//!@SYMTestCaseDesc
//!
//! TP4723 
//! TC
//! UCREQ
//!
//!@SYMTestActions
//!1.	Configure last known working GPS PSY (which is priority 2 psy) using central repository.
//!2.	Client opens the default proxy positioning module.
//!3.	Client issues a satellite information location request.
//!
//!@SYMTestExpectedResults
//! Note - Each result corresponds to a matching item in SYMTestActions
//!1.	New value of last known working GPS PSY id (SatInfoPsy) is stored to central repository.
//!2.	Default proxy positioning module gets opened.
//!3.	Default proxy forwards this request to last known working GPS PSY (SatInfoPsy) even if its priority 2 psy. 
//!     This psy responds within time min (2xTTNF,10sec) & fix is forwarded to system. 
//!
//!@SYMPREQ                    PREQ 1811
//!@SYMREQ                    REQ 9550
//!@SYMREQ                    REQ 9551
//!@SYMREQ                    REQ 9552
//!@SYMREQ                    REQ 9553
//!@SYMREQ                    REQ 9554
//!
//!@SYMTestPriority            Medium
//!@SYMTestType cit 
//!@SYMTestStatus              Implemented

RUN_TEST_STEP 100 te_LbsPortedSuite TP4723

END_TESTCASE                   LBS-ClientV2-0052

START_TESTCASE                  LBS-ClientV2-0053
//!@SYMTestCaseID               LBS-ClientV2-0053
//!@SYMTestCaseDesc		Install Event Notification
//!
//! TP300 
//!
//!@SYMTestActions
//!
//!	Register as an observer that listens to modules db events. 
//!1.	The client uses the Location Settings API to change the priority of an installed 
//!positioning module.
//!2.	The client uses the Location Settings API to change the status of an installed 
//!positioning module.
//!3.	The client uses the Location Settings API to change the Cost of an installed 
//!positioning module.
//!4.	The client uses the Location Settings API to change the Visibility of an installed
//! positioning module.
//!5.	A new PSY is installed and then uninstalled
//!
//!@SYMTestExpectedResults
//! Appropriate event received by observer for each settings change and for the psy install/uninstall
//!
//!
//!@SYMPREQ                   PREQ 1662
//!@SYMREQ                    REQ 8848
//!
//!@SYMTestPriority           Medium
//!@SYMTestType cit 
//!@SYMTestStatus             Implemented
//! @SYMAuthor                LornaM
 
RUN_TEST_STEP 20 te_LbsPortedSuite TP300	c:\testdata\configs\ctlbsinstallabletrackingpsy.ini
 
END_TESTCASE                   LBS-ClientV2-0053
 
START_TESTCASE                  LBS-ClientV2-0054
//!@SYMTestCaseID               LBS-ClientV2-0054
//!@SYMTestCaseDesc		Error on Uninstall
//!
//! TP301 
//!
//!@SYMTestActions
//!	
//!	Register as an observer that listens to modules db events. 
//!	Install the periodic test psy
//!	Set the update interval to non-zero (ie do periodic updates)
//!	Make a request to the periodic test psy, wait for first update to complete then issue a second request
//!	On ARM:
//!	Uninstall the periodic test psy
//!	Wait for second update and verify that an error is received
//!	On Winscw (can't uninstall an in-use dll, so it's a non-test on emulator): 
//!	Wait for second update to complete with KErrNone
//!
//!@SYMTestExpectedResults
//! 	Second request completes with error
//!
//!
//!@SYMPREQ                   PREQ 1662
//!@SYMREQ                    REQ 8843
//!
//!@SYMTestPriority           Medium
//!@SYMTestType cit 
//!@SYMTestStatus             Implemented
//! @SYMAuthor                LornaM
 
RUN_TEST_STEP 60 te_LbsPortedSuite TP301	c:\testdata\configs\ctlbsinstallabletrackingpsy.ini
 
END_TESTCASE                   LBS-ClientV2-0054
 
 
 
START_TESTCASE                  LBS-ClientV2-0055
//!@SYMTestCaseID               LBS-ClientV2-0055
//!@SYMTestCaseDesc		Install during Fallback
//!
//! TP302 
//!
//!@SYMTestActions
//!
//!	Register as an observer that listens to modules db events. 
//!	Disable all psys except the 'delayed response' test psy
//! 	Open a subsession using the default proxy
//!	Make an update request (setting the positioninfo data so that the delayed response psy will delay its response for a while)
//!	Install the periodic test psy and observe the installed event
//!	Wait for the update request to complete and verify that it completes without error and comes from the 'delayed response' psy
//!	Uninstall the periodic test psy (cleanup)
//!
//!@SYMTestExpectedResults
//! 	Request completes without error from delayed response psy
//!
//!
//!@SYMPREQ                   PREQ 1662
//!@SYMREQ                    REQ 9620
//!
//!@SYMTestPriority           Medium
//!@SYMTestType cit 
//!@SYMTestStatus             Implemented
//! @SYMAuthor                LornaM
 
RUN_TEST_STEP 30 te_LbsPortedSuite TP302	c:\testdata\configs\ctlbsinstallabletrackingpsy.ini
 
END_TESTCASE                   LBS-ClientV2-0055
 
 
START_TESTCASE                  LBS-ClientV2-0056
//!@SYMTestCaseID               LBS-ClientV2-0056
//!@SYMTestCaseDesc		Uninstall during Fallback
//!
//! TP303
//!
//!@SYMTestActions
//!	
//!	Disable all but one rom-based test psy
//!	Register as an observer that listens to modules db events. 
//!	Install the periodic test psy
//!	Set priorities of the 2 psys so that the installed psy is highest
//!	Set the update interval to non-zero (ie do periodic updates)
//!	Make a request to the default proxy, wait for first update to complete then issue a second request
//!	On ARM:
//!	Uninstall the periodic test psy
//!	Wait for second update and verify that it is successful and from the ROM-based psy
//!	Verify that the uninstalled psy is not loaded
//!	On Winscw (can't uninstall an in-use dll, so it's a non-test on emulator): 
//!	Wait for second update to complete with KErrNone
//!
//!@SYMTestExpectedResults
//! 	Second request completes with error
//!
//!
//!@SYMPREQ                   PREQ 1662
//!@SYMREQ                    REQ 9621
//!
//!@SYMTestPriority           Medium
//!@SYMTestType cit 
//!@SYMTestStatus             Implemented
//! @SYMAuthor                LornaM
 
 
RUN_TEST_STEP 60 te_LbsPortedSuite TP301	c:\testdata\configs\ctlbsinstallabletrackingpsy.ini
 
END_TESTCASE                   LBS-ClientV2-0056
 
 
START_TESTCASE                  LBS-ClientV2-0057
//!@SYMTestCaseID               LBS-ClientV2-0057
//!@SYMTestCaseDesc		Avoid Multiple Integrated GPS Positioning Modules in Fallback
//!
//! TP304
//!
//!@SYMTestActions
//!
//!	Disable all PSYs except the 3 used in the test and set priorites:
//!		PSY1 = integrated GPS, pri 0 (will respond with error)
//!		PSY2 = integrated GPS, pri 1 (shouldn't be requested. will respond with position if requested)
//!		PSY3 = non-integrated GPS pri 2 (responds with position if requested)
//!	Make a request to the default proxy
//!	
//!
//!@SYMTestExpectedResults
//! 	Request is completed with a position from PSY3 above and PSY2 is not loaded 
//!
//!
//!@SYMPREQ                   PREQ 1662
//!@SYMREQ                    REQ 11224
//!
//!@SYMTestPriority           Medium
//!@SYMTestType cit 
//!@SYMTestStatus             Implemented
//! @SYMAuthor                LornaM
 
RUN_TEST_STEP 100 te_LbsPortedSuite TP304
 
END_TESTCASE                   LBS-ClientV2-0057
 
PRINT Stop LBS 
RUN_TEST_STEP 020 te_LbsPortedSuite LbsStep_StopLbs

PRINT te_LbsPortedSuite completed

