From b8307a31f5dd716d4c3103e0e115017a047eec71 Mon Sep 17 00:00:00 2001 From: Miguel Prieto Date: Tue, 12 Nov 2024 18:20:02 -0300 Subject: [PATCH] Add test workflow feature to JS SDK - https://orkes.io/content/developer-guides/unit-and-regression-tests --- src/common/open-api/models/TaskMock.ts | 13 ++++++++++++ .../open-api/models/WorkflowTestRequest.ts | 20 +++++++++++++++++++ .../services/WorkflowResourceService.ts | 18 +++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 src/common/open-api/models/TaskMock.ts create mode 100644 src/common/open-api/models/WorkflowTestRequest.ts diff --git a/src/common/open-api/models/TaskMock.ts b/src/common/open-api/models/TaskMock.ts new file mode 100644 index 0000000..c7e654a --- /dev/null +++ b/src/common/open-api/models/TaskMock.ts @@ -0,0 +1,13 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type TaskMock = { + executionTime?: number; + output?: Record>; + queueWaitTime?: number; + status?: + | "IN_PROGRESS" + | "FAILED" + | "FAILED_WITH_TERMINAL_ERROR" + | "COMPLETED"; +}; diff --git a/src/common/open-api/models/WorkflowTestRequest.ts b/src/common/open-api/models/WorkflowTestRequest.ts new file mode 100644 index 0000000..e35a828 --- /dev/null +++ b/src/common/open-api/models/WorkflowTestRequest.ts @@ -0,0 +1,20 @@ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TaskMock } from "./TaskMock"; +import type { WorkflowDef } from "./WorkflowDef"; +export type WorkflowTestRequest = { + correlationId?: string; + createdBy?: string; + externalInputPayloadStoragePath?: string; + idempotencyKey?: string; + idempotencyStrategy?: "FAIL" | "RETURN_EXISTING"; + input?: Record>; + name: string; + priority?: number; + subWorkflowTestRequest?: Record; + taskRefToMockOutput?: Record>; + taskToDomain?: Record; + version?: number; + workflowDef?: WorkflowDef; +}; diff --git a/src/common/open-api/services/WorkflowResourceService.ts b/src/common/open-api/services/WorkflowResourceService.ts index dd36315..7fa10ce 100644 --- a/src/common/open-api/services/WorkflowResourceService.ts +++ b/src/common/open-api/services/WorkflowResourceService.ts @@ -11,6 +11,8 @@ import type { StartWorkflowRequest } from '../models/StartWorkflowRequest'; import type { Workflow } from '../models/Workflow'; import type { WorkflowRun } from '../models/WorkflowRun'; import type { WorkflowStatus } from '../models/WorkflowStatus'; +import type { WorkflowTestRequest } from '../models/WorkflowTestRequest'; + import type { CancelablePromise } from '../core/CancelablePromise'; import type { BaseHttpRequest } from '../core/BaseHttpRequest'; @@ -605,4 +607,20 @@ export class WorkflowResourceService { }); } + /** + * Test workflow execution using mock data + * @param requestBody + * @returns Workflow OK + * @throws ApiError + */ + public testWorkflow( + requestBody: WorkflowTestRequest + ): CancelablePromise { + return this.httpRequest.request({ + method: 'POST', + url: '/api/workflow/test', + body: requestBody, + mediaType: 'application/json', + }); + } }