Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Given I am using an RDKE device with RDK App Managers enabled, and no apps are currently loaded
  2. 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}}
  3. Then I validate that an error is returned {"jsonrpc":"2.0","id":1001,"error":{"code":1,"message":"ERROR_GENERAL"}}
  4. And I validate that the app is not launched

activateSystemApp

activateSystemApp - Called for App Not in Active State

Steps

  • No steps found

activateSystemApp - Called for App in Active State

Steps

  • No steps found

activateSystemApp - appId of Type Other Than String

Steps

  • No steps found

activateSystemApp - No appId Passed

Steps

  • No steps found

deactivateSystemApp

activateSystemApp - Called for App in Active State

Steps

  • No steps found

activateSystemApp - appId of Type Other Than String

Steps

  • No steps found

activateSystemApp - Called for App Not in Active State

Steps

  • No steps found

activateSystemApp - No appId Passed

Steps

  • No steps found

hibernateSystemApp

hibernateSystemApp - Called for Loaded App

Steps

  • No steps found

hibernateSystemApp - Called for App That is Not Loaded

Steps

  • No steps found

hibernateSystemApp - No appId Passed

Steps

  • No steps found

hibernateSystemApp - appId of Type Other Than String

Steps

  • No steps found

sendIntent

sendIntent - No Intent Passed

...

  • No steps found

sendIntent -

...

Steps

  • No steps found

sendIntent - Called for App Not in Active State

...

  1. Given I am using an RDKE device with RDK App Managers enabled
  2. 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"}}
  3. Then I validate that a successful response is returned {"jsonrpc":"2.0","id":3,"result":0}
  4. 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":"{}"}}
  5. And I wait for the app to finish launching
  6. And I send a terminateApp call to close the app {"jsonrpc":"2.0","id":"3","method": "org.rdk.AppManager.terminateApp", "params":{"appId": "YouTube"}}
  7. 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"}}
  8. And I validate that the event contains an appId and appInstanceId

stopSystemApp

stopSystemApp - appId of Type Other Than String

Steps

  • No steps found

stopSystemApp - Called for Loaded App

Steps

  • No steps found

stopSystemApp - Called for App That is Not Loaded

Steps

  • No steps found

stopSystemApp - No appId Passed

Steps

  • No steps found

killApp

killApp - No appId Passed

...

  1. Given I am using an RDK-E build with PackageManagerRDKEMS enabled and activated
  2. 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}}
  3. And I note the downloadId that is returned in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1002"}}
  4. 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"}}
  5. And I send a progress call {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.progress","params": {"downloadId": "1002"}}
  6. 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

  • No steps found

install Failed - invalidMetadataFailure

Steps

  • No steps found

install Failed - persistenceFailure

Steps

  • No steps found

install Called Without packageId Param

Steps

  1. Given I am using an RDK-Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
  2. 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"}}
  3. Then I result an error is returned {"jsonrpc":"2.0","id":1001,"error":{"code":1,"message":"ERROR_GENERAL"}}

...

  1. Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
  2. 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}}
  3. 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

...

  1. Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
  2. 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"}}
  3. And I note the downloadId in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1001"}}
  4. 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"}}
  5. 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"} }
  6. 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

  • No steps found

packageState Called While State is UnInstalling

Steps

  1. Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
  2. 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"}}
  3. And I note the downloadId in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1001"}}
  4. 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"}}
  5. And I wait for the app to finish installing
  6. And I send an uninstall call to uninstall the app {"jsonrpc": "2.0","id": 1001,"method": "org.rdk.PackageManagerRDKEMS.uninstall","params": {"packageId":"NetflixApp"}}
  7. 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"} }
  8. Then I validate that a successful response is returned and the result shows "Uninstalling" {"jsonrpc":"2.0","id":1002,"result":"Uninstalling"}

...

  1. Given I am using an RDK-E build which includes PackageManagerRDKEMS & StorageManager and both plugins are activated
  2. 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"}}
  3. And I note the downloadId in the response {"jsonrpc": "2.0","id": 1001,"result": {"downloadid": "1001"}}
  4. 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"}}
  5. And I wait for the app to be installed
  6. 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"} }
  7. 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

