// 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