Version: v0.0.0-...-8e6450d Latest Latest

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

Go to latest
Published: Jun 12, 2020 License: MIT Imports: 11 Imported by: 0




View Source
const (
	StubWorkflow      = "stub"
	ShortStubWorkflow = "stub"
	StubVersion       = "1"


View Source
var (
	StubTaskList      = &swf.TaskList{Name: S(fmt.Sprintf("%s->%s", StubWorkflow, StubVersion))}
	ShortStubTaskList = &swf.TaskList{Name: S(fmt.Sprintf("%s->%s", ShortStubWorkflow, StubVersion))}


func NoOpActivityInterceptor

func NoOpActivityInterceptor() activity.ActivityInterceptor

func ShortStubFSM

func ShortStubFSM(domain string, client fsm.SWFOps) *fsm.FSM

func ShortStubState

func ShortStubState() fsm.Decider

func StubFSM

func StubFSM(domain string, client fsm.SWFOps) *fsm.FSM

func StubState

func StubState() fsm.Decider

func TestDecisionInterceptor

func TestDecisionInterceptor(testId string, stubbedWorkflows, stubbedShortWorkflows []string) fsm.DecisionInterceptor

intercept any attempts to start a workflow and launch the stub workflow instead.

func TestFailOnceActivityInterceptor

func TestFailOnceActivityInterceptor() activity.ActivityInterceptor

interceptor that fails the activity once per activity and returns to actual result subsequent time used to test error handling and retries of activities in fsms

func TestReplicator

func TestReplicator(decisionOutcomes chan DecisionOutcome) fsm.ReplicationHandler

func TestSWF

func TestSWF(client fsm.ClientSWFOps, stubbedWorkflow ...string) fsm.ClientSWFOps

func TestThrotteCancelsOnceInterceptor

func TestThrotteCancelsOnceInterceptor() fsm.DecisionInterceptor

func TestThrotteChildrenOnceInterceptor

func TestThrotteChildrenOnceInterceptor() fsm.DecisionInterceptor

func TestThrotteSignalsOnceInterceptor

func TestThrotteSignalsOnceInterceptor() fsm.DecisionInterceptor

func TestThrotteTimersOnceInterceptor

func TestThrotteTimersOnceInterceptor(numTimers int) fsm.DecisionInterceptor

This one is a bit weird. OnStart, we need to schedule a bunch of timers that we can use to cause timer id in use failures, that we rewrite to throttles


type DecisionOutcome

type DecisionOutcome struct {
	DecisionTask *swf.PollForDecisionTaskOutput
	State        *fsm.SerializedState
	Decisions    []*swf.Decision

type NoData

type NoData struct{}

type StateData

type StateData struct {
	State string
	Data  interface{}

type StubSWFClient

type StubSWFClient struct {
	// contains filtered or unexported fields

intercept any attempts to start a workflow and launch the stub workflow instead.

func (*StubSWFClient) StartWorkflowExecution

func (s *StubSWFClient) StartWorkflowExecution(req *swf.StartWorkflowExecutionInput) (resp *swf.StartWorkflowExecutionOutput, err error)

type TestAdapter

type TestAdapter interface {
	TestName() string
	Logf(format string, args ...interface{})
	Fatalf(format string, args ...interface{})

type TestConfig

type TestConfig struct {
	Testing               TestAdapter
	FSM                   *fsm.FSM
	StubFSM               *fsm.FSM
	Workers               []*activity.ActivityWorker
	StubbedWorkflows      []string
	ShortStubbedWorkflows []string
	DefaultWaitTimeout    int
	FailActivitiesOnce    bool
	ThrottleSignalsOnce   bool
	ThrottleCancelsOnce   bool
	ThrottleChildrenOnce  bool
	ThrottleTimersOnce    bool

type TestListener

type TestListener struct {
	DefaultWait time.Duration

	TestId string
	// contains filtered or unexported fields

func NewTestListener

func NewTestListener(t TestConfig) *TestListener

func (*TestListener) AwaitData

func (tl *TestListener) AwaitData(workflowId string, predicate func(*StateData) bool)

func (*TestListener) AwaitDataFor

func (tl *TestListener) AwaitDataFor(workflowId string, waitFor time.Duration, predicate func(*StateData) bool)

func (*TestListener) AwaitDecision

func (tl *TestListener) AwaitDecision(workflowId string, predicate func(*swf.Decision) bool)

func (*TestListener) AwaitDecisionFor

func (tl *TestListener) AwaitDecisionFor(workflowId string, waitFor time.Duration, predicate func(*swf.Decision) bool)

func (*TestListener) AwaitEvent

func (tl *TestListener) AwaitEvent(workflowId string, predicate func(*swf.HistoryEvent) bool)

func (*TestListener) AwaitEventFor

func (tl *TestListener) AwaitEventFor(workflowId string, waitFor time.Duration, predicate func(*swf.HistoryEvent) bool)

func (*TestListener) AwaitState

func (tl *TestListener) AwaitState(workflowId, state string)

func (*TestListener) AwaitStateFor

func (tl *TestListener) AwaitStateFor(workflowId, state string, waitFor time.Duration)

func (*TestListener) RegisterDataInterest

func (tl *TestListener) RegisterDataInterest(workflowId string)

func (*TestListener) RegisterDecisionInterest

func (tl *TestListener) RegisterDecisionInterest(workflowId string)

func (*TestListener) RegisterHistoryInterest

func (tl *TestListener) RegisterHistoryInterest(workflowId string)

func (*TestListener) RegisterStateInterest

func (tl *TestListener) RegisterStateInterest(workflowId string)

func (*TestListener) Start

func (tl *TestListener) Start()

func (*TestListener) Stop

func (tl *TestListener) Stop()

func (*TestListener) TestFsmTaskList

func (tl *TestListener) TestFsmTaskList() string

func (*TestListener) TestWorkerTaskList

func (tl *TestListener) TestWorkerTaskList(w *activity.ActivityWorker) string


Path Synopsis

Jump to

Keyboard shortcuts

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