Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

Dev GuideAPI Reference
Dev GuideUser GuidesGitHubDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

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

StatusMeaning
Fully supportedFeatures can be fully tested locally.
Partially supportedFeatures can partially be tested locally.
Not supportedFeatures can be tested only after publishing to OCP.

Quick reference

Feature CategoryLocal StatusNotes
Settings FormsFully supportedGet full parity with App Directory UI
Lifecycle HooksPartially supportedSee details
FunctionsFully supportedSend HTTP requests to your functions and observe the outcome
JobsFully supportedTrigger your jobs and observe the result
DestinationsFully supportedSend batch requests to your destination
SourcesFully supportedGet complete support
ChannelsNot supportedNo Support
Liquid ExtensionsNot supportedNo Support
KVStoreFully supportedStore and view data
Settings StoreFully supportedStore and view settings
Secrets StoreFully supportedStore and view secrets
Jobs API (SDK)Fully supportedTrigger jobs programmatically
Notifications APIFully supportedSend and evaluate notifications
ODP APIsNot supportedNo Support
Opal ToolsPartially supportedTest through functions. No native support

Features with limitations

Lifecycle hooks

HookStatusNotes
onInstall()Fully supported
onUninstall()Fully supported
canUninstall()Fully supported
onUpgrade(fromVersion)Fully supportedRequires manual version input
onSettingsForm(section, action, formData)Fully supportedRequires full form validation
onFinalizeUpgrade(fromVersion)Not supported
onAfterUpgrade()Not supported
onAuthorizationRequest(section, formData)Not supportedOAuth flows are not supported
onAuthorizationGrant(request)Not supportedOAuth 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. onFinalizeUpgrade and onAfterUpgrade must 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