...
- Source:
tests_selected_filtered_2_27_2026_11_30_06_AM.xlsx - Generated: 2026-02-27 12:14:49
AppManager
clearAppData
clearAppData - Called for Loaded App
...
- Given I am using an RDKE device with RDK App Managers enabled, and no apps are currently loaded
- When I call startSystemApp with an appId of type other than string {"jsonrpc":"2.0","id":"3","method": "org.rdk.AppManager.startSystemApp", "params":{"appId": YouTube}}
- Then I validate that an error is returned {"jsonrpc":"2.0","id":1001,"error":{"code":1,"message":"ERROR_GENERAL"}}
- And I validate that the app is not launched
activateSystemApp
activateSystemApp - Called for App Not in Active State
Steps
activateSystemApp - Called for App in Active State
Steps
activateSystemApp - appId of Type Other Than String
Steps
activateSystemApp - No appId Passed
Steps
deactivateSystemApp
activateSystemApp - Called for App in Active State
Steps
activateSystemApp - appId of Type Other Than String
Steps
activateSystemApp - Called for App Not in Active State
Steps
...
activateSystemApp - No appId Passed
Steps
hibernateSystemApp
hibernateSystemApp - Called for Loaded App
Steps
hibernateSystemApp - Called for App That is Not Loaded
Steps
hibernateSystemApp - No appId Passed
Steps
hibernateSystemApp - appId of Type Other Than String
Steps
sendIntent
sendIntent -
...
Steps
sendIntent - No appId Passed
Steps
sendIntent - Called for App Not in Active State
...
- Given I am using an RDKE device with RDK App Managers enabled
- When I send a call to register for onAppUnloaded events {"jsonrpc":"2.0","id":"3","method":"org.rdk.AppManager.register", "params": {"event":"onAppUnloaded", "id": "client.events.1"}}
- Then I validate that a successful response is returned {"jsonrpc":"2.0","id":3,"result":0}
- And I launch an installed app {"jsonrpc":"2.0","id":"3","method": "org.rdk.AppManager.launchApp", "params":{"appId": "YouTube", "intent": "{"action":"launch","context":{"source":"voice"}}", "launchArgs":"{}"}}
- And I wait for the app to finish launching
- And I send a terminateApp call to close the app {"jsonrpc":"2.0","id":"3","method": "org.rdk.AppManager.terminateApp", "params":{"appId": "YouTube"}}
- And I validate that an onAppUnloaded event is emitted {"jsonrpc":"2.0","method":"client.events.1.onAppUnloaded","params":{"appId":"YouTube","appInstanceId":"a76fedf1-12a2-4012-9209-279af27bbddb"}}
- And I validate that the event contains an appId and appInstanceId
...
stopSystemApp - appId of Type Other Than String
Steps
stopSystemApp - Called for Loaded App
Steps
stopSystemApp - Called for App That is Not Loaded
Steps
stopSystemApp - No appId Passed
Steps
killApp
killApp - No appId Passed
...
- Given I am using an RDK-E build with PackageManagerRDKEMS enabled and activated
- When I send a download call {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.download","params": {"url": "http://content.gb.services.skyq.sky.com/softcat/widgets/NetflixApp/3093804962/2.2.7.53/package.wgt","rateLimit": 1000000}}
- And I note the downloadId that is returned in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1002"}}
- And I send a pause call to PackageManagerRDKEMS to pause the in-progress download, passing the downloadId returned in the previous step {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.pause","params": {"downloadId": "1002"}}
- And I send a progress call {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.progress","params": {"downloadId": "1002"}}
- And I validate that the response contains the current progress of the download as a value of a "progress" field {"jsonrpc":"2.0","id":1001,"result":{"progress":37}}
install
install
...
Called Without packageId Param
Steps
- Given I am
Steps
install Failed - invalidMetadataFailure
Steps
install Failed - persistenceFailure
Steps
install Called Without packageId Param
Steps
- Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
- When I send a install call without a packageId param {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.install","params": {"version":"2.2.7.53", "additionalMetadata":[{"name":"test1","value":"testValue1"},{"name":"test2","value":"testValue2"}],"fileLocator":"/opt/CDL/package1001"}}
- Then I result an error is returned {"jsonrpc":"2.0","id":1001,"error":{"code":1,"message":"ERROR_GENERAL"}}
...
- Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
- When I send a install call with a fileLocator param of type other than String {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.install","params": {"packageId":"NetflixApp", "version":"2.2.7.53", "additionalMetadata":[{"name":"test1","value":"testValue1"},{"name":"test2","value":"testValue2"}],"fileLocator":/opt/CDL/package1001}}
- Then I result an error is returned {"jsonrpc":"2.0","id":1001,"error":{"code":1,"message":"ERROR_GENERAL"}}
install Failed - signatureVerificationFailure
Steps
...
install Called With version Param of Type Other Than String
...
- Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
- When I send a download call to download a widget {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.download","params": {"url": "http://content.gb.services.skyq.sky.com/softcat/widgets/NetflixApp/3093804962/2.2.7.53/package.wgt"}}
- And I note the downloadId in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1001"}}
- And I send an install call to install the app {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.install","params": {"packageId":"NetflixApp", "version":"2.2.7.53", "additionalMetadata":[{"name":"test1","value":"testValue1"},{"name":"test2","value":"testValue2"}],"fileLocator":"/opt/CDL/package1001.wgt"}}
- And I send a packageState call while the app is still installing {"jsonrpc": "2.0","id": 1002, "method": "org.rdk.PackageManagerRDKEMS.packageState", "params": {"packageId":"NetflixApp", "version": "2.2.7.53"} }
- Then I validate that a successful response is returned and the result shows "Installing" {"jsonrpc":"2.0","id":1002,"result":"Installing"}
packageState Called While State is
...
Steps
packageState Called While State is UnInstalling
Steps
- Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
- When I send a download call to download a widget {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.download","params": {"url": "http://content.gb.services.skyq.sky.com/softcat/widgets/NetflixApp/3093804962/2.2.7.53/package.wgt"}}
- And I note the downloadId in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1001"}}
- And I send an install call to install the app {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.install","params": {"packageId":"NetflixApp", "version":"2.2.7.53", "additionalMetadata":[{"name":"test1","value":"testValue1"},{"name":"test2","value":"testValue2"}],"fileLocator":"/opt/CDL/package1001.wgt"}}
- And I wait for the app to finish installing
- And I send an uninstall call to uninstall the app {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.uninstall","params": {"packageId":"NetflixApp"}}
- And I send a packageState call while the app is still uninstalling {"jsonrpc": "2.0","id": 1002, "method": "org.rdk.PackageManagerRDKEMS.packageState", "params": {"packageId":"NetflixApp", "version": "2.2.7.53"} }
- Then I validate that a successful response is returned and the result shows "Uninstalling" {"jsonrpc":"2.0","id":1002,"result":"Uninstalling"}
...
- Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
- When I send a download call to download a widget {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.download","params": {"url": "http://content.gb.services.skyq.sky.com/softcat/widgets/NetflixApp/3093804962/2.2.7.53/package.wgt"}}
- And I note the downloadId in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1001"}}
- And I send an install call to install the app {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.install","params": {"packageId":"NetflixApp", "version":"2.2.7.53", "additionalMetadata":[{"name":"test1","value":"testValue1"},{"name":"test2","value":"testValue2"}],"fileLocator":"/opt/CDL/package1001.wgt"}}
- And I wait for the app to be installed
- And I send a config call with "packageId":"NetflixApp" & "version": "2.2.7.53" {"jsonrpc": "2.0","id": 1002, "method": "org.rdk.PackageManagerRDKEMS.config", "params": {"packageId":"NetflixApp", "version": "2.2.7.53"} }
- Then I validate that a successful response is returned and the result is a configObject {"jsonrpc":"2.0","id":1002,"result":{"dial":false,"wanLanAccess":false,"thunder":false,"systemMemoryLimit":0,"gpuMemoryLimit":0,"envVars":"","userId":0,"groupId":0,"dataImageSize":0,"resourceManagerClientEnabled":false,"dialId":"","command":"","appType":0,"appPath":"","runtimePath":"","fireboltVersion":"","enableDebugger":false}}
onAppInstallationStatus
onAppInstallationStatus Emitted When State Changes to uninstallFailure
Steps
...
onAppInstallationStatus Emitted When State Changes to Installed
...
curl -H "Authorization: Bearer WPEFrameworkSecurityUtility | cut -d '"' -f 4" --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.AppManager.launchApp", "params":{"appId": "YouTube", "intent": "start", "launchArgs":"{}"}}' http://127.0.0.1:9998/jsonrpc 5. And to verify use DobbyTool list whether state is in paused state or running state 6. And In suspended state App should be in paused state, will get the response when app is in suspendable state 7. And Container should be in Paused state
| 439 | com.sky.as.apps713d8b02-35ff-4579-a03b-a09c2e98822d | paused |
Suspend - Interactive App launched to Suspend (Preload app)
...
curl -H "Authorization: Bearer WPEFrameworkSecurityUtility | cut -d '"' -f 4" --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0","id":"3","method": "org.rdk.AppManager.preloadApp", "params":{"appId": "YouTube", "launchArgs": "{}"}}' http://127.0.0.1:9998/jsonrpc 5. And to verify use DobbyTool list whether state is in paused state or running state 6. And In suspended state App should be in paused state, will get the response when app is in suspendable state 7. And Container should be in Paused state
| 439 | com.sky.as.apps713d8b02-35ff-4579-a03b-a09c2e98822d | paused |
resume
resume - Resume Suspended Interactive Launched App
...
- Given I am using an RDK-E build with StorageManager enabled and activated
- When I uninstall an app {"jsonrpc": "2.0","id": 1002, "method": "org.rdk.PackageManagerRDKEMS.uninstall", "params": {"packageId":"uktv"} }
- Then I validate that deleteStorage is called 2025-10-01T14:42:35.252Z WPEFramework[3756]: [3770] INFO [StorageManagerImplementation.cpp:160] DeleteStorage: Entered DeleteStorage Implementation
- And I validate that deleteStorage is successful 2025-10-01T14:42:35.265Z WPEFramework[3756]: [3770] INFO [StorageManagerImplementation.cpp:174] DeleteStorage: Storage deleted successfully for appId: uktv
- And I validate that the uktv app storage folder was deleted ls /opt/persistent/storageManager/uktv ls: /opt/persistent/storageManager/uktv: No such file or directory
...
createStorage
startPreinstall
...
createStorage - Called When an App is Installed
Steps
- Given I am using an
RDKE device and PreinstallManager is activated- And no version of YouTube is currently installed
- And a YouTube widget is on the device at location /opt/preinstall/YouTube/package.wgt
- RDK-E build with StorageManager enabled and activated
- When I download a widget
When I send a startPreinstall call with forceInstall: false - {"jsonrpc": "2.0","id":
"3"- 1001,"method": "org.rdk.
PreinstallManager- PackageManagerRDKEMS.
startPreinstall- download","params": {"
forceInstall": false}}- Then I validate that the YouTube widget in /opt/preinstall/YouTube is successfully installed
startPreinstall - forceInstall true - App With Older Version Installed
Steps
- Given I am using an RDKE device and PreinstallManager is activated
And YouTube is currently installed and has a version less than 100.1.59 url for widget which can be used to fulfill this: - url": "http://content.gb.services.skyq.sky.com/softcat/widgets/
YouTube- uktv/
3171759197- 3502058284/
100- 0.8.1.
17- 2100/package.wgt"}}
- And I install the widget (using the downloadId returned in the download response for the package number in the fileLocator) {"jsonrpc": "2.0","id": 1001, "method": "org.rdk.PackageManagerRDKEMS.install", "params": {"packageId":"uktv", "version":"0.8.1.2100", "additionalMetadata":[{"name":"test1","value":"testValue1"},{"name":"test2","value":"testValue2"}],"fileLocator":"/opt/CDL/package1001"} }
- Then I validate using logs in /opt/logs/wpeframework.log that a createStorage call was made 2025-10-01T14:21:35.022Z WPEFramework[3756]: [3771] INFO [StorageManagerImplementation.cpp:113] CreateStorage: Entered CreateStorage Implementation appId: uktv
- And I validate that createStorage was successful 2025-10-01T14:21:35.022Z WPEFramework[3756]: [3771] INFO [StorageManagerImplementation.cpp:127] CreateStorage: Storage created successfully for appId: uktv
...
PreinstallManager
startPreinstall
startPreinstall - forceInstall false - App not currently installed
Steps
- Given I am using an RDKE device and PreinstallManager is activated
- And no version of YouTube is currently installed
- And a YouTube widget is on the device at location /opt/preinstall/YouTube/package.wgt
- When I send a startPreinstall call with forceInstall: false {"jsonrpc":"2.0","id":"3","method": "org.rdk.PreinstallManager.startPreinstall", "params":{"forceInstall": false}}
- Then I validate that the YouTube widget in /opt/preinstall/YouTube is successfully installed
startPreinstall - forceInstall true - App With Older Version Installed
Steps
- Given I am using an RDKE device and PreinstallManager is activated
- And YouTube is currently installed and has a version less than 100.1.59 url for widget which can be used to fulfill this: http://content.gb.services.skyq.sky.com/softcat/widgets/YouTube/3171759197/100.1.17/package.wgt
- And a YouTube version 100.1.59 widget is on the device at location /opt/preinstall/YouTube/package.wgt url for widget a YouTube version 100.1.59 widget is on the device at location /opt/preinstall/YouTube/package.wgt url for widget which can be used to fulfill this: http://content.gb.services.skyq.sky.com/softcat/widgets/YouTube/1478162808/100.1.59+hibernate/package.wgt
- When I send a startPreinstall call with forceInstall: true {"jsonrpc":"2.0","id":"3","method": "org.rdk.PreinstallManager.startPreinstall", "params":{"forceInstall": true}}
- Then I validate that the YouTube widget in /opt/preinstall/YouTube is successfully installed (version 100.1.59+hibernate)
...
- Given I am usinig an RDKE device with RDK App Managers enabled, and enableInactivityReporting is currently disabled
- When I register for onUserInactivity events {"jsonrpc":"2.0","id":"3","method":"org.rdk.RDKWindowManager.register", "params": {"event":" onUserInactivity ", "id": "client. events .1"}}
- And I set the inactivity interval to 1 minute {"jsonrpc":"2.0","id":"3","method": "org.rdk.RDKWindowManager.setInactivityInterval", "params":{"interval":1}}
- And I send a enableInactivityReporting call to enable inactivity reporting {"jsonrpc":"2.0","id":"3","method": "org.rdk.RDKWindowManager.enableInactivityReporting", "params":{"enable":true}}
- Then I validate that a successful response is returned {"jsonrpc":"2.0","id":3,"result":null}
- And I wait 1 minute
- And I validate that an onUserInactivity event is emitted
StorageManager,StorageManager
createStorage
createStorage - Called When an App is Installed
Steps
- Given I am using an RDK-E build with StorageManager enabled and activated
When I download a widget - {"jsonrpc":"2.0","id":
1001- "3","method":"org.rdk.
PackageManagerRDKEMS- RDKWindowManager.
download- register", "params": {"
url- event":"
http://content.gb.services.skyq.sky.com/softcat/widgets/uktv/3502058284/0.8.1.2100/package.wgt- onUserInactivity", "id": "client.events.1"}}
- And I
install the widget (using the downloadId returned in the download response for the package number in the fileLocator) - set the inactivity interval to 1 minute {"jsonrpc":"2.0","id":
1001- "3","method": "org.rdk.
PackageManagerRDKEMS- RDKWindowManager.
install- setInactivityInterval", "params":{"
packageId- interval":
"uktv", "version- 1}}
- And I send a enableInactivityReporting call to enable inactivity reporting {"jsonrpc":"
0.8.1.2100- 2.0","
additionalMetadata- id":
[{"name- "3","method": "
test1- org.rdk.RDKWindowManager.enableInactivityReporting", "
value- params":{"
testValue1- enable"
},- :true}}
- Then I validate that a successful response is returned {"
name- jsonrpc":"
test2- 2.0","
value- id":
"testValue2"}]- 3,"
fileLocator- result":
"/opt/CDL/package1001"} }- Then I validate using logs in /opt/logs/wpeframework.log that a createStorage call was made 2025-10-01T14:21:35.022Z WPEFramework[3756]: [3771] INFO [StorageManagerImplementation.cpp:113] CreateStorage: Entered CreateStorage Implementation appId: uktv
And I validate that createStorage was successful 2025-10-01T14:21:35.022Z WPEFramework[3756]: [3771] INFO [StorageManagerImplementation.cpp:127] CreateStorage: Storage created successfully for appId: uktv- null}
- And I wait 1 minute
- And I validate that an onUserInactivity event is emitted
...
...