// 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-SETTINGSMANAGER-te_lbssisinstall.script
//! @SYMScriptTestEnvironment TestExecute with LBS-SETTINGSMANAGER



PRINT BTPSY Settings Manager Tests
LOAD_SUITE te_settingsmanager

RUN_UTILS CopyFile c:\testdata\configs\lbstestconfig.txt c:\config.txt

START_TESTCASE                LBS-SETTINGSMANAGER-ExternalDeviceStatusAPI-0001
//! @SYMTestCaseID              LBS-SETTINGSMANAGER-ExternalDeviceStatusAPI-0001
//! @SYMTestCaseDesc            A published partner API providing clients with the ability to request external device status information for a connected Bluetooth GPS device with the ability to report device status information shall be supported.
//!                             The API shall also provide clients with the ability to register for change notifications to device status information.
//!                             The device status information shall include:
//!                             - Battery status of GPS device
//!                             - Status of external antenna and power (connected/disconnected)
//!                             - Night mode of the GPS device (ON/OFF)
//!                             - Firmware, HW and GPS chipset version of GPS device.
//!                             Clients shall be policed for the ReadDeviceData capability when using the external device status API.
//! @SYMTestPriority            High
//! @SYMTestActions             This test step check all Publish and Subscribe keys describe in BtGpsPsyPrivatePSKeys.h
//!                             It check that all keys are created at construction time, and then, it check their values.
//!                             If the keys are created already, we delete them all, and then attempt to create them again.
//! @SYMTestExpectedResults     PASS: Every publish and subscribe keys are defined with an acceptable value
//!                             FAIL : A key is missing.
//!                             FAIL : The value of a key is out of range
//! @SYMTestType                UT
//! @SYMCreationDate            24/11/2008
//! @SYMAuthor                  jeannoelm
//! @SYMTestStatus              2. Functional
//! @SYMPREQ PREQ1657
//! @SYMREQ REQ8872
RUN_TEST_STEP 100 te_settingsmanager settingsmanagerinitialisationstep c:\testdata\configs\te_settingsmanager.ini Section1
RUN_TEST_STEP 100 te_settingsmanager settingsmanagerfunctionteststep c:\testdata\configs\te_settingsmanager.ini Section0
END_TESTCASE                  LBS-SETTINGSMANAGER-ExternalDeviceStatusAPI-0001



START_TESTCASE                LBS-SETTINGSMANAGER-ModuleStandardsSettings-0001
//! @SYMTestCaseID              LBS-SETTINGSMANAGER-ModuleStandardsSettings-0001
//! @SYMTestCaseDesc            The Bluetooth GPS Positioning Module shall provide an API, satisfying the Positioning Module Information API, providing access to the standard positioning module settings.
//!                             The purpose of this test is to prove that the API is present with valid settings.
//! @SYMTestPriority            Critical
//! @SYMTestActions             The test gets the value of every central repository entry defined in PositioningPluginFWInternalCRKeys.h and checks their validity.
//! @SYMTestExpectedResults     All properties defined in the exported header PositioningPluginFWInternalCRKeys.h need to be present in the central repository file of the BTPSY.
//!                             As a result, every test should PASS, or the Bluetooth module won't be usable.
//!                             PASS: All property correctly defined
//!                             FAIL : A property is missing.
//!                             FAIL : A property is incorrectly set.
//! @SYMTestType                UT
//! @SYMCreationDate            24/11/2008
//! @SYMAuthor                  jeannoelm
//! @SYMTestStatus              2. Functional
//! @SYMPREQ PREQ1657
//! @SYMREQ REQ10787
RUN_TEST_STEP 100 te_settingsmanager settingsmanagercommoncrteststep c:\testdata\configs\te_settingsmanager.ini Section0
END_TESTCASE                  LBS-SETTINGSMANAGER-ModuleStandardsSettings-0001



START_TESTCASE                LBS-SETTINGSMANAGER-ModuleCustomSettings-0001
//! @SYMTestCaseID              LBS-SETTINGSMANAGER-ModuleCustomSettings-0001
//! @SYMTestCaseDesc            The Bluetooth GPS Positioning Module shall provide an API allowing access to Bluetooth Positioning Module specific settings.
//!                             These settings shall include:
//!                             - Reconnection Timeout
//!                             - Inactivity Delay
//!                             - Utilise Power Saving Option
//! @SYMTestPriority            Critical
//! @SYMTestActions             The test gets the value of every central repository entry defined in PositioningPluginFWInternalCRKeys.h and checks their validity.
//! @SYMTestExpectedResults     All properties defined in the exported header BtGpsPsyPrivateCRKeys.h need to be present in the central repository file of the BTPSY.
//!                             As a result, every test should PASS, or the Bluetooth module won't be usable.
//!                             PASS: All property correctly defined
//!                             FAIL : A property is missing.
//!                             FAIL : A property is incorrectly set.
//! @SYMTestType                UT
//! @SYMCreationDate            24/11/2008
//! @SYMAuthor                  jeannoelm
//! @SYMTestStatus              2. Functional
//! @SYMPREQ PREQ1657
//! @SYMREQ REQ10788
RUN_TEST_STEP 100 te_settingsmanager settingsmanagerspecificcrteststep c:\testdata\configs\te_settingsmanager.ini Section0
END_TESTCASE                  LBS-SETTINGSMANAGER-ModuleCustomSettings-0001

// Delete network registration status text file
RUN_UTILS DeleteFile c:\config.txt

PRINT Settings Manager Unit Tests Complete