...

  1. Given I am using an RDK-E build with StorageManager enabled and activated
  2. When I uninstall an app {"jsonrpc": "2.0","id": 1002, "method": "org.rdk.PackageManagerRDKEMS.uninstall", "params": {"packageId":"uktv"} }
  3. Then I validate that deleteStorage is called 2025-10-01T14:42:35.252Z WPEFramework[3756]: [3770] INFO [StorageManagerImplementation.cpp:160] DeleteStorage: Entered DeleteStorage Implementation
  4. 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
  5. 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

  1. Given I am using an
  2. RDKE device and PreinstallManager is activated
  3. And no version of YouTube is currently installed
  4. And a YouTube widget is on the device at location /opt/preinstall/YouTube/package.wgt
  5. RDK-E build with StorageManager enabled and activated
  6. When I download a widget
  7. When I send a startPreinstall call with forceInstall: false
  8. {"jsonrpc": "2.0","id":
  9. "3"
  10. 1001,"method": "org.rdk.
  11. PreinstallManager
  12. PackageManagerRDKEMS.
  13. startPreinstall
  14. download","params": {"
  15. forceInstall": false}}
  16. Then I validate that the YouTube widget in /opt/preinstall/YouTube is successfully installed

startPreinstall - forceInstall true - App With Older Version Installed

Steps

  1. Given I am using an RDKE device and PreinstallManager is activated
  2. And YouTube is currently installed and has a version less than 100.1.59 url for widget which can be used to fulfill this:
  3. url": "http://content.gb.services.skyq.sky.com/softcat/widgets/
  4. YouTube
  5. uktv/
  6. 3171759197
  7. 3502058284/
  8. 100
  9. 0.8.1.
  10. 17
  11. 2100/package.wgt"}}
  12. 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"} }
  13. 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
  14. 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

  1. Given I am using an RDKE device and PreinstallManager is activated
  2. And no version of YouTube is currently installed
  3. And a YouTube widget is on the device at location /opt/preinstall/YouTube/package.wgt
  4. When I send a startPreinstall call with forceInstall: false {"jsonrpc":"2.0","id":"3","method": "org.rdk.PreinstallManager.startPreinstall", "params":{"forceInstall": false}}
  5. Then I validate that the YouTube widget in /opt/preinstall/YouTube is successfully installed

startPreinstall - forceInstall true - App With Older Version Installed

Steps

  1. Given I am using an RDKE device and PreinstallManager is activated
  2. 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
  3. 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
  4. When I send a startPreinstall call with forceInstall: true {"jsonrpc":"2.0","id":"3","method": "org.rdk.PreinstallManager.startPreinstall", "params":{"forceInstall": true}}
  5. Then I validate that the YouTube widget in /opt/preinstall/YouTube is successfully installed (version 100.1.59+hibernate)

...

  1. Given I am usinig an RDKE device with RDK App Managers enabled, and enableInactivityReporting is currently disabled
  2. When I register for onUserInactivity events {"jsonrpc":"2.0","id":"3","method":"org.rdk.RDKWindowManager.register", "params": {"event":" onUserInactivity ", "id": "client. events .1"}}
  3. And I set the inactivity interval to 1 minute {"jsonrpc":"2.0","id":"3","method": "org.rdk.RDKWindowManager.setInactivityInterval", "params":{"interval":1}}
  4. And I send a enableInactivityReporting call to enable inactivity reporting {"jsonrpc":"2.0","id":"3","method": "org.rdk.RDKWindowManager.enableInactivityReporting", "params":{"enable":true}}
  5. Then I validate that a successful response is returned {"jsonrpc":"2.0","id":3,"result":null}
  6. And I wait 1 minute
  7. And I validate that an onUserInactivity event is emitted

StorageManager,StorageManager

createStorage

createStorage - Called When an App is Installed

Steps

  1. Given I am using an RDK-E build with StorageManager enabled and activated
  2. When I download a widget
  3. {"jsonrpc":"2.0","id":
  4. 1001
  5. "3","method":"org.rdk.
  6. PackageManagerRDKEMS
  7. RDKWindowManager.
  8. download
  9. register", "params": {"
  10. url
  11. event":"
  12. http://content.gb.services.skyq.sky.com/softcat/widgets/uktv/3502058284/0.8.1.2100/package.wgt
  13. onUserInactivity", "id": "client.events.1"}}
  14. And I
  15. install the widget (using the downloadId returned in the download response for the package number in the fileLocator)
  16. set the inactivity interval to 1 minute {"jsonrpc":"2.0","id":
  17. 1001
  18. "3","method": "org.rdk.
  19. PackageManagerRDKEMS
  20. RDKWindowManager.
  21. install
  22. setInactivityInterval", "params":{"
  23. packageId
  24. interval":
  25. "uktv", "version
  26. 1}}
  27. And I send a enableInactivityReporting call to enable inactivity reporting {"jsonrpc":"
  28. 0.8.1.2100
  29. 2.0","
  30. additionalMetadata
  31. id":
  32. [{"name
  33. "3","method": "
  34. test1
  35. org.rdk.RDKWindowManager.enableInactivityReporting", "
  36. value
  37. params":{"
  38. testValue1
  39. enable"
  40. },
  41. :true}}
  42. Then I validate that a successful response is returned {"
  43. name
  44. jsonrpc":"
  45. test2
  46. 2.0","
  47. value
  48. id":
  49. "testValue2"}]
  50. 3,"
  51. fileLocator
  52. result":
  53. "/opt/CDL/package1001"} }
  54. 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
  55. 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
  56. null}
  57. And I wait 1 minute
  58. And I validate that an onUserInactivity event is emitted

...


...