//! @File
//! @SYMTestSuiteName lbsclientupdateoptions.script
//! @SYMScriptTestEnvironment
/
// 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:
//
// Delete old log file
RUN_UTILS DeleteFile c:\private\101f401d\Logdbu.dat
LOAD_SUITE LbsClientTestServer -SharedData
PRINT Run LbsClientTestServer
PRINT
// 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
CopyFile c:\testdata\configs\lbstestconfig.txt c:\config.txt
// delete any profiles from C drive left over from previous tests
DeleteFile c:\private\10282253\lbs\lbsprofile.ini
REMOVE_PREFIX
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_ResetDefaultAdmin
RUN_TEST_STEP 030 LbsClientTestServer LbsStep_StartLbs
PRINT Set Autonomous Mode
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetAutonomousMode
START_TESTCASE LBS-Client-UpdateOptions-0001
//!@SYMTestCaseID LBS-Client-UpdateOptions-0001
//!@SYMTestCaseDesc Check that SetUpdateOptions works by setting and getting values.
//!
//!@SYMTestActions 1. Call SetUpdateOptions using a default construct TPositionUpdateOptionsA as a parameter.
//! 2. Call GetUpdateOptions passing a blank TpositionUpdateOptionsB as a parameter.
//!
//!@SYMTestExpectedResults TPositionUpdateOptionsA should equal TpositionUpdateOptionsB.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-001
END_TESTCASE LBS-Client-UpdateOptions-0001
START_TESTCASE LBS-Client-UpdateOptions-0002
//!@SYMTestCaseID LBS-Client-UpdateOptions-0002
//!@SYMTestCaseDesc Negative test for TPositionUpdateOptions with incorrect aInterval parameters.
//!
//!@SYMTestActions 1. Create TPositionUpdateOptions using a non-default constructor, with a negative aInterval value.
//!
//!@SYMTestExpectedResults Test should panic EpositionBadTime(12)
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 2
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP !PanicCode=12 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-002
END_TESTCASE LBS-Client-UpdateOptions-0002
START_TESTCASE LBS-Client-UpdateOptions-0003
//!@SYMTestCaseID LBS-Client-UpdateOptions-0003
//!@SYMTestCaseDesc Negative test for TPositionUpdateOptions with incorrect aTimeOut parameters
//!
//!@SYMTestActions 1. Create TPositionUpdateOptions using a non-default constructor, with a negative aTimeOut value.
//!
//!@SYMTestExpectedResults Test should panic EpositionBadTime(12)
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 2
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP !PanicCode=12 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-003
END_TESTCASE LBS-Client-UpdateOptions-0003
START_TESTCASE LBS-Client-UpdateOptions-0004
//!@SYMTestCaseID LBS-Client-UpdateOptions-0004
//!@SYMTestCaseDesc Negative test for TPositionUpdateOptions with incorrect aMaxAge parameters.
//!
//!@SYMTestActions 1. Create TPositionUpdateOptions using a non-default constructor, with a negative aMaxAge value.
//!
//!@SYMTestExpectedResults Test should panic EpositionBadTime(12)
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 2
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP !PanicCode=12 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-004
END_TESTCASE LBS-Client-UpdateOptions-0004
START_TESTCASE LBS-Client-UpdateOptions-0005
//!@SYMTestCaseID LBS-Client-UpdateOptions-0005
//!@SYMTestCaseDesc Request position update with default Update Options.
//!
//!@SYMTestActions 1. Call SetUpdateOptions using a default construct TPositionUpdateOptions as a parameter.
//! 2. Call NotifyPositionUpdate().
//!
//!@SYMTestExpectedResults We should receive updates in a manner consistent with the default parameters of TPositionUpdateOptions.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-005
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-005
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyPosInfos
//RUN_TEST_STEP 030 LbsClientTestServer LbsStep_VerifyLogInfo
END_TESTCASE LBS-Client-UpdateOptions-0005
START_TESTCASE LBS-Client-UpdateOptions-0006
//!@SYMTestCaseID LBS-Client-UpdateOptions-0006
//!@SYMTestCaseDesc SetUpdateOptions while there is an outstanding request.
//!
//!@SYMTestActions
//! 1. Set a longish interval (1 minute say); this is to ensure that there's an outstanding NotifyPositionUpdate when options are changed.
//! 2. Call NotifyPositionUpdate.
//! 3. Call SetUpdateOptions with non-default interval specified.
//! 4. Call NotifyPositionUpdate. Note that we expect this to complete as normal, without being affected by the new options
//! 5. Call NotifyPositionUpdate several times.
//!
//!@SYMTestExpectedResults The NPUD which is outstanding when the new interval is set, should complete as normal (after original interval).
//! Subsequent requests should complete according to the new options (ie first one can come anytime up to timeout)
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-006
RUN_TEST_STEP 240 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-006
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyPosInfos
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo
END_TESTCASE LBS-Client-UpdateOptions-0006
START_TESTCASE LBS-Client-UpdateOptions-0007
//!@SYMTestCaseID LBS-Client-UpdateOptions-0007
//!@SYMTestCaseDesc Request Location Update with non-default update interval
//!
//!@SYMTestActions
//! 1. Set the interval and timeout update options to non-default values (using SetUpdateOptions) and verify the set.
//! 2. Call NotifyPositionUpdate() several times.
//! 3. Verify that positions arrive inside valid time windows
//!
//!@SYMTestExpectedResults The first position should arrive before the timeout
//! Subsequent positions should arrive between X + interval and X + interval + timeout, where X = time first position received
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!@SYMPREQ PREQ 89
//!@SYMREQ REQ 89.03
//!@SYMREQ REQ 89.04
//!@SYMREQ REQ 89.06
//!@SYMREQ REQ 89.07
//!@SYMREQ REQ 89.09
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_ClearLog
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-007
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-007
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyPosInfos
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-007
END_TESTCASE LBS-Client-UpdateOptions-0007
START_TESTCASE LBS-Client-UpdateOptions-0008
//!@SYMTestCaseID LBS-Client-UpdateOptions-0008
//!@SYMTestCaseDesc SetUpdateInterval Negative test.
//!
//!@SYMTestActions 1. Create an instance of TPositionUpdateOption.
//! *Call SetUpdateInterval with a negative value
//!
//!@SYMTestExpectedResults *Negative value should result in Panic EPositionBadTime
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 2
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP !PanicCode=12 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-008
END_TESTCASE LBS-Client-UpdateOptions-0008
//START_TESTCASE LBS-Client-UpdateOptions-0009
//!@SYMTestCaseID LBS-Client-UpdateOptions-0009
//!@SYMTestCaseDesc Confirm that NotifyPositionUpdate will timeout after a specified period.
//!
//!@SYMTestActions 1. Create an instance of TPositionUpdateOption.
//! 2. Call SetUpdateTimeOut with values different from the default (5, 10, 30secs).
//! 3. Check that the call to UpdateTimeOut reflects this change.
//! 4. Call SetUpdateOptions using this instance of TPositionUpdateOptions as a parameter.
//!
//! ** Configure test gps module to cause a timeout
//!
//! 5. Call NotifyPositionUpdate().
//!
//! Note: Run test case with test module only.
//!
//!@SYMTestExpectedResults We should receive updates in a manner consistent with the parameters of this instance of TPositionUpdateOptions.
//! ** NotifyPositionUpdate will return KErrTimedOut
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Not Completed.
//!
//RUN_TEST_STEP 010 LbsClientTestServer "Configure test gps module to cause a timeout"
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-009
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-009
//END_TESTCASE LBS-Client-UpdateOptions-0009
START_TESTCASE LBS-Client-UpdateOptions-0009
//!@SYMTestCaseID LBS-Client-UpdateOptions-0009
//!@SYMTestCaseDesc Negative test for SetUpdateTimeout
//!
//!@SYMTestActions 1. Create an instance of TPositionUpdateOption.
//! 2. Call SetUpdateTimeOut with a negative value.
//!
//!@SYMTestExpectedResults * Negative value should result in Panic EPositionBadTime
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 2
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP !PanicCode=12 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-010
END_TESTCASE LBS-Client-UpdateOptions-0009
//START_TESTCASE LBS-Client-UpdateOptions-0011
//!@SYMTestCaseID LBS-Client-UpdateOptions-0011
//!@SYMTestCaseDesc Request location update with specific accuracy by disable Partial Updates
//!
//!@SYMTestActions 1. Open positioner with configured required quality
//! 2. Configure partial Updates with EFalse.
//! 3. Request Location Update
//! 4. Wait for request to complete
//! 5. Verify that location info is returned as expected.
//! 6. Verify that the location request is logged.
//!
//!@SYMTestExpectedResults Request completes successfully with expected accuracy
//!
//! Note: Run test case with test module only.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-011
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-011
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo
//END_TESTCASE LBS-Client-UpdateOptions-0011
//START_TESTCASE LBS-Client-UpdateOptions-0012
//!@SYMTestCaseID LBS-Client-UpdateOptions-0012
//!@SYMTestCaseDesc Request location update with specific accuracy by enable Partial Updates
//!
//!@SYMTestActions 1. Open positioner with configured required quality
//! 2. Configure partial Updates with ETrue.
//! 3. Request Location Update
//! 4. Wait for request to complete
//! 5. Verify that location info is returned as expected.
//! 6. Verify that the location request is logged.
//!
//!@SYMTestExpectedResults Request completes successfully with low accuracy position
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-012
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-012
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo
//END_TESTCASE LBS-Client-UpdateOptions-0012
START_TESTCASE LBS-Client-UpdateOptions-0010
//!@SYMTestCaseID LBS-Client-UpdateOptions-0010
//!@SYMTestCaseDesc Check that timely location updates work ok with MaxUpdateAge.
//!
//!@SYMTestActions 1. Create an instance of TPositionUpdateOption.
//! 2. Call SetMaxUpdateAge with age limit < Interval.
//! 3. Check that the call to MaxUpdateAge reflects this change.
//! 4. Call SetUpdateOptions using this instance of TPositionUpdateOptions as a parameter.
//! 5. Have a location in cache by calling NotifyPositionUpdate().
//! 6. Call NotifyPositionUpdate().
//!
//!@SYMTestExpectedResults We should get location info without error.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-013
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-013
END_TESTCASE LBS-Client-UpdateOptions-0010
//START_TESTCASE LBS-Client-UpdateOptions-0014
//!@SYMTestCaseID LBS-Client-UpdateOptions-0014
//!@SYMTestCaseDesc Need a further test that checks maxage for locations at intervals - add test (details need fleshed out).
//!
//!@SYMTestActions 1. Create two RPositionerServers
//! 2. Open two RPositioners, each one opening a subsession to a separate RPositionerServer and seperate modules.
//! 3. Create 2 instances of TPositionUpdateOption.
//! 4. Call SetMaxUpdateAge =10 seconds, interval = 5seconds on A.
//! 5. Call SetMaxUpdateAge =0 seconds, interval = 2 seconds on B.
//! 6. Call NotifyPositionUpdate() repeatedly on both.
//!
//!@SYMTestExpectedResults *Behaviour here may be uncertain* We should get location info without error.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Not Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-014
//END_TESTCASE LBS-Client-UpdateOptions-0014
//START_TESTCASE LBS-Client-UpdateOptions-0015
//!@SYMTestCaseID LBS-Client-UpdateOptions-0015
//!@SYMTestCaseDesc Need a further test that checks maxage for locations at intervals - add test (details need fleshed out).
//!
//!@SYMTestActions 1. Create two RPositionerServers
//! 2. Open two RPositioners, each one opening a subsession to a separate RPositionerServer but the same modules.
//! 3. Create 2 instances of TPositionUpdateOption.
//! 4. Call SetMaxUpdateAge =10 seconds, interval = 5seconds on A.
//! 5. Call SetMaxUpdateAge =0 seconds, interval = 2 seconds on B.
//! 6. Call NotifyPositionUpdate() repeatedly on both.
//!
//!@SYMTestExpectedResults *Behaviour here may be uncertain* We should get location info without error.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Not Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-015
//END_TESTCASE LBS-Client-UpdateOptions-0015
//START_TESTCASE LBS-Client-UpdateOptions-0016
//!@SYMTestCaseID LBS-Client-UpdateOptions-0016
//!@SYMTestCaseDesc Need a further test that checks maxage for locations at intervals - add test (details need fleshed out).
//!
//!@SYMTestActions 1. Create one RPositionerServer
//! 2. Open two RPositioners, each one opening a subsession to the RPositionerServer but different modules.
//! 3. Create 2 instances of TPositionUpdateOption.
//! 4. Call SetMaxUpdateAge =10 seconds, interval = 5seconds on A.
//! 5. Call SetMaxUpdateAge =0 seconds, interval = 2 seconds on B.
//! 6. Call NotifyPositionUpdate() repeatedly on both.
//!
//!@SYMTestExpectedResults *Behaviour here may be uncertain* We should get location info without error.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Not Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-016
//END_TESTCASE LBS-Client-UpdateOptions-0016
//START_TESTCASE LBS-Client-UpdateOptions-0017
//!@SYMTestCaseID LBS-Client-UpdateOptions-0017
//!@SYMTestCaseDesc Check that fairly timely location updates work ok.
//!
//!@SYMTestActions 1. Open an RPositioner.
//! 2. Create an instance of TPositionUpdateOption.
//! 3. Call SetMaxUpdateAge with age limit >= Interval.
//! 4. Check that the call to MaxUpdateAge reflects this change.
//! 5. Call SetUpdateOptions using this instance of TPositionUpdateOptions as a parameter.
//! 6. Call NotifyPositionUpdate().
//! 7. Close RPositioners.
//!
//!@SYMTestExpectedResults MaxUpdateAge() should return 0 because there is no acceptable age limit set for NotifyPositionUpdate.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Not Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-017
//END_TESTCASE LBS-Client-UpdateOptions-0017
START_TESTCASE LBS-Client-UpdateOptions-0011
//!@SYMTestCaseID LBS-Client-UpdateOptions-0011
//!@SYMTestCaseDesc Negative testing on SetMaxUpdateAge, using a negative value.
//!
//!@SYMTestActions 1. Create an instance of TPositionUpdateOption.
//! 2. Call SetMaxUpdateAge with a negative value for the age limit.
//!
//!@SYMTestExpectedResults Negative age limit should result in Panic EPositionBadTime
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 2
//!@SYMTestStatus Implemented
RUN_TEST_STEP !PanicCode=12 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-018
END_TESTCASE LBS-Client-UpdateOptions-0011
START_TESTCASE LBS-Client-UpdateOptions-0012
//!@SYMTestCaseID LBS-Client-UpdateOptions-0012
//!@SYMTestCaseDesc Check that SetMaxUpdateAge actually gets a cached value from within the MaxUpdateAge time frame.
//!
//!@SYMTestActions 1. *No cached data must be present.
//! *No trace of previous location fixes must be present.
//! 2. Call PosInfoA = NotifyPositionUpdate().
//! 3. Create an instance of TPositionUpdateOption.
//! 4. Call SetMaxUpdateAge with a valid value for the age limit.
//! 5. Check that the call to MaxUpdateAge reflects this change.
//! 6. Call SetUpdateOptions using this instance of TPositionUpdateOptions as a parameter.
//! 7. Call NotifyPositionUpdate(PosInfoB).
//!
//!@SYMTestExpectedResults The cached PosInfoA should match the final position received.
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.08
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-019
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-019
END_TESTCASE LBS-Client-UpdateOptions-0012
//START_TESTCASE LBS-Client-UpdateOptions-0020
//!@SYMTestCaseID LBS-Client-UpdateOptions-0020
//!@SYMTestCaseDesc Confirm that partial updates are getting at specified intervals
//!
//!@SYMTestActions 1.Open positioner with configured required quality.
//! 2.Configure partial Updates with ETrue.
//! 3.Set the UpdateInterval to some non default value.
//! 4.Call SetUpdateOptions to update position info at specified intervals.
//! 5.Request Location Update by Calling NotifyPositionUpdate()
//! Note: each time partial update is received we need to reissue the location request until full location received.
//! 6.Verify that location info is returned as expected.
//! 7.Verify that the location request is logged.
//!
//!
//!@SYMTestExpectedResults we should get partial updates at specified intervals
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-020
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-020
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyPosInfos
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo
//END_TESTCASE LBS-Client-UpdateOptions-0020
//START_TESTCASE LBS-Client-UpdateOptions-0021
//!@SYMTestCaseID LBS-Client-UpdateOptions-0021
//!@SYMTestCaseDesc Confirm that we receive incomplete location information
//!
//!@SYMTestActions 1.Open positioner with configured required quality.
//! 2.Configure partial Updates with ETrue.
//! 3.Request Location Update, passing SatelliteInfo
//! 4.Verify that location info is returned as expected.
//! 5.Verify that the location request is logged.
//!
//!
//!
//!@SYMTestExpectedResults we should get partial updates successfully
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
//RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-021
//RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-021
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyPosInfos
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo
//END_TESTCASE LBS-Client-UpdateOptions-0021
// Selecting the default admin values will ensure the AGPS module requests assistance data.
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_ResetDefaultAdmin
START_TESTCASE LBS-Client-UpdateOptions-0013
//!@SYMTestCaseID LBS-Client-UpdateOptions-0013
//!@SYMTestCaseDesc Request Location Update with non-default update interval
//!
//!@SYMTestActions
//! 1. Set the interval and timeout update options to non-default values (using SetUpdateOptions) and verify the set.
//! 2. Call NotifyPositionUpdate() several times.
//! 3. Verify that positions arrive inside valid time windows
//!
//!@SYMTestExpectedResults The first position should arrive before the timeout
//! Subsequent positions should arrive between X + interval and X + interval + timeout, where X = time first position received
//!
//!@SYMPREQ PREQ 786
//!@SYMREQ REQ 786.07
//!@SYMREQ REQ 786.09
//!@SYMREQ REQ 786.10
//!@SYMREQ REQ 786.11
//!@SYMREQ REQ 786.12
//!@SYMPREQ PREQ 89
//!@SYMREQ REQ 89.03
//!@SYMREQ REQ 89.04
//!@SYMREQ REQ 89.06
//!@SYMREQ REQ 89.07
//!@SYMREQ REQ 89.09
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_ClearLog
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-107
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-107
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyPosInfos
//RUN_TEST_STEP 010 LbsClientTestServer LbsStep_VerifyLogInfo c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-107
END_TESTCASE LBS-Client-UpdateOptions-0013
START_TESTCASE LBS-Client-UpdateOptions-0101
//!@SYMTestCaseID LBS-Client-UpdateOptions-0101
//!@SYMTestCaseDesc Testcase to show the fix for DEF118183 (TTG:<cancellation does not enable tracking to be ceased>)
//! The test case is to cancel a tracking position request. This should result in the outstanding request being
//! completed with KErrCancel.
//!
//!@SYMTestActions
//! 1. Call NotifyPositionUpdate. (Non-tracking to establish an available position within the maxupdateage period)
//! 2. Set a tracking interval (say 10seconds) and a maxupdateage that is well within the tracking period (1 sec)
//! 3. Call SetUpdateOptions with non-default interval and maxupdateage specified.
//! 4. Call NotifyPositionUpdate. Note that we expect this to complete immediately because of the stored position from 1 above
//! 5. Call NotifyPositionUpdate.
//! 6. Wait a short period (say 2sec) and then cancel the update request
//!
//!@SYMTestExpectedResults The NPUD which is outstanding when the cancel was issued, should complete with KErrCancel.
//!
//!@SYMTestType CIT
//!@SYMTestPriority 1
//!@SYMTestStatus Implemented
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetAutonomousMode
RUN_TEST_STEP 010 LbsClientTestServer LbsStep_InstallScheduler
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_SetUpPsy c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTIONS
RUN_TEST_STEP 020 LbsClientTestServer LbsStep_CreateVerifyModuleData c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-101
RUN_TEST_STEP 120 LbsClientTestServer LbsClientStep_UpdateOptions c:\testdata\configs\LbsClientUpdateOptions.ini LBS-UPDATE-OPTS-101
END_TESTCASE LBS-Client-UpdateOptions-0101
RUN_TEST_STEP 030 LbsClientTestServer LbsStep_StopLbs
// Re-select the real A-GPS integration module.
RUN_UTILS DeleteFile c:\private\10282253\lbs\locmods\agpsintegmodule.ini
// Delete network registration status text file
RUN_UTILS DeleteFile c:\config.txt