--- /dev/null
+openapi: 3.0.1\r
+info:\r
+ title: Open Test Framework API\r
+ description: A RESTful API used to communicate with the OTF test control unit.\r
+ contact:\r
+ name: OTF\r
+ url: https://localhost:32524\r
+ version: "1.0"\r
+tags:\r
+- name: Health Service\r
+ description: Query the availability of the API\r
+- name: Test Execution Service\r
+ description: Query the status and history of your test executions\r
+- name: Test Instance Service\r
+ description: Create, execute,and query test instances\r
+- name: Test Strategy Service\r
+ description: Deploy and delete test strategies to and from the test control unit.\r
+ (This documentation will only be available to the development team)\r
+paths:\r
+ /otf/api/health/v1:\r
+ get:\r
+ tags:\r
+ - Health Service\r
+ summary: Checks if the test control unit is available\r
+ operationId: getHealth_1\r
+ responses:\r
+ 200:\r
+ description: The test control unit is available\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/OtfApiResponse'\r
+ /otf/api/testExecution/v1/executionId/{executionId}:\r
+ get:\r
+ tags:\r
+ - Test Execution Service\r
+ operationId: getExecutionStatus_1\r
+ parameters:\r
+ - name: executionId\r
+ in: path\r
+ required: true\r
+ schema:\r
+ type: string\r
+ - name: Authorization\r
+ in: header\r
+ schema:\r
+ type: string\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+ /otf/api/testInstance/execute/v1/id/{testInstanceId}:\r
+ post:\r
+ tags:\r
+ - Test Instance Service\r
+ summary: Executes a test instance by it's unique identifier\r
+ operationId: execute_1\r
+ parameters:\r
+ - name: testInstanceId\r
+ in: path\r
+ description: A string representation of a BSON ObjectId\r
+ required: true\r
+ schema:\r
+ type: string\r
+ description: The UUID of the test instance\r
+ format: uuid\r
+ example: 12345678912345678912345f\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ requestBody:\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/ExecuteTestInstanceRequest'\r
+ responses:\r
+ 200:\r
+ description: A successful synchronously executed test returns a test execution\r
+ object\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestExecutionResult'\r
+ 201:\r
+ description: |-\r
+ A successful asynchronously executed test with asyncMode set to 'poll' returns an execution identifier\r
+ The identifier can be used as a parameter to the Test Execution Service to check the status of the executed test\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestExecutionResult'\r
+ 401:\r
+ description: The mechanized identifier used with the request is prohibited\r
+ from accessing the resource.\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/OtfApiResponse'\r
+ /otf/api/testInstance/v1/id/{id}:\r
+ get:\r
+ tags:\r
+ - Test Instance Service\r
+ operationId: findById_1\r
+ parameters:\r
+ - name: id\r
+ in: path\r
+ description: A string representation of a BSON ObjectId\r
+ required: true\r
+ schema:\r
+ type: string\r
+ description: The UUID of the test instance\r
+ format: uuid\r
+ example: 12345678912345678912345f\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+ /otf/api/testInstance/create/v1/testDefinitionId/{testDefinitionId}/version/{version}:\r
+ post:\r
+ tags:\r
+ - Test Instance Service\r
+ summary: Create a test instance using the specified version of the test definition\r
+ operationId: createByTestDefinitionIdAndVersion_1\r
+ parameters:\r
+ - name: testDefinitionId\r
+ in: path\r
+ description: A string representation of a BSON ObjectId\r
+ required: true\r
+ schema:\r
+ type: string\r
+ description: The UUID of the test definition.\r
+ format: uuid\r
+ example: 12345678912345678912345f\r
+ - name: version\r
+ in: path\r
+ description: The version of the test definition used to create the instance\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: 2\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ - name: execute\r
+ in: query\r
+ description: Execute the test instance after it is created\r
+ allowEmptyValue: true\r
+ schema:\r
+ type: boolean\r
+ example: true\r
+ requestBody:\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/CreateTestInstanceRequest'\r
+ responses:\r
+ 201:\r
+ description: The created Test Instance object is returned when it is created\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestInstance'\r
+ /otf/api/testInstance/v1/testInstanceName/{testInstanceName}:\r
+ get:\r
+ tags:\r
+ - Test Instance Service\r
+ summary: Finds a test instance by it's name\r
+ operationId: findByTestInstanceName_1\r
+ parameters:\r
+ - name: testInstanceName\r
+ in: path\r
+ description: The name of the test instance to retrieve\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: myTestInstance\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ responses:\r
+ 200:\r
+ description: A test instance object is returned when if it is found\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestInstance'\r
+ /otf/api/testInstance/v1/processDefinitionKey/{processDefinitionKey}:\r
+ get:\r
+ tags:\r
+ - Test Instance Service\r
+ operationId: findByProcessDefKey_1\r
+ parameters:\r
+ - name: processDefinitionKey\r
+ in: path\r
+ description: The process definition key associated with the test definition\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: someUniqueProcessDefinitionKey\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+ /otf/api/testInstance/create/v1/testDefinitionId/{testDefinitionId}:\r
+ post:\r
+ tags:\r
+ - Test Instance Service\r
+ summary: Create a test instance using the latest version of the test definition\r
+ operationId: createByTestDefinitionId_1\r
+ parameters:\r
+ - name: testDefinitionId\r
+ in: path\r
+ description: A string representation of a BSON ObjectId\r
+ required: true\r
+ schema:\r
+ type: string\r
+ description: The UUID of the test definition\r
+ format: uuid\r
+ example: 12345678912345678912345f\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ - name: execute\r
+ in: query\r
+ description: Execute the test instance after it is created\r
+ allowEmptyValue: true\r
+ schema:\r
+ type: boolean\r
+ example: true\r
+ requestBody:\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/CreateTestInstanceRequest'\r
+ responses:\r
+ 201:\r
+ description: The created Test Instance object is returned when it is created\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestInstance'\r
+ /otf/api/testInstance/v1/processDefinitionKey/{processDefinitionKey}/version/{version}:\r
+ get:\r
+ tags:\r
+ - Test Instance Service\r
+ operationId: findByProcessDefKeyAndVersion_1\r
+ parameters:\r
+ - name: processDefinitionKey\r
+ in: path\r
+ description: The process definition key associated with the test definition\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: someUniqueProcessDefinitionKey\r
+ - name: version\r
+ in: path\r
+ description: The version of the test definition used to create the instance\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: 2\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+ /otf/api/testInstance/create/v1/processDefinitionKey/{processDefinitionKey}/version/{version}:\r
+ post:\r
+ tags:\r
+ - Test Instance Service\r
+ summary: Create a test instance using the specified version of the test definition\r
+ operationId: createByProcessDefKeyAndVersion_1\r
+ parameters:\r
+ - name: processDefinitionKey\r
+ in: path\r
+ description: The process definition key associated with the test definition\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: someUniqueProcessDefinitionKey\r
+ - name: version\r
+ in: path\r
+ description: The version of the test definition used to create the instance\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: 2\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ - name: execute\r
+ in: query\r
+ description: Execute the test instance after it is created\r
+ allowEmptyValue: true\r
+ schema:\r
+ type: boolean\r
+ example: true\r
+ requestBody:\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/CreateTestInstanceRequest'\r
+ responses:\r
+ 201:\r
+ description: The created Test Instance object is returned when it is created\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestInstance'\r
+ /otf/api/testInstance/create/v1/processDefinitionKey/{processDefinitionKey}:\r
+ post:\r
+ tags:\r
+ - Test Instance Service\r
+ summary: Create a test instance using the latest version of the test definition\r
+ operationId: createByProcessDefKey_1\r
+ parameters:\r
+ - name: processDefinitionKey\r
+ in: path\r
+ description: The process definition key associated with the test definition\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: someUniqueProcessDefinitionKey\r
+ - name: Authorization\r
+ in: header\r
+ description: Base64 encoded Application Authorization Framework credentials\r
+ required: true\r
+ schema:\r
+ type: string\r
+ example: Basic b3RmQGF0dC5jb206cGFzc3dvcmQxMjM=\r
+ - name: execute\r
+ in: query\r
+ description: Execute the test instance after it is created\r
+ allowEmptyValue: true\r
+ schema:\r
+ type: boolean\r
+ example: true\r
+ requestBody:\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/CreateTestInstanceRequest'\r
+ responses:\r
+ 201:\r
+ description: The created Test Instance object is returned when it is created\r
+ content:\r
+ application/json:\r
+ schema:\r
+ $ref: '#/components/schemas/TestInstance'\r
+ /otf/api/testStrategy/delete/v1/deploymentId/{deploymentId}:\r
+ delete:\r
+ tags:\r
+ - Test Strategy Service\r
+ operationId: deleteByDeploymentId_1\r
+ parameters:\r
+ - name: deploymentId\r
+ in: path\r
+ required: true\r
+ schema:\r
+ type: string\r
+ - name: authorization\r
+ in: header\r
+ schema:\r
+ type: string\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+ /otf/api/testStrategy/delete/v1/testDefinitionId/{testDefinitionId}:\r
+ delete:\r
+ tags:\r
+ - Test Strategy Service\r
+ operationId: deleteByTestDefinitionId_1\r
+ parameters:\r
+ - name: testDefinitionId\r
+ in: path\r
+ required: true\r
+ schema:\r
+ type: string\r
+ - name: authorization\r
+ in: header\r
+ schema:\r
+ type: string\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+ /otf/api/testStrategy/deploy/v1:\r
+ post:\r
+ tags:\r
+ - Test Strategy Service\r
+ operationId: deployTestStrategy_1\r
+ parameters:\r
+ - name: Authorization\r
+ in: header\r
+ schema:\r
+ type: string\r
+ requestBody:\r
+ content:\r
+ multipart/form-data:\r
+ schema:\r
+ type: object\r
+ properties:\r
+ bpmn:\r
+ type: object\r
+ resources:\r
+ type: object\r
+ testDefinitionId:\r
+ type: string\r
+ testDefinitionDeployerId:\r
+ type: string\r
+ definitionId:\r
+ type: string\r
+ responses:\r
+ default:\r
+ description: default response\r
+ content:\r
+ application/json: {}\r
+components:\r
+ schemas:\r
+ ApiResponse:\r
+ type: object\r
+ properties:\r
+ code:\r
+ type: integer\r
+ format: int32\r
+ date:\r
+ type: string\r
+ format: date-time\r
+ message:\r
+ type: string\r
+ JSONObject:\r
+ type: object\r
+ ObjectId:\r
+ type: object\r
+ properties:\r
+ timestamp:\r
+ type: integer\r
+ format: int32\r
+ machineIdentifier:\r
+ type: integer\r
+ format: int32\r
+ processIdentifier:\r
+ type: integer\r
+ format: int32\r
+ counter:\r
+ type: integer\r
+ format: int32\r
+ time:\r
+ type: integer\r
+ format: int64\r
+ date:\r
+ type: string\r
+ format: date-time\r
+ timeSecond:\r
+ type: integer\r
+ format: int32\r
+ TestExecution:\r
+ type: object\r
+ properties:\r
+ get_id:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ executionId:\r
+ type: string\r
+ testResult:\r
+ type: string\r
+ testDetails:\r
+ type: object\r
+ additionalProperties:\r
+ type: object\r
+ startTime:\r
+ type: string\r
+ format: date-time\r
+ endTime:\r
+ type: string\r
+ format: date-time\r
+ async:\r
+ type: boolean\r
+ asyncTopic:\r
+ type: string\r
+ asyncMode:\r
+ type: string\r
+ executor:\r
+ type: string\r
+ groupId:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ testInstanceId:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ testInstance:\r
+ type: object\r
+ additionalProperties:\r
+ type: object\r
+ testHeadResults:\r
+ type: array\r
+ items:\r
+ $ref: '#/components/schemas/TestHeadResult'\r
+ testDetailsJSON:\r
+ type: string\r
+ testInstanceJSON:\r
+ type: string\r
+ TestExecutionResult:\r
+ type: object\r
+ properties:\r
+ testExecution:\r
+ $ref: '#/components/schemas/TestExecution'\r
+ executionId:\r
+ type: string\r
+ testCompleted:\r
+ type: boolean\r
+ testExists:\r
+ type: boolean\r
+ TestHeadResult:\r
+ type: object\r
+ properties:\r
+ testHeadId:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ testHeadName:\r
+ type: string\r
+ bpmnVthTaskId:\r
+ type: string\r
+ testHeadResponse:\r
+ type: object\r
+ additionalProperties:\r
+ type: object\r
+ startTime:\r
+ type: string\r
+ format: date-time\r
+ endTime:\r
+ type: string\r
+ format: date-time\r
+ testHeadResponseJSON:\r
+ $ref: '#/components/schemas/JSONObject'\r
+ ExecuteTestInstanceRequest:\r
+ type: object\r
+ properties:\r
+ async:\r
+ type: boolean\r
+ writeOnly: true\r
+ asyncTopic:\r
+ title: Execute the test synchronously or asynchronously..\r
+ type: string\r
+ description: Ignored unless async is true, and asyncMode is DMaaP.\r
+ example: MyDMaaPTopic.\r
+ asyncMode:\r
+ title: Set the asynchronous execution mode.\r
+ type: string\r
+ description: Ignored unless async is true. The poll mode will return an\r
+ executionId that can be used to query the result of the executed test.\r
+ DMaaP is currently unsupported.\r
+ example: POLL\r
+ enum:\r
+ - POLL\r
+ - DMAAP\r
+ testData:\r
+ title: Use an existing test instance with different global test data.\r
+ type: object\r
+ description: Overrides (not overwrites) the testData field for the requested\r
+ execution. The overridden data will be preserved in the test execution\r
+ result.\r
+ example:\r
+ globalVar1: I'm available to your workflow!\r
+ globalVar2:\r
+ me: too\r
+ vthInput:\r
+ title: Use an existing test instance with different inputs to your VTHs.\r
+ type: object\r
+ description: Overrides (not overwrites) the vthInput field for the requested\r
+ execution. The overridden data will be preserved in the test execution\r
+ result.\r
+ example:\r
+ ServiceTask_123:\r
+ vthArg1: An argument your VTH expects.\r
+ vthArg2: {}\r
+ ServiceTask_456:\r
+ vthArg1: An argument your VTH expects.\r
+ description: The model2 for a test instance execution request.\r
+ TestInstance:\r
+ type: object\r
+ properties:\r
+ get_id:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ testInstanceName:\r
+ type: string\r
+ testInstanceDescription:\r
+ type: string\r
+ groupId:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ testDefinitionId:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ processDefinitionId:\r
+ type: string\r
+ useLatestTestDefinition:\r
+ type: boolean\r
+ testData:\r
+ type: object\r
+ additionalProperties:\r
+ type: object\r
+ vthInput:\r
+ type: object\r
+ additionalProperties:\r
+ type: object\r
+ internalTestData:\r
+ type: object\r
+ additionalProperties:\r
+ type: object\r
+ createdAt:\r
+ type: string\r
+ format: date-time\r
+ updatedAt:\r
+ type: string\r
+ format: date-time\r
+ createdBy:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ updatedBy:\r
+ $ref: '#/components/schemas/ObjectId'\r
+ vthInputJSON:\r
+ $ref: '#/components/schemas/JSONObject'\r
+ testDataJSON:\r
+ $ref: '#/components/schemas/JSONObject'\r
+ internalTestDataJSON:\r
+ $ref: '#/components/schemas/JSONObject'\r
+ CreateTestInstanceRequest:\r
+ required:\r
+ - testData\r
+ - testInstanceDescription\r
+ - testInstanceName\r
+ type: object\r
+ properties:\r
+ testInstanceName:\r
+ title: Name the test instance\r
+ type: string\r
+ description: The name must be unique among all test instances belonging\r
+ to the same test definition.\r
+ example: MyTestInstance\r
+ testInstanceDescription:\r
+ title: Describe the test instance being created\r
+ type: string\r
+ description: Use this field to describe the functionality of the test instance\r
+ example: This test instance does absolutely nothing!\r
+ testData:\r
+ title: Set global variables\r
+ type: object\r
+ description: |-\r
+ This field has read and write access by any task within the workflow.\r
+ See the example for more information\r
+ example:\r
+ globalVar1: I'm available to your workflow!\r
+ globalVar2:\r
+ me: too\r
+ vthInput:\r
+ title: Set virtual test head data\r
+ type: object\r
+ description: |-\r
+ This field determines the data each VTH at the designated ServiceTask will receive.\r
+ See the example for more information\r
+ example:\r
+ ServiceTask_123:\r
+ vthArg1: An argument your VTH expects.\r
+ vthArg2: {}\r
+ ServiceTask_456:\r
+ vthArg1: An argument your VTH expects.\r
+ async:\r
+ type: boolean\r
+ asyncTopic:\r
+ type: string\r
+ asyncMode:\r
+ type: string\r
+ description: The model2 for a test instance creation request.\r