With Application Integration, you can create and run multiple test cases on your complex integrations that
connect and manage Google Cloud services and other business applications. By testing your integration flow, you can ensure that your integration is working as intended. You can test your integration using different input variables to identify the faults in the integration flow. For information about how to create test cases, see Create test cases.
Test configurations
Application Integration enables you to add multiple test cases for your integration. For triggers, you can configure the input values in a test case. For tasks, you can update the following test configurations:
Mock strategy type: There are three options that you can set for your task:
No mock: This strategy lets you execute the task.
Mock execution: This strategy lets you mock your task as successfully executed or failed.
Mock output: This strategy lets you mock the output of the task.
Assertion type: You can add multiple assertions for a selected task in a test. There are various assertion types available:
Assert execution: This assertion type lets you check if the task is executed successfully, with failure, or if the task didn't get executed.
Assert parameters: This assertion type lets you select the parameter that you want to assert and provide a value to compare it with.
Assert condition: This assertion type lets you add conditions for the execution of the task. For more information, see Assertion conditions.
Assert conditions
In test configuration for tasks, you can choose to add conditions that must be met for the execution
of the task. The task is run only if the specified conditions are met.
Supported operators
The following table describes the supported operators available for use in asserted conditions.
Operator
Description
Example
=
Checks for equality between two values
$var$ = "value"
!=
Checks for inequality between two values
$var$ != "value"
<
Checks if a value is less than another value
5 < 10
<=
Checks if a value is less than or equal to another value
$var$ <= 5
>
Checks if a value is greater than another value
1 > 0
>=
Checks if a value is greater than or equal to another value
$var$ >= 0
:
Checks if a string contains a substring within it, or checks if a list contains a
specific primitive value.
$longString$ : "substring"
$list of values$ : "value"
AND
Checks two expressions and returns true if both the expressions evaluate to true.
$a$ > $b$ AND $b$ < $c$
OR
Checks two expressions and returns true if any one of the expressions evaluates to true.
$a$ > $b$ OR $b$ < $c$
NOT
Negation operator. Flips the result of an expression.
NOT($var$ = "value")
Supported functions
The following table describes the supported functions available for use in asserted conditions.
Function
Description
exists(VARIABLE)
Checks if a given variable exists
does_not_exist(VARIABLE)
Checks if a given variable does not exist
is_empty(VARIABLE)
Checks if a given variable is a list AND is empty. Supports array variable type except JSON array.
is_not_empty(VARIABLE)
Checks if a given variable is a list AND is not empty. Supports array variable type except JSON array.
Best practices
The following section lists the best practices when specifying conditions:
To reference a variable value, use dollar sign notation ($) before and after the variable name.
For example, if you want to check if a variable productId is greater than 10,
the syntax is $productId$ > 10.
Text without dollar sign notation is interpreted as a literal value. For example the text customerId is interpreted as
a literal value.
To check multiple conditions, split the conditions into individual
checks and combine them using AND or OR. For example, instead of using
$productId$ > 5 AND < 9 ,
use $productId$ > 5 AND $productId$ < 9.
Pricing
There is no additional cost for managing fuctional tests. For more information about pricing, see Application Integration pricing.
Limitations
Test cases are subject to the following limitations:
When you download integrations, the test cases are not downloaded along with the integration. For information about how to download test cases, see Download test cases.
You cannot add assertions for output variables for the integration. As a workaround, you can add assertions on the last task executed for output variables.
You cannot create test cases for published integrations. To create test cases, click Enable Editing. A new version in the DRAFT state is created in the integration for you.
The following figure shows the edit lock in the integration editor.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[[["\u003cp\u003eApplication Integration allows creating and running multiple test cases to validate complex integrations with Google Cloud services and other applications.\u003c/p\u003e\n"],["\u003cp\u003eTest configurations include setting mock strategies (no mock, mock execution, mock output) and various assertion types like assert execution, assert parameters, and assert condition.\u003c/p\u003e\n"],["\u003cp\u003eTask execution in tests can be conditional, based on conditions that use a variety of operators (e.g., \u003ccode\u003e=\u003c/code\u003e, \u003ccode\u003e!=\u003c/code\u003e, \u003ccode\u003e<\u003c/code\u003e, \u003ccode\u003e>\u003c/code\u003e, \u003ccode\u003e:\u003c/code\u003e, \u003ccode\u003eAND\u003c/code\u003e, \u003ccode\u003eOR\u003c/code\u003e, \u003ccode\u003eNOT\u003c/code\u003e) and functions (e.g., \u003ccode\u003eexists\u003c/code\u003e, \u003ccode\u003edoes_not_exist\u003c/code\u003e, \u003ccode\u003eis_empty\u003c/code\u003e, \u003ccode\u003eis_not_empty\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eThere are specific limitations to test cases, such as not being able to add assertions for integration output variables or create test cases for published integrations, and they are not downloaded when downloading the integration.\u003c/p\u003e\n"],["\u003cp\u003eThere is no additional cost for managing functional test for Application Integration.\u003c/p\u003e\n"]]],[],null,["# Introduction to test cases\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nIntroduction to test cases\n==========================\n\n|\n| **Preview\n| --- Test cases**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\n\nWith Application Integration, you can create and run multiple test cases on your complex integrations that\nconnect and manage Google Cloud services and other business applications. By testing your integration flow, you can ensure that your integration is working as intended. You can test your integration using different input variables to identify the faults in the integration flow. For information about how to create test cases, see [Create test cases](/application-integration/docs/create-test-cases).\n\nTest configurations\n-------------------\n\nApplication Integration enables you to add multiple test cases for your integration. For triggers, you can configure the input values in a test case. For tasks, you can update the following test configurations:\n\n- **Mock strategy type:** There are three options that you can set for your task:\n - **No mock:** This strategy lets you execute the task.\n - **Mock execution:** This strategy lets you mock your task as successfully executed or failed.\n - **Mock output:** This strategy lets you mock the output of the task.\n- **Assertion type:** You can add multiple assertions for a selected task in a test. There are various assertion types available:\n - **Assert execution:** This assertion type lets you check if the task is executed successfully, with failure, or if the task didn't get executed.\n - **Assert parameters:** This assertion type lets you select the parameter that you want to assert and provide a value to compare it with.\n - **Assert condition:** This assertion type lets you add conditions for the execution of the task. For more information, see [Assertion conditions](#assertion-conditions).\n\n\u003cbr /\u003e\n\nAssert conditions\n-----------------\n\nIn test configuration for tasks, you can choose to add conditions that must be met for the execution\nof the task. The task is run only if the specified conditions are met.\n\n### Supported operators\n\n\nThe following table describes the supported operators available for use in asserted conditions.\n\n### Supported functions\n\n\nThe following table describes the supported functions available for use in asserted conditions.\n\n### Best practices\n\nThe following section lists the best practices when specifying conditions:\n\n- To reference a variable value, use dollar sign notation (`$`) before and after the variable name. For example, if you want to check if a variable `productId` is greater than 10, the syntax is `$productId$ \u003e 10`.\n- Text without dollar sign notation is interpreted as a literal value. For example the text `customerId` is interpreted as a literal value.\n- To check multiple conditions, split the conditions into individual checks and combine them using **AND** or **OR** . For example, instead of using `$productId$ \u003e 5 AND \u003c 9 `, use ` $productId$ \u003e 5 AND $productId$ \u003c 9`.\n\nPricing\n-------\n\nThere is no additional cost for managing fuctional tests. For more information about pricing, see [Application Integration pricing](/application-integration/pricing).\n\nLimitations\n-----------\n\nTest cases are subject to the following limitations:\n\n- When you download integrations, the test cases are not downloaded along with the integration. For information about how to download test cases, see [Download test cases](/application-integration/docs/upload-download-test-cases).\n- You cannot add assertions for output variables for the integration. As a workaround, you can add assertions on the last task executed for output variables.\n- You cannot create test cases for published integrations. To create test cases, click **Enable Editing** . A new version in the `DRAFT` state is created in the integration for you. The following figure shows the edit lock in the integration editor.\n\n \u003cbr /\u003e\n\n\nWhat's next\n-----------\n\nLearn how to do the following:\n\n- [Create test cases](/application-integration/docs/create-test-cases).\n- [Copy](/application-integration/docs/manage-test-cases#copy) and [delete](/application-integration/docs/manage-test-cases#delete) test cases.\n- [Run a test case](/application-integration/docs/run-test-cases) and [view test case execution logs](/application-integration/docs/integration-execution-logs#view-integration-execution-logs).\n- [Configure test cases](/application-integration/docs/configure-test-cases).\n- [Upload and download test cases](/application-integration/docs/upload-download-test-cases)."]]