types

package
v1.3.2-prerelease04 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultTestCase = "testdata/replication_simulation_default.yaml"
	TasklistName    = "test-tasklist"

	TimerInterval = 5 * time.Second
)

Variables

This section is empty.

Functions

func Logf

func Logf(t *testing.T, msg string, args ...interface{})

func WorkerIdentityFor

func WorkerIdentityFor(clusterName string, domainName string) string

Types

type Cluster

type Cluster struct {
	GRPCEndpoint string `yaml:"grpcEndpoint"`

	AdminClient    admin.Client    `yaml:"-"`
	FrontendClient frontend.Client `yaml:"-"`
}

type Operation

type Operation struct {
	Type    ReplicationSimulationOperation `yaml:"op"`
	At      time.Duration                  `yaml:"at"`
	Cluster string                         `yaml:"cluster"`

	WorkflowType                         string        `yaml:"workflowType"`
	WorkflowID                           string        `yaml:"workflowID"`
	WorkflowExecutionStartToCloseTimeout time.Duration `yaml:"workflowExecutionStartToCloseTimeout"`
	WorkflowDuration                     time.Duration `yaml:"workflowDuration"`
	ActivityCount                        int           `yaml:"activityCount"`

	EventID int64 `yaml:"eventID"`

	Domain            string   `yaml:"domain"`
	NewActiveClusters []string `yaml:"newActiveClusters"`
	FailoverTimeout   *int32   `yaml:"failoverTimeoutSec"`

	Want Validation `yaml:"want"`
}

type ReplicationDomainConfig added in v1.3.0

type ReplicationDomainConfig struct {
	Name string `yaml:"name"`

	// ActiveClusters is the list of clusters that the test domain is active in
	// If one cluster is specified, the test domain will be regular active-passive global domain.
	// If multiple clusters are specified, the test domain will be active-active global domain.
	ActiveClusters []string `yaml:"activeClusters"`
}

type ReplicationSimulationConfig

type ReplicationSimulationConfig struct {
	// Clusters is the map of all clusters
	Clusters map[string]*Cluster `yaml:"clusters"`

	// PrimaryCluster is used for domain registration
	PrimaryCluster string `yaml:"primaryCluster"`

	Domains map[string]ReplicationDomainConfig `yaml:"domains"`

	Operations []*Operation `yaml:"operations"`
}

func LoadConfig

func LoadConfig() (*ReplicationSimulationConfig, error)

func (*ReplicationSimulationConfig) IsActiveActiveDomain added in v1.3.0

func (s *ReplicationSimulationConfig) IsActiveActiveDomain(domainName string) bool

func (*ReplicationSimulationConfig) MustGetFrontendClient

func (s *ReplicationSimulationConfig) MustGetFrontendClient(t *testing.T, clusterName string) frontend.Client

func (*ReplicationSimulationConfig) MustInitClientsFor

func (s *ReplicationSimulationConfig) MustInitClientsFor(t *testing.T, clusterName string)

func (*ReplicationSimulationConfig) MustRegisterDomain

func (s *ReplicationSimulationConfig) MustRegisterDomain(t *testing.T, domainName string)

type ReplicationSimulationOperation

type ReplicationSimulationOperation string
const (
	ReplicationSimulationOperationStartWorkflow        ReplicationSimulationOperation = "start_workflow"
	ReplicationSimulationOperationResetWorkflow        ReplicationSimulationOperation = "reset_workflow"
	ReplicationSimulationOperationChangeActiveClusters ReplicationSimulationOperation = "change_active_clusters"
	ReplicationSimulationOperationValidate             ReplicationSimulationOperation = "validate"
)

type Validation

type Validation struct {
	Status                      string `yaml:"status"`
	StartedByWorkersInCluster   string `yaml:"startedByWorkersInCluster"`
	CompletedByWorkersInCluster string `yaml:"completedByWorkersInCluster"`
	Error                       string `yaml:"error"`
}

type WorkflowInput

type WorkflowInput struct {
	Duration      time.Duration
	ActivityCount int
}

type WorkflowOutput

type WorkflowOutput struct {
	Count int
}

Jump to

Keyboard shortcuts

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