setup

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2022 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WriteConfigAsYaml

func WriteConfigAsYaml(configObject interface{}, configYamlFile string) error

WriteConfigAsYaml writes the config object to a YAML file. Provide full path with .yml suffix.

func WriteLocalConfig

func WriteLocalConfig(localConfig *config.LocalConfiguration, localConfigYamlFile string) error

WriteLocalConfig writes the local config object to a YAML file. Provide full path with .yml suffix.

func WriteSharedConfig

func WriteSharedConfig(sharedConfig *config.SharedConfiguration, sharedConfigYamlFile string) error

WriteSharedConfig writes the shared config object to a YAML file. Provide full path with .yml suffix.

Types

type Cluster

type Cluster struct {
	Servers []*Server
	Users   []string
	// contains filtered or unexported fields
}

Cluster holds bcdb servers present in a blockchainDB cluster

func NewCluster

func NewCluster(conf *Config) (*Cluster, error)

NewCluster creates a new cluster environment for the blockchain database

func (*Cluster) AgreedHeight added in v0.2.2

func (c *Cluster) AgreedHeight(t *testing.T, expectedBlockHeight uint64, activeServers ...int) bool

func (*Cluster) AgreedLeader added in v0.2.2

func (c *Cluster) AgreedLeader(t *testing.T, activeServers ...int) int

func (*Cluster) CreateUserCerts added in v0.2.3

func (c *Cluster) CreateUserCerts(user string, keyPair tls.Certificate) error

func (*Cluster) GetLogger added in v0.2.3

func (c *Cluster) GetLogger() *logger.SugarLogger

func (*Cluster) GetServerByID added in v0.2.2

func (c *Cluster) GetServerByID(serverID string) (*Server, int)

func (*Cluster) GetSigner added in v0.2.3

func (c *Cluster) GetSigner(userID string) (crypto.Signer, error)

func (*Cluster) GetUserCertDir added in v0.2.3

func (c *Cluster) GetUserCertDir() string

func (*Cluster) GetUserCertKeyPath added in v0.2.3

func (c *Cluster) GetUserCertKeyPath(userID string) (string, string)

func (*Cluster) GetX509KeyPair added in v0.2.3

func (c *Cluster) GetX509KeyPair() (tls.Certificate, error)

func (*Cluster) Restart

func (c *Cluster) Restart() error

Restart restarts the cluster by shutting down and starting all servers in the cluster

func (*Cluster) RestartServer

func (c *Cluster) RestartServer(s *Server) error

RestartServer restarts a given server present in the cluster by shutting down and restarting the server

func (*Cluster) Shutdown

func (c *Cluster) Shutdown() error

Shutdown shuts the cluster down by shutting down all servers in the cluster

func (*Cluster) ShutdownAndCleanup

func (c *Cluster) ShutdownAndCleanup() error

ShutdownAndCleanup shuts the cluster down by shutting down all servers in the cluster and removes all directories

func (*Cluster) ShutdownServer

func (c *Cluster) ShutdownServer(s *Server) error

ShutdownServer shuts a given server present in the cluster down

func (*Cluster) Start

func (c *Cluster) Start() error

Start starts the cluster by starting all servers in the cluster

func (*Cluster) StartServer

func (c *Cluster) StartServer(s *Server) error

StartServer stars a given server present in the cluster

type Config

type Config struct {
	NumberOfServers     int
	TestDirAbsolutePath string
	BDBBinaryPath       string
	CmdTimeout          time.Duration
	BaseNodePort        uint32
	BasePeerPort        uint32
	CheckRedirectFunc   func(req *http.Request, via []*http.Request) error // rest client checks redirects
}

Config holds configuration detail needed to instantiate a cluster

type Server

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

Server holds parameters related to the server

func NewServer

func NewServer(id uint64, clusterBaseDir string, baseNodePort, basePeerPort uint32, checkRedirect func(req *http.Request, via []*http.Request) error, logger *logger.SugarLogger) (*Server, error)

NewServer creates a new blockchain database server

func (*Server) AdminID

func (s *Server) AdminID() string

func (*Server) AdminSigner

func (s *Server) AdminSigner() crypto.Signer

func (*Server) ConfigDir added in v0.2.3

func (s *Server) ConfigDir() string

func (*Server) CreateUsers added in v0.2.3

func (s *Server) CreateUsers(t *testing.T, users []*types.UserWrite) (*types.TxReceipt, error)

func (*Server) GetDBIndex added in v0.2.3

func (s *Server) GetDBIndex(t *testing.T, dbName string, userID string) (*types.GetDBIndexResponseEnvelope, error)

func (*Server) GetDBStatus added in v0.2.3

func (s *Server) GetDBStatus(t *testing.T, dbName string) (*types.GetDBStatusResponseEnvelope, error)

func (*Server) ID added in v0.2.2

func (s *Server) ID() string

func (*Server) NewRESTClient

func (s *Server) NewRESTClient(checkRedirect func(req *http.Request, via []*http.Request) error) (*mock.Client, error)

NewRESTClient creates a new REST client for the user to submit requests and transactions to the server

func (*Server) QueryBlockStatus added in v0.2.2

func (s *Server) QueryBlockStatus(t *testing.T) (*types.GetBlockResponseEnvelope, error)

func (*Server) QueryClusterStatus added in v0.2.2

func (s *Server) QueryClusterStatus(t *testing.T) (*types.GetClusterStatusResponseEnvelope, error)

func (*Server) QueryConfig

func (s *Server) QueryConfig(t *testing.T) (*types.GetConfigResponseEnvelope, error)

func (*Server) QueryData

func (s *Server) QueryData(t *testing.T, db, key string) (*types.GetDataResponseEnvelope, error)

func (*Server) QueryUser added in v0.2.3

func (s *Server) QueryUser(t *testing.T, userID string) (*types.GetUserResponseEnvelope, error)

func (*Server) SetConfigTx added in v0.2.3

func (s *Server) SetConfigTx(t *testing.T, newConfig *types.ClusterConfig, version *types.Version, signer crypto.Signer) (string, *types.TxReceipt, error)

func (*Server) Signer added in v0.2.3

func (s *Server) Signer(userID string) (crypto.Signer, error)

func (*Server) SubmitTransaction added in v0.2.3

func (s *Server) SubmitTransaction(t *testing.T, urlPath string, tx interface{}) (*types.TxReceipt, error)

func (*Server) URL

func (s *Server) URL() string

func (*Server) WriteDataTx

func (s *Server) WriteDataTx(t *testing.T, db, key string, value []byte) (string, *types.TxReceipt, error)

Jump to

Keyboard shortcuts

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