Local testing tool feature comparison
Comparison between features that are supported in the OCP local testing tool and OCP production.
This page compares the features supported by the Optimizely Connect Platform (OCP) local testing tool with those that can only be tested after publishing your app to OCP.
Status
| Status | Meaning |
|---|---|
| Fully supported | Features can be fully tested locally. |
| Partially supported | Features can partially be tested locally. |
| Not supported | Features can be tested only after publishing to OCP. |
Quick reference
| Feature Category | Local Status | Notes |
|---|---|---|
| Settings Forms | Fully supported | Get full parity with App Directory UI |
| Lifecycle Hooks | Partially supported | See details |
| Functions | Fully supported | Send HTTP requests to your functions and observe the outcome |
| Jobs | Fully supported | Trigger your jobs and observe the result |
| Destinations | Fully supported | Send batch requests to your destination |
| Sources | Fully supported | Get complete support |
| Channels | Not supported | No Support |
| Liquid Extensions | Not supported | No Support |
| KVStore | Fully supported | Store and view data |
| Settings Store | Fully supported | Store and view settings |
| Secrets Store | Fully supported | Store and view secrets |
| Jobs API (SDK) | Fully supported | Trigger jobs programmatically |
| Notifications API | Fully supported | Send and evaluate notifications |
| ODP APIs | Not supported | No Support |
| Opal Tools | Partially supported | Test through functions. No native support |
Features with limitations
Lifecycle hooks
| Hook | Status | Notes |
|---|---|---|
onInstall() | Fully supported | |
onUninstall() | Fully supported | |
canUninstall() | Fully supported | |
onUpgrade(fromVersion) | Fully supported | Requires manual version input |
onSettingsForm(section, action, formData) | Fully supported | Requires full form validation |
onFinalizeUpgrade(fromVersion) | Not supported | |
onAfterUpgrade() | Not supported | |
onAuthorizationRequest(section, formData) | Not supported | OAuth flows are not supported |
onAuthorizationGrant(request) | Not supported | OAuth flows are not supported |
Workarounds:
- OAuth testing – Test OAuth logic in isolation using unit tests. Mock the authorization flow responses.
- Upgrade testing – Use
onUpgrade()to test migration logic.onFinalizeUpgradeandonAfterUpgrademust be tested in staging.
Test placement guide
Test locally
Test the following features in the OCP local testing tool:
- Settings forms and App Directory UI
- Function HTTP request/response handling
- Basic lifecycle hooks (install, uninstall, settings forms)
- Job logic and state management
- Destination ready/deliver
- Source webhooks and lifecycle
- All storage operations (KVStore, Settings, Secrets)
- Notifications and logging
Test after publishing to OCP
Test the following features after publishing:
- OAuth flows (
onAuthorizationRequest,onAuthorizationGrant) - Full upgrade lifecycle (
onFinalizeUpgrade,onAfterUpgrade) - Cron-scheduled jobs
- Channel operations (all methods)
- Liquid extensions
- ODP APIs (customers, events, objects, etc.)
- Production-like performance and scaling
Updated about 2 hours ago