support

package
v1.6.17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2025 License: BSD-3-Clause Imports: 1 Imported by: 3

Documentation

Index

Constants

View Source
const (
	Primitive = 1
	Activity  = 2
)
View Source
const (
	AssertionActivity  = 1
	AssertionException = 2
	SkipActivity       = 3
	MockActivity       = 4
	MockException      = 5
)
View Source
const (
	NotExecuted          = 0
	Pass                 = 1
	Fail                 = 2
	Mocked               = 3
	AssertionNotExecuted = 4
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ActivityCoverage

type ActivityCoverage struct {
	ActivityName string
	LinkFrom     []string
	LinkTo       []string
	Inputs       map[string]interface{} `json:"inputs,omitempty"`
	Outputs      interface{}            `json:"outputs,omitempty"`
	Error        map[string]interface{} `json:"errors,omitempty"`
	FlowName     string                 `json:"flowName"`
	IsMainFlow   bool                   `json:"scope"`
	FlowId       string                 `json:"flowId"`
}

type ActivityMock

type ActivityMock struct {
	ActivityName string      `json:"name"`
	MockType     int         `json:"type"`
	Mock         interface{} `json:"mock,omitempty"`
}

type ActivityReport

type ActivityReport struct {
	ActivityName string                 `json:"name"`
	Inputs       map[string]interface{} `json:"input,omitempty"`
	Outputs      *interface{}           `json:"output,omitempty"`
	Error        map[string]interface{} `json:"error,omitempty"`
	Executions   []string               `json:"executions,omitempty"`
}

type Assertion

type Assertion struct {
	ID         string
	Name       string
	Type       int
	Expression interface{}
	Result     int
	Message    string
	EvalResult ast.ExprEvalData
}

type Coverage

type Coverage struct {
	ActivityCoverage   []*ActivityCoverage         `json:"activityCoverage,omitempty"`
	TransitionCoverage []*TransitionCoverage       `json:"transitionCoverage,omitempty"`
	SubFlowCoverage    []*SubFlowCoverage          `json:"subFlowCoverage,omitempty"`
	SubFlowMap         map[string]*SubFlowCoverage `json:"subFlowMap,omitempty"`
}

type DebugExecOptions

type DebugExecOptions struct {
	Interceptor *Interceptor
}

type DebugOptions

type DebugOptions struct {
	Op                 int
	ReturnID           bool
	FlowURI            string
	InstanceId         string
	InitStepId         int
	ExecOptions        *DebugExecOptions
	Rerun              bool
	OriginalInstanceId string
	DetachExecution    bool
}

type FlowErrorHandler

type FlowErrorHandler struct {
	ActivityReport []ActivityReport `json:"activities"`
	LinkReport     []LinkReport     `json:"links,omitempty"`
}

type FlowMock

type FlowMock struct {
	Name           string          `json:"flowName,omitempty"`
	ActivityReport []*ActivityMock `json:"activities"`
}

type FlowReport

type FlowReport struct {
	Name             string                 `json:"flowId,omitempty"`
	ActivityReport   []ActivityReport       `json:"activities"`
	LinkReport       []LinkReport           `json:"links,omitempty"`
	FlowErrorHandler FlowErrorHandler       `json:"errorHandler,omitempty"`
	SubFlow          map[string]interface{} `json:"subFlow,omitempty"`
	Inputs           map[string]interface{} `json:"inputs,omitempty"`
	Outputs          map[string]interface{} `json:"outputs,omitempty"`
}

type Handler

type Handler struct {
	FlowName string                 `json:"flowName,omitempty"`
	Input    map[string]interface{} `json:"input,omitempty"`
	Output   map[string]interface{} `json:"output,omitempty"`
	Error    map[string]interface{} `json:"error,omitempty"`
}

type Interceptor

type Interceptor struct {
	TaskInterceptors []*TaskInterceptor `json:"tasks"`

	Coverage  *Coverage `json:"coverage"`
	CollectIO bool
	// contains filtered or unexported fields
}

Interceptor contains a set of task interceptor, this can be used to override runtime data of an instance of the corresponding FlowReport. This can be used to modify runtime execution of a flow or in test/debug for implementing mocks for tasks

func (*Interceptor) AddToActivityCoverage

func (pi *Interceptor) AddToActivityCoverage(coverage ActivityCoverage)

func (*Interceptor) AddToLinkCoverage

func (pi *Interceptor) AddToLinkCoverage(coverage TransitionCoverage)

func (*Interceptor) AddToSubFlowCoverage

func (pi *Interceptor) AddToSubFlowCoverage(coverage SubFlowCoverage)

func (*Interceptor) AddToSubFlowCoverageMap

func (pi *Interceptor) AddToSubFlowCoverageMap(instanceId string, coverage *SubFlowCoverage)

func (*Interceptor) GetSubFlowCoverageEntry

func (pi *Interceptor) GetSubFlowCoverageEntry(instanceId string) *SubFlowCoverage

func (*Interceptor) GetTaskInterceptor

func (pi *Interceptor) GetTaskInterceptor(taskID string) *TaskInterceptor

GetTaskInterceptor get the TaskInterceptor for the specified task (referred to by ID)

func (*Interceptor) Init

func (pi *Interceptor) Init()

Init initializes the FlowInterceptor, usually called after deserialization

type LinkReport

type LinkReport struct {
	LinkName string `json:"linkName,omitempty"`
	From     string `json:"from,omitempty"`
	To       string `json:"to,omitempty"`
}

type MockOutputReport

type MockOutputReport struct {
	AppName    string      `json:"appName"`
	AppVersion string      `json:"appVersion"`
	Mock       *MockReport `json:"mocks"`
}

type MockReport

type MockReport struct {
	Flows map[string]*FlowMock `json:"flows"`
}

type OutputReport

type OutputReport struct {
	AppName    string  `json:"appName"`
	AppVersion string  `json:"appVersion"`
	InstanceID string  `json:"instanceId"`
	Report     *Report `json:"report"`
	Flow       string  `json:"flow"`
	AppPath    string  `json:"appPath"`
}

type Report

type Report struct {
	Trigger *Trigger    `json:"trigger"`
	Flows   *FlowReport `json:"flows"`
}

type SubFlowCoverage

type SubFlowCoverage struct {
	HostFlow        string
	SubFlowActivity string
	SubFlowName     string
	HostFlowID      string
	SubFlowID       string
	Inputs          map[string]interface{} `json:"inputs,omitempty"`
	Outputs         map[string]interface{} `json:"outputs,omitempty"`
	IsLoop          bool
	Index           string
}

type TaskInterceptor

type TaskInterceptor struct {
	ID            string                 `json:"id"`
	Skip          bool                   `json:"skip,omitempty"`
	Inputs        map[string]interface{} `json:"inputs,omitempty"`
	Outputs       map[string]interface{} `json:"outputs,omitempty"`
	Assertions    []Assertion            `json:"assertions,omitempty"`
	SkipExecution bool                   `json:"skipExecution"`
	Result        int                    `json:"result,omitempty"`
	Message       string                 `json:"message"`
	Type          int                    `json:"type"`
}

TaskInterceptor contains instance override information for a Task, such has attributes. Also, a 'Skip' flag can be enabled to inform the runtime that the task should not execute.

type TransitionCoverage

type TransitionCoverage struct {
	TransitionName       string `json:"transitionName"`
	TransitionType       string `json:"transitionType"`
	TransitionFrom       string `json:"transitionFrom"`
	TransitionTo         string `json:"transitionTo"`
	TransitionExpression string `json:"transitionExpression"`
	FlowName             string `json:"flowName"`
	IsMainFlow           bool   `json:"scope"`
	FlowId               string `json:"flowId"`
}

type Trigger

type Trigger struct {
	ID       string                 `json:"id,omitempty"`
	Settings map[string]interface{} `json:"settings,omitempty"`
	Handler  Handler                `json:"handler"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL