resourcemgmt/hwresourcesmgr/test/te_hwrm/te_hwrm_power_ext_charging_info.script
author Tapani Kanerva <Tapani.Kanerva@nice.fi>
Thu, 11 Nov 2010 14:35:29 +0000
branchRCL_3
changeset 86 79105dd92dc2
parent 0 4e1aa6a622a0
child 70 653a8b91b95e
permissions -rw-r--r--
Export meaningful default HWRM policy files, to fix Bug 3852

// Copyright (c) 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 te_hwrm_power_ext_charging_info.script
//! @SYMTestSuiteName DEVSRVS-HWRM
//! @SYMScriptTestEnvironment telephony

LOAD_SUITE te_hwrm

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0001
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0001
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11696 REQ11689
//!@SYMTestCaseDesc Checks that the system returns the correct battery charging status
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server
//!                2. Set the power state plug-in to change the PS key, KHWRMChargingStatus, to a specific charging state
//!                3. Call the new synchronous CHWRMPower API to get the battery charging state
//!@SYMTestExpectedResults Check the return value as specified in test step 2
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerGetBatteryChargingStatusL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0001

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0002
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0002
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11696 REQ11689
//!@SYMTestCaseDesc Checks that the system returns the correct battery charging status to all the requested clients
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower objects to open three sessions with HWRM server to imitate multiple client interface
//!                2. Set the power state plug-in to change the PS key, KHWRMChargingStatus, to a specific charging state
//!                3. Call the new synchronous CHWRMPower API to get the battery charging state using each object
//!                4. Repeat the step 2 and 3 for more state changes
//!@SYMTestExpectedResults Check the return value as specified in test step 2 for each object
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerGetBatteryChargingStatusMultiClient3L
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0002

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0003
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0003
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11690 REQ11689
//!@SYMTestCaseDesc Verify the charging status notifications from the system
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server
//!                2. Register the charging status notification callback by calling the new API
//!                3. Set the power state plug-in to change the PS key, KHWRMChargingStatus, to a new charging state
//!                4. Expect the state change notification via the callback
//!                5. Repeat the step 3 and 4 for more state changes
//!@SYMTestExpectedResults Check the battery charging state changes(as specifed in Step 3) reported via the registered callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingStatusNotificationL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0003

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0004
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0004
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11690 REQ11689
//!@SYMTestCaseDesc Check that the system sends the notification to all the registered clients
//!@SYMTestPriority High
//!@SYMTestActions 1. Create power objects to open three sessions with HWRM server to imitate multiple client interface
//!                2. Register the charging status notification callback by calling the new API
//!                3. Set the power state plug-in to change the PS key, KHWRMChargingStatus, to a new charging state
//!                4. Expect the state change notification via the registered callbacks
//!                5. Repeat the step 3 and 4 for more state changes
//!@SYMTestExpectedResults Check the battery charging state changes(as specifed in Step 3) reported via the registered callback.
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingStatusNotificationMultiClient3L
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0004

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0005
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0005
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11689 REQ11700 REQ11695
//!@SYMTestCaseDesc Verify the remaining charge time notification from the system
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server
//!                2. Register the remaining charge time notification callback by calling the new API
//!                3. Change the charging state to 'charging'
//!                4. Call remaining charge time notification request API
//!                5. Stop the notification after some time delay
//!@SYMTestExpectedResults Check the battery remaining charge time reported via the registered callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerRemainingChargingTimeNotificationL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0005

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0006
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0006
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the plug-in error code is passed back to the client
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session
//!                2. Set the expected command for the MockSy plugin to remaining charge time request
//!                3. Set the response package as error for the MockSy plugin
//!                4. Call remaining charge time notification request API
//!@SYMTestExpectedResults Check the expected error code is receicved via the callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerRemainingChargingTimeWithPluginErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0006

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0007
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0007
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11695 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the notification cleanup is done by the system
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session
//!                2. Call remaining charge time notification request API
//!                3. Set the expected command for the MockSY plugin as stop remaining charge time
//!                4. Set the response package as error for the MockSY plugin
//!                5. Call Stop remaining charge time request
//!@SYMTestExpectedResults Check the remaining results have been sent back to the client before cancelling the request
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerStopRemainingChargingTimeWithPluginErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0007

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0008
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0008
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691
//!@SYMTestCaseDesc Verify the system returns proper error code for the remaining charge time notification request
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server
//!                2. Register the remaining charge time notification callback by calling the new API
//!                3. Change the charging state to other than 'charging' mode
//!                4. Call remaining charge time notification request API
//!@SYMTestExpectedResults The return error code should be KErrNotReady
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerRemainingChargingTimeNotificationErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0008

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0009
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0009
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691
//!@SYMTestCaseDesc Verify the system returns proper error code for the remaining charge time notification request
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server
//!                2. Register the remaining charge time notification callback by calling the new API
//!                3. Change the charging state to 'charging' mode
//!                4. Call remaining charge time notification request API 
//!                5. Call remaining charge time notification request API again
//!@SYMTestExpectedResults The return error code at step 5 should be KErrAlreadyExists
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerRemainingChargingTimeWhenStartedL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0009

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0010
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0010
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11689 REQ11700 REQ11698
//!@SYMTestCaseDesc Verify the remaining charge time notification from the system to multiple clients
//!@SYMTestPriority High
//!@SYMTestActions 1. Create three different power objects to mimic the multiple client session 
//!                2. Register the remaining charge time notification callbacks by calling the new API 
//!                3. Change the charging state to 'charging' mode 
//!                4. Call remaining charge time notification request API for each power object 
//!                5. Stop the request one by one after some time delay
//!@SYMTestExpectedResults Check the battery remaining charge time reported via the registered callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerRemainingChargingTimeNotificationMulticlient3L
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0010

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0011
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0011
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11689
//!@SYMTestCaseDesc Verify that the remaining chargin time notification stoppped by the system if the charging state has been changed from 'charging' to any state
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server 
//!                2. Register the remaining charge time notification callback by calling the new API 
//!                3. Change the charging state to 'charging' 
//!                4. Call remaining charge time notification request API 
//!                5. After some time delay change the charging state to 'disconnected'
//!@SYMTestExpectedResults Check the battery remaining charge time notification stopped after the step 5, the callback receives the error code KErrNotReady.
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingTimeNotificationWhenChargingCompleteL
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingTimeNotificationWhenDisconnectedL
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingTimeNotificationWhenChargingComplete3L
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingTimeNotificationWhenDisconnected3L
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0011

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0012
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0012
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692 REQ11689 REQ11700 REQ11695
//!@SYMTestCaseDesc Verify the charging current notification from the system
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server 
//!                2. Register the charging current notification callback by calling the new API 
//!                3. Change the charging state to 'charging' 
//!                4. Call charging current notification request API 
//!                5. Stop the notification after some time delay
//!@SYMTestExpectedResults Check the battery charging current reported via the registered callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0012

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0013
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0013
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692
//!@SYMTestCaseDesc Verify the system returns proper error code for the charging current notification request
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server 
//!                2. Register the charging current notification callback by calling the new API 
//!                3. Change the charging state to other than 'charging' mode 
//!                4. Call charging current notification request API
//!@SYMTestExpectedResults The return error code should be KErrNotReady
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0013

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0014
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0014
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692
//!@SYMTestCaseDesc Verify the system returns proper error code for the charging current notification request
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server 
//!                2. Register the charging current notification callback by calling the new API 
//!                3. Change the charging state to 'charging' mode 
//!                4. Call charging current notification request API 
//!                5. Call charging current notification request API again
//!@SYMTestExpectedResults The return error code at step 5 should be KErrAlreadyExists
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentWhenStartedL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0014

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0015
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0015
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692 REQ11689 REQ11700 REQ11698
//!@SYMTestCaseDesc Verify the charging current notification from the system to multiple clients
//!@SYMTestPriority High
//!@SYMTestActions 1. Create three different power objects to mimic the multiple client session 
//!                2. Register the charging current notification callbacks by calling the new API 
//!                3. Change the charging state to 'charging' mode 
//!                4. Call charging current notification request API for each power object 
//!                5. Stop the request one by one after some time delay
//!@SYMTestExpectedResults Check the battery charging current reported via the registered callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationMulticlient3L
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0015

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0016
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0016
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the charging current notification stoppped by the system if the charging state has been changed from 'charging' to any state
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a CHWRMPower object to open a session with HWRM server 
//!                2. Register the charging current notification callback by calling the new API 
//!                3. Change the charging state to 'charging' 
//!                4. Call charging current notification request API 
//!                5. After some time delay change the charging state to 'disconnected'
//!@SYMTestExpectedResults Check the battery charging current notification stopped after the step 5, the callback receives the error code KErrNotReady.
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationWhenChargingCompleteL
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationWhenDisconnectedL
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationWhenChargingComplete3L
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationWhenDisconnected3L
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0016

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0017
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0017
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the plug-in error code is passed back to the client
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session 
//!                2. Set the expected command for the MockSy plugin to charging current request 
//!                3. Set the response package as error(KErrGeneral) for the MockSy plugin 
//!                4. Call charging current notification request API
//!@SYMTestExpectedResults Check the expected error code is receicved via the callback
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentWithPluginErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0017

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0018
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0018
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11695 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the notification cleanup is done by the system
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session 
//!                2. Call charging current notification request API 
//!                3. Set the expected command for the MockSY plugin as stop charging current 
//!                4. Set the response package as error(KErrGeneral) for the MockSY plugin 
//!                5. Call Stop charging current request
//!@SYMTestExpectedResults Check the remaining results have been sent back to the client before cancelling the request
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerStopChargingCurrentWithPluginErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0018

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0019
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0019
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11697 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the system gives the correct active charger type
//!@SYMTestPriority High
//!@SYMTestActions 1. Create the power session 
//!                2. Set the charging status as 'charger connected' 
//!                3. Set the expected command for the MockSY plugin as Active charger type request 
//!                4. Set the response package as USB - 5. Call GetActiveChargerType() API
//!@SYMTestExpectedResults Check the return value with USB type
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerGetBatteryChargerType
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0019

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0020
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0020
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11697 REQ11689 REQ11698 REQ11700
//!@SYMTestCaseDesc Verify that the system gives the correct active charger type to all interested clients
//!@SYMTestPriority High
//!@SYMTestActions 1. Create three different power sessions to mimic multiple client sessions 
//!                2. Set the charging status as 'charger connected' 
//!                3. Set the expected command for the MockSY plugin as Active charger type request 
//!                4. Set the response package as DEDICATED 
//!                5. Call GetActiveChargerType() API for each client object
//!@SYMTestExpectedResults Check the return value for each of the client requests with DEDICATED type
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerGetBatteryChargerTypeMulticlientL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0020

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0021
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0021
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11697 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the plug-in error code is passed back to the client
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session 
//!                2. Set the charging status as 'charger connected' 
//!                3. Set the expected command for the MockSY plugin as Active charger type request 
//!                4. Set the response package as error(KErrGeneral) 
//!                5. Call GetActiveChargerType() API
//!@SYMTestExpectedResults Check the return error code as KErrNotReady
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerGetBatteryChargerTypeWithPluginErrorL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0021

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0022
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0022
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11695
//!@SYMTestCaseDesc Verify that the system returns proper error code for remaining charge time cancellation
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session 
//!                2. Call the cancel request API for remaining charge time notification
//!@SYMTestExpectedResults Check the request is completed with KErrNone
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerCancelChargingTimeWithoutStart
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0022

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0023
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0023
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11695
//!@SYMTestCaseDesc Verify that the system returns proper error code for charging current cancellation
//!@SYMTestPriority Medium
//!@SYMTestActions 1. Create the power session 
//!                2. Call the cancel request API for charging current notification
//!@SYMTestExpectedResults Check the request is completed with KErrNone
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerCancelChargingCurrentWithoutStart
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0023

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0024
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0024
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11694 REQ11700 REQ11692 REQ11689
//!@SYMTestCaseDesc Verify that the system cancells the notification after the maximum reporting period
//!@SYMTestPriority High
//!@SYMTestActions 1. Create power session 
//!                2. Set the charging status as 'charger connected' 
//!                3. Start charging current notification 
//!                4. Wait till the maximum reporting period(20 Secs) expires 
//!@SYMTestExpectedResults Check the notification has been stopped after the 20 Secs
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationMaxPeriodReachedL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0024

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0025
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0025
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11693 REQ11700 REQ11692 REQ11689
//!@SYMTestCaseDesc Verify that the system notifies the charging current at the specified multiple interval
//!@SYMTestPriority High
//!@SYMTestActions 1. Create two power sessions 
//!                2. Set the charging status as connected 
//!                3. Start charging current notification for the first session with 5 as multiple factor 
//!                4. Start charging current notification for the second session with 5 as multiple factor 
//!@SYMTestExpectedResults Check the notification has been sent in specified multiple intervals
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationSameIntervalL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0025

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0026
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0026
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11693 REQ11700 REQ11692 REQ11689
//!@SYMTestCaseDesc Verify that the system notifies the charging current at the specified multiple interval
//!@SYMTestPriority High
//!@SYMTestActions 1. Create three power sessions 
//!                2. Set the charging status as connected 
//!                3. Start charging current notification for 12,6 and 4 multiple intervals. 
//!@SYMTestExpectedResults Check the notification has been sent in specified multiple intervals
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationDifferentIntervalL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0026

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0027
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0027
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11692 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the system handles multiple notifications concurrently
//!@SYMTestPriority High
//!@SYMTestActions 1. Create power session 
//!                2. Set the charging status as connected 
//!                3. Start charging current notification with 7 as multiple interval 
//!                4. Start remaining charge notification 
//!                5. Stop both notifications one by one after some time delay 
//!@SYMTestExpectedResults Check both the notifications are being sent to the client
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentandRemainingChargingTimeNotificationL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0027

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0028
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0028
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11692 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify that the system handles multiple notifications concurrently
//!@SYMTestPriority High
//!@SYMTestActions 1. Create power session 
//!                2. Set the charging status as connected 
//!                3. Start charging current notification with 7 as multiple interval 
//!                4. Start remaining charge notification 
//!                5. Start voltage sampling notification with 2 as multiple interval 
//!                6. Stop all notifications one by one after some time delay 
//!@SYMTestExpectedResults Check all the notifications are being sent to the client
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingandVoltageNotificationL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0028

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0029
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0029
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11693 REQ11700 REQ11692 REQ11689
//!@SYMTestCaseDesc Verify that the system queues the measurements and sent it to the client which are slow in processing each notification
//!@SYMTestPriority High
//!@SYMTestActions 1. Create power session 
//!                2. Set the charging status as connected 
//!                3. Register the callback for charging current notification 
//!                4. Introduce a delay of 200 millisec in the callback implementation 
//!                5. Start charging current notification - 6. Stop the notification after some delay 
//!@SYMTestExpectedResults Check the notification receives multiple measurements
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationSlowClientL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0029

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0030
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0030
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11693 REQ11700 REQ11692 REQ11689
//!@SYMTestCaseDesc Verify that the system queues the measurements and sent it to the clients which are slow in processing each notification
//!@SYMTestPriority High
//!@SYMTestActions 1. Create three power sessions 
//!                2. Set the charging status as connected 
//!                3. Register the callbacks for charging current notification 
//!                4. Introduce a delay of 200 millisec in the callback implementation 
//!                5. Start charging current notification for each of the session 
//!                6. Stop the notification one by one after some delay 
//!@SYMTestExpectedResults Check the notification receives multiple measurements
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationSlowClientsL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0030

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0031
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0031
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11691 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify the system returns proper error code for notification request without callback
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a power session
//!                2. Start remaining charging time notification
//!@SYMTestExpectedResults KErrBadHandle error code
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingTimeNotificationWithoutCallbackL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0031

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0032
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0032
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify the system returns proper error code for notification request without callback
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a power session
//!                2. Start charging current notification
//!@SYMTestExpectedResults KErrBadHandle error code
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationWithoutCallbackL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0032

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0033
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0033
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11692 REQ11689 REQ11700
//!@SYMTestCaseDesc Verify if callback pointer is updated if observer setting callback is called twice
//!@SYMTestPriority High
//!@SYMTestActions 1. Create a power session
//!                2. Call the observer set callback twice for charging current
//!                3. Start charging current notification
//!                4. Stop charging current notification
//!                2. Call the observer set callback twice for remaining charging time
//!                3. Start remaining charging time notification
//!                4. Stop remaining charging time notification
//!@SYMTestExpectedResults Check the notification receives multiple measurements and no panic happens.
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerClientSetCallBackL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0033

START_TESTCASE DEVSRVS-HWRM-P-CHRG-0034
//!@SYMTestCaseID DEVSRVS-HWRM-P-CHRG-0034
//!@SYMComponent telephony_hwrm
//!@SYMPREQ PREQ2167
//!@SYMREQ REQ11694 REQ11700 REQ11692 REQ11689
//!@SYMTestCaseDesc Verify that the system cancells the notification after the maximum reporting period for multiple clients
//!@SYMTestPriority High
//!@SYMTestActions 1. Create power sessions
//!                2. Set the charging status as 'charger connected'
//!                3. Start charging current notifications
//!                4. Wait till the maximum reporting period(20 Secs) expires
//!@SYMTestExpectedResults Check the notification has been stopped after the 20 Secs
//!@SYMTestType CT
RUN_TEST_STEP 100 te_hwrm TEFUnit.CHWRMTest.TestPowerChargingCurrentNotificationMaxPeriodReachedMCL
END_TESTCASE DEVSRVS-HWRM-P-CHRG-0034

PRINT Completed te_hwrm_power_ext_charging_info tests