invariant

package
v0.21.2 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package invariant is a generated GoMock package.

Index

Constants

View Source
const (
	// CheckResultTypeFailed indicates a failure occurred while attempting to run check
	CheckResultTypeFailed CheckResultType = "failed"
	// CheckResultTypeCorrupted indicates check successfully ran and detected a corruption
	CheckResultTypeCorrupted CheckResultType = "corrupted"
	// CheckResultTypeHealthy indicates check successfully ran and detected no corruption
	CheckResultTypeHealthy CheckResultType = "healthy"

	// FixResultTypeSkipped indicates that fix skipped execution
	FixResultTypeSkipped FixResultType = "skipped"
	// FixResultTypeFixed indicates that fix successfully fixed an execution
	FixResultTypeFixed FixResultType = "fixed"
	// FixResultTypeFailed indicates that fix attempted to fix an execution but failed to do so
	FixResultTypeFailed FixResultType = "failed"

	// HistoryExists asserts that history must exist if concrete execution exists
	HistoryExists Name = "history_exists"
	// OpenCurrentExecution asserts that an open concrete execution must have a valid current execution
	OpenCurrentExecution Name = "open_current_execution"
	// ConcreteExecutionExists asserts that an open current execution must have a valid concrete execution
	ConcreteExecutionExists Name = "concrete_execution_exists"

	// CollectionMutableState is the collection of invariants relating to mutable state
	CollectionMutableState Collection = 0
	// CollectionHistory is the collection  of invariants relating to history
	CollectionHistory Collection = 1
)

Variables

This section is empty.

Functions

func CollectionStrings added in v0.16.0

func CollectionStrings() []string

CollectionStrings returns a slice of all String values of the enum

func ExecutionOpen

func ExecutionOpen(execution interface{}) bool

ExecutionOpen returns true if execution state is open false if workflow is closed

func ExecutionStillExists

func ExecutionStillExists(
	ctx context.Context,
	exec *entity.Execution,
	pr persistence.Retryer,
) (bool, error)

ExecutionStillExists returns true if execution still exists in persistence, false otherwise. Returns error on failure to confirm.

func ExecutionStillOpen

func ExecutionStillOpen(
	ctx context.Context,
	exec *entity.Execution,
	pr persistence.Retryer,
) (bool, error)

ExecutionStillOpen returns true if execution in persistence exists and is open, false otherwise. Returns error on failure to confirm.

func Open

func Open(state int) bool

Open returns true if workflow state is open false if workflow is closed

Types

type CheckResult

type CheckResult struct {
	CheckResultType CheckResultType
	InvariantName   Name
	Info            string
	InfoDetails     string
}

CheckResult is the result of running Check.

type CheckResultType

type CheckResultType string

CheckResultType is the result type of running an invariant check

type Collection

type Collection int

Collection is a type which indicates a collection of invariants

func CollectionString added in v0.16.0

func CollectionString(s string) (Collection, error)

CollectionString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func CollectionValues added in v0.16.0

func CollectionValues() []Collection

CollectionValues returns all values of the enum

func (Collection) IsACollection added in v0.16.0

func (i Collection) IsACollection() bool

IsACollection returns "true" if the value is listed in the enum definition. "false" otherwise

func (Collection) String added in v0.16.0

func (i Collection) String() string

type FixResult

type FixResult struct {
	FixResultType FixResultType
	InvariantName Name
	CheckResult   CheckResult
	Info          string
	InfoDetails   string
}

FixResult is the result of running Fix.

func DeleteExecution

func DeleteExecution(
	ctx context.Context,
	exec interface{},
	pr persistence.Retryer,
) *FixResult

DeleteExecution deletes concrete execution and current execution conditionally on matching runID.

type FixResultType

type FixResultType string

FixResultType is the result type of running an invariant fix

type Invariant

type Invariant interface {
	Check(context.Context, interface{}) CheckResult
	Fix(context.Context, interface{}) FixResult
	Name() Name
}

Invariant represents an invariant of a single execution. It can be used to check that the execution satisfies the invariant. It can also be used to fix the invariant for an execution.

func NewConcreteExecutionExists

func NewConcreteExecutionExists(
	pr persistence.Retryer,
) Invariant

NewConcreteExecutionExists returns a new invariant for checking concrete execution

func NewHistoryExists

func NewHistoryExists(
	pr persistence.Retryer,
) Invariant

NewHistoryExists returns a new history exists invariant

func NewOpenCurrentExecution

func NewOpenCurrentExecution(
	pr persistence.Retryer,
) Invariant

NewOpenCurrentExecution returns a new invariant for checking open current execution

func NewTimerInvalid added in v0.18.0

func NewTimerInvalid(
	pr persistence.Retryer,
) Invariant

NewTimerInvalid returns a new history exists invariant

type Manager

type Manager interface {
	RunChecks(context.Context, interface{}) ManagerCheckResult
	RunFixes(context.Context, interface{}) ManagerFixResult
}

Manager represents a manager of several invariants. It can be used to run a group of invariant checks or fixes.

func NewInvariantManager

func NewInvariantManager(
	invariants []Invariant,
) Manager

NewInvariantManager handles running a collection of invariants according to the invariant collection provided.

type ManagerCheckResult

type ManagerCheckResult struct {
	CheckResultType          CheckResultType
	DeterminingInvariantType *Name
	CheckResults             []CheckResult
}

ManagerCheckResult is the result of running a list of checks

type ManagerFixResult

type ManagerFixResult struct {
	FixResultType            FixResultType
	DeterminingInvariantName *Name
	FixResults               []FixResult
}

ManagerFixResult is the result of running a list of fixes

type MockInvariant

type MockInvariant struct {
	// contains filtered or unexported fields
}

MockInvariant is a mock of Invariant interface

func NewMockInvariant

func NewMockInvariant(ctrl *gomock.Controller) *MockInvariant

NewMockInvariant creates a new mock instance

func (*MockInvariant) Check

func (m *MockInvariant) Check(arg0 context.Context, arg1 interface{}) CheckResult

Check mocks base method

func (*MockInvariant) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockInvariant) Fix

func (m *MockInvariant) Fix(arg0 context.Context, arg1 interface{}) FixResult

Fix mocks base method

func (*MockInvariant) Name

func (m *MockInvariant) Name() Name

Name mocks base method

type MockInvariantMockRecorder

type MockInvariantMockRecorder struct {
	// contains filtered or unexported fields
}

MockInvariantMockRecorder is the mock recorder for MockInvariant

func (*MockInvariantMockRecorder) Check

func (mr *MockInvariantMockRecorder) Check(arg0, arg1 interface{}) *gomock.Call

Check indicates an expected call of Check

func (*MockInvariantMockRecorder) Fix

func (mr *MockInvariantMockRecorder) Fix(arg0, arg1 interface{}) *gomock.Call

Fix indicates an expected call of Fix

func (*MockInvariantMockRecorder) Name added in v0.16.0

Name indicates an expected call of Name

type MockManager

type MockManager struct {
	// contains filtered or unexported fields
}

MockManager is a mock of Manager interface

func NewMockManager

func NewMockManager(ctrl *gomock.Controller) *MockManager

NewMockManager creates a new mock instance

func (*MockManager) EXPECT

func (m *MockManager) EXPECT() *MockManagerMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockManager) RunChecks

func (m *MockManager) RunChecks(arg0 context.Context, arg1 interface{}) ManagerCheckResult

RunChecks mocks base method

func (*MockManager) RunFixes

func (m *MockManager) RunFixes(arg0 context.Context, arg1 interface{}) ManagerFixResult

RunFixes mocks base method

type MockManagerMockRecorder

type MockManagerMockRecorder struct {
	// contains filtered or unexported fields
}

MockManagerMockRecorder is the mock recorder for MockManager

func (*MockManagerMockRecorder) RunChecks

func (mr *MockManagerMockRecorder) RunChecks(arg0, arg1 interface{}) *gomock.Call

RunChecks indicates an expected call of RunChecks

func (*MockManagerMockRecorder) RunFixes

func (mr *MockManagerMockRecorder) RunFixes(arg0, arg1 interface{}) *gomock.Call

RunFixes indicates an expected call of RunFixes

type Name

type Name string

Name is the name of an invariant

func NamePtr

func NamePtr(t Name) *Name

NamePtr returns a pointer to Name

type TimerInvalid added in v0.18.0

type TimerInvalid struct {
	// contains filtered or unexported fields
}

func (*TimerInvalid) Check added in v0.18.0

func (h *TimerInvalid) Check(
	ctx context.Context,
	e interface{},
) CheckResult

Check checks if timer is scheduled for open execution

func (*TimerInvalid) Fix added in v0.18.0

func (h *TimerInvalid) Fix(
	ctx context.Context,
	e interface{},
) FixResult

Fix will delete invalid timer

func (*TimerInvalid) Name added in v0.18.0

func (h *TimerInvalid) Name() Name

Jump to

Keyboard shortcuts

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