Connector Builder submission testing
Any Okta Workflows connector published to the Okta Integration Network must be properly evaluated to meet the rigorous standards expected by Okta customers.
As part of the submission process, third parties must complete a test case document and submit it along with the corresponding test flows for their connector.
Test cases
The test case document explains:
-
All the test scenarios
-
Their intended objectives
-
Any required inputs
-
Expected results
The test cases need to cover both positive and negative scenarios. A negative scenario is a test case where the card fails or returns an error if a required input is missing or the card receives an invalid input.
Test cases should detail the possible combinations of your connector cards and prove that the different options work together.
Example test cases
Test case ID |
Action card |
Title |
Preconditions |
Expected results |
---|---|---|---|---|
TC001 |
Custom API Action |
Create user with password and activation parameter equal to false SHOULD return 200 AND set user "Status" to "STAGED". |
Request Type = POST Relative URL =/api/v1/users Query = False |
User should be created with status = Staged |
TC002 |
Custom API Action |
Activate user with valid user id and the sendEmail parameter equal to false SHOULD return 200 AND set user "Status" to "ACTIVE" |
Request Type = POST Relative URL =/api/v1/users/lifecycle/activate |
User status changed to Active |
TC003 |
Custom API Action |
Search users by user email SHOULD return 200 AND an array of users |
Request Type = GET Relative URL =/api/v1/users |
User list is displayed |
TC004 |
Custom API Action |
Suspend user with valid user id and user status "ACTIVE" SHOULD return 200 |
Request Type = POST Relative URL =/api/v1/users/lifecycle/activate |
User status should be changed to Suspended |
TC005 |
Custom API Action |
Read user with valid user ID SHOULD return 200 AND user info |
Request Type = GET |
User info should be returned |
TC006 |
Custom API Action |
Update user with valid user ID SHOULD return 200 AND user info |
Request Type = GET |
User record is updated |
TC007 |
Custom API Action |
Push group data updates SHOULD return 200 code |
Request Type = PUT |
Group data is updated |
TC008 |
Custom API Action |
Get group info without a leading "/" in the relative URL SHOULD return error |
Request Type = PUT |
Card returns an error |
Test Flows
The OIN team uses the provided test flows to test the functionality of your connector and validate that it works as expected. The team compares the test results to the provided test case document.
Requirements
-
Provide a test flow for each test case.
-
Name each flow with the test case identifier and the name of the action card being tested. For example: TC001 Custom API Action
-
Valid values to all inputs on a card must be provided in the test flow, including both required and non-required values.
-
Each input combination requires a test flow. For example, search cards generally follow a pattern of First Matching Record, First 200 Matching Records, and Stream all Matching Records.
-
Validate all outputs on the card against expected values.
-
Include test flows against invalid inputs, including empty or null values. Use the error handling of the If Error function to capture the error and compare it against the expected error.
Example
This example flow creates a user with a password and an activation parameter set to false. It should return a status code of 200 and set the user status to STAGED. This test case uses the Try and If Error sections of the If Error function card: