integration - ActiveState ActiveGo 1.8

Package integration

import ""

Overview ▾

Package integration implements tests built upon embedded etcd, and focus on etcd correctness.

Features/goals of the integration tests: 1. test the whole code base except command-line parsing. 2. check internal data, including raft, store and etc. 3. based on goroutines, which is faster than process. 4. mainly tests user behavior and user-facing API.


const (
    UrlScheme    = "unix"
    UrlSchemeTLS = "unixs"

func MustNewHTTPClient

func MustNewHTTPClient(t *testing.T, eps []string, tls *transport.TLSInfo) client.Client

func NewClientV3

func NewClientV3(m *member) (*clientv3.Client, error)

NewClientV3 creates a new grpc client connection to the member

func NewCluster

func NewCluster(t *testing.T, size int) *cluster

NewCluster returns an unlaunched cluster of the given size which has been set to use static bootstrap.

func NewClusterByConfig

func NewClusterByConfig(t *testing.T, cfg *ClusterConfig) *cluster

NewClusterByConfig returns an unlaunched cluster defined by a cluster configuration

func NewListenerWithAddr

func NewListenerWithAddr(t *testing.T, addr string) net.Listener

type ClusterConfig

type ClusterConfig struct {
    Size              int
    PeerTLS           *transport.TLSInfo
    ClientTLS         *transport.TLSInfo
    DiscoveryURL      string
    UseGRPC           bool
    QuotaBackendBytes int64

type ClusterV3

type ClusterV3 struct {
    // contains filtered or unexported fields

func NewClusterV3

func NewClusterV3(t *testing.T, cfg *ClusterConfig) *ClusterV3

NewClusterV3 returns a launched cluster with a grpc client connection for each cluster member.

func (ClusterV3) AddMember

func (c ClusterV3) AddMember(t *testing.T)

func (*ClusterV3) Client

func (c *ClusterV3) Client(i int) *clientv3.Client

func (ClusterV3) HTTPMembers

func (c ClusterV3) HTTPMembers() []client.Member

HTTPMembers returns a list of all active members as client.Members

func (ClusterV3) Launch

func (c ClusterV3) Launch(t *testing.T)

func (*ClusterV3) RandClient

func (c *ClusterV3) RandClient() *clientv3.Client

func (ClusterV3) RemoveMember

func (c ClusterV3) RemoveMember(t *testing.T, id uint64)

func (*ClusterV3) TakeClient

func (c *ClusterV3) TakeClient(idx int)

func (*ClusterV3) Terminate

func (c *ClusterV3) Terminate(t *testing.T)

func (ClusterV3) URL

func (c ClusterV3) URL(i int) string

func (ClusterV3) URLs

func (c ClusterV3) URLs() []string

URLs returns a list of all active client URLs in the cluster

func (ClusterV3) WaitLeader

func (c ClusterV3) WaitLeader(t *testing.T) int

func (ClusterV3) WaitNoLeader

func (c ClusterV3) WaitNoLeader(t *testing.T)

type SortableMemberSliceByPeerURLs

type SortableMemberSliceByPeerURLs []client.Member

func (SortableMemberSliceByPeerURLs) Len

func (p SortableMemberSliceByPeerURLs) Len() int

func (SortableMemberSliceByPeerURLs) Less

func (p SortableMemberSliceByPeerURLs) Less(i, j int) bool

func (SortableMemberSliceByPeerURLs) Swap

func (p SortableMemberSliceByPeerURLs) Swap(i, j int)