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 | View source schemas, emit to source via Functions/Jobs |
| Channels | Not supported | No Support |
| Liquid Extensions | Not supported | No Support |
| KV Store | 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 | Fully supported | Send requests to ODP |
| Opal Tools | Fully supported | Send HTTP requests to your Opal Tools |
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 and response handling
- Opal Tools request and response handling
- Basic lifecycle hooks like install, uninstall, or settings forms
- Job logic and state management
- Destination ready or deliver
- View source schema definitions
- All storage operations like KV Store, Settings, Secrets
- Notifications and logging
Test after publishing to OCP
Test the following features after publishing:
- OAuth flows (
onAuthorizationRequestandonAuthorizationGrant) - Full upgrade lifecycle (
onFinalizeUpgradeandonAfterUpgrade) - Cron-scheduled jobs
- Channel operations (all methods)
- Liquid extensions
- Production-like performance and scaling
Updated 17 days ago
