> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL. > > Documentation indexes by section: > - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt > - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt > - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt > - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt > > Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth > Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks > > OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json > MCP server: https://docusign.docs.buildwithfern.com/_mcp/server # Test an extension app > Learn how to verify that your extension app has been configured correctly. The [Developer Console](/extension-apps/developer-console-overview) testing tools enable you to verify that your extension app has been configured correctly. These types of test are available: * [Integration tests](/extension-apps/build-an-extension-app/test/integration-tests): Confirm that Docusign can use the values supplied during extension app [registration](/extension-apps/build-an-extension-app/register) to obtain [authorization](/extension-apps/build-an-extension-app/it-infrastructure/authorization), send requests to an external API or [API proxy](/extension-apps/build-an-extension-app/it-infrastructure/api-proxy), and process the responses. * [Functional tests](/extension-apps/build-an-extension-app/test/functional-tests): Confirm that the extension app works as expected when invoked from a Docusign [envelope](/docs/esign-rest-api/esign101/concepts/envelopes) or [workflow](/docs/workflow-builder-api/workflow-builder101/workflows) or from [Agreement Manager](https://support.docusign.com/s/document-item?language=en_US\&bundleId=pqz1702943441912\&topicId=adf1702945446135.html). This type of test enables you to simulate the end user experience for an extension app. * [App Center preview](/extension-apps/build-an-extension-app/test/app-center-preview): Displays extension app details and images so that you can review them. This information will appear in the [Docusign App Center](/extension-apps/extension-apps-101/app-center) after you've [published the extension app](/extension-apps/build-an-extension-app/publish). This feature does not exactly replicate the App Center display, but it enables you to confirm that the extension app details you provided in the extension app manifest have been applied correctly. ## Test prerequisites This table lists prerequisites for each type of test. | Prerequisite | Required for integration tests | Required for functional tests | Required for App Center preview | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | ----------------------------- | ------------------------------- | | [Register an extension app](/extension-apps/build-an-extension-app/register). | Yes | Yes | Yes | | Set up an [API proxy](/extension-apps/build-an-extension-app/it-infrastructure/api-proxy) if necessary. | Yes | Yes | No | | Obtain an account with the [authorization](/extension-apps/build-an-extension-app/it-infrastructure/authorization) provider. You'll need to supply these credentials for testing. The authorization provider is either the external service to which the extension app will send API requests, or an identity provider if you opt to use one for authorization. | Yes | Yes | No | | Execute a successful [connection test](/extension-apps/build-an-extension-app/test/integration-tests#run-a-connection-test) for the extension app. | No | Yes | No | | Execute successful [extension tests](/extension-apps/build-an-extension-app/test/integration-tests#run-an-extension-test) for each of the extension app's extensions. | No | Yes | No | ## Test against different environments While developing an extension app, you may need to test against multiple external service environments, such as a development environment, a test environment, and production. Currently, extension app [registration](/extension-apps/build-an-extension-app/register) supports connection properties for a single external service environment. To switch between environments for testing, you can [update the extension app registration](/extension-apps/build-an-extension-app/test#switch-test-environments-by-updating-the-extension-app-registration) when you want to switch environments, or you can [maintain separate extension app registrations](/extension-apps/build-an-extension-app/test#switch-test-environments-by-using-separate-extension-app-registrations) for each environment. > **Note** > > If you plan to make your extension app publicly available on the [Docusign App Center](/extension-apps/extension-apps-101/app-center), make sure that you have supplied production URLs in your extension app registration before you [submit it for review](/extension-apps/build-an-extension-app/publish). ### Switch test environments by updating the extension app registration If you want to use the same extension app registration for different test environments, complete these steps to switch environments: 1. [Update the extension app registration](/extension-apps/build-an-extension-app/update-registration) and change these environment-specific properties: * Connection settings * If you update these settings using a form, see [Update connection settings](/extension-apps/build-an-extension-app/register/use-form/integration-details#update-connection-settings) for steps to modify the **Client ID**, **Client secret**, and the authorization settings. * If you update these settings using the extension app manifest, see [Use a manifest file to update a registration](/extension-apps/build-an-extension-app/update-registration/use-manifest). You'll need to update `clientId`, `clientSecret`, and authorization settings in the `customConfig` object. See [Connection schema](/extension-apps/extension-app-reference/app-manifest-reference/connection) for details about these properties. * Action and capability settings * If you update these settings using a form, see [Update extension and action settings](/extension-apps/build-an-extension-app/register/use-form/integration-details#update-extension-and-action-settings) for steps to modify the **Params URI** values, which specify the endpoint URLs for each request to the external service. * If you update these settings using the extension app manifest, see [Use a manifest file to update a registration](/extension-apps/build-an-extension-app/update-registration/use-manifest). You'll need to update `params.uri` for each action and capability. See [Action schema](/extension-apps/extension-app-reference/app-manifest-reference/action) for details. 2. After you update the extension app registration, the extension app is automatically reinstalled to your developer account, and you can proceed with running [integration tests](/extension-apps/build-an-extension-app/test/integration-tests) and [functional tests](/extension-apps/build-an-extension-app/test/functional-tests). ### Switch test environments by using separate extension app registrations If you choose to maintain separate extension app registrations for each test environment, Docusign recommends naming each non-production version to reflect the environment with which it's intended to be used. To create an environment-specific copy of an extension app registration: 1. On the [Developer Console](https://devconsole.docusign.com) My Extension Apps page, select **Download Manifest** from the kebab menu of the extension app for which you want to create an environment-specific registration. 2. Edit the downloaded file, and change these environment-specific properties: * Enter a unique value for the `name` property. * Connection settings: Update `clientId`, `clientSecret`, and authorization settings in the `customConfig` object. See [Connection schema](/extension-apps/extension-app-reference/app-manifest-reference/connection) for details about these properties. * Action and capability settings: Update `params.uri` for each action and capability, which specifies the endpoint URL for requests to the external service. See [Action schema](/extension-apps/extension-app-reference/app-manifest-reference/action) for details. 3. Select **Create App** in the upper right corner of the My Extension Apps page, and then select **By editing the manifest**. 4. Under **Have your own manifest?** select the modified manifest file or drag and drop to upload it. 5. Select **Validate** and correct any validation errors. 6. Select **Create App** to save the registration. 7. You can proceed with running [integration tests](/extension-apps/build-an-extension-app/test/integration-tests) and [functional tests](/extension-apps/build-an-extension-app/test/functional-tests) for the new environment-specific registration. ## Next steps * Learn how to run [integration tests](/extension-apps/build-an-extension-app/test/integration-tests). * Find out more about [functional tests](/extension-apps/build-an-extension-app/test/functional-tests). * See how to use the [App Center preview](/extension-apps/build-an-extension-app/test/app-center-preview). > Learn how to verify that your extension app has been configured correctly. ## Docs - [Integration tests](https://developers.docusign.com/extension-apps/build-an-extension-app/test/integration-tests.md): Learn how to verify that an extension app can obtain authorization, send requests to a third-party API, and process the responses. - [Functional tests](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests.md): Learn how to verify that an extension app works as expected when invoked from a Docusign envelope or workflow. - [Connected fields extension envelope test](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/connected-fields-envelope.md): Learn how to set up and execute a functional test that invokes a connected fields extension from an eSignature envelope. - [Data IO extension workflow test](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/data-io-workflow.md): Learn how to test a data IO extension in a workflow. - [Data verification extension envelope test](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/data-verification-envelope.md): Learn how to test a data verification extension in an envelope. - [File input cloud storage extension Agreement Manager test](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/file-input-cloud-storage-agreement-manager.md): Test a file input from cloud storage extension app with Docusign Agreement Manager. - [File output cloud storage extension workflow test](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/file-output-cloud-storage-workflow.md): Learn how to test a file output cloud storage extension from a Maestro workflow. - [File output system of record test: An event triggers the workflow (beta)](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/file-output-system-of-record-event-triggers-workflow.md): Learn how to test a file output system of record extension from a Maestro workflow that that's triggered by an event. - [File output system of record test: Workflow step creates envelopes (beta)](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/file-output-system-of-record-workflow-step-creates-envelopes.md): Learn how to test a file output system of record extension from a Maestro workflow in which envelopes are created by a workflow step. - [File output tabular format extension workflow test](https://developers.docusign.com/extension-apps/build-an-extension-app/test/functional-tests/file-output-tabular-format-workflow.md): Learn how to test a file output tabular format extension from a Maestro workflow. - [App Center preview](https://developers.docusign.com/extension-apps/build-an-extension-app/test/app-center-preview.md): Learn how to check details that will appear when App Center users display your extension app's information.