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