...

Package integration

import "github.com/hyperledger/fabric-sdk-go/test/integration"
Overview
Index
Subdirectories

Overview ▾

Index ▾

Constants
Variables
func AddLocalEntityMapping(configProvider core.ConfigProvider) core.ConfigProvider
func CleanupTestPath(t *testing.T, storePath string)
func CleanupUserData(t *testing.T, sdk *fabsdk.FabricSDK)
func CreateChannel(sdk *fabsdk.FabricSDK, req resmgmt.SaveChannelRequest) (bool, error)
func CreateChannelAndUpdateAnchorPeers(t *testing.T, sdk *fabsdk.FabricSDK, channelID string, channelConfigFile string, orgsContext []*OrgContext) error
func DiscoverLocalPeers(ctxProvider contextAPI.ClientProvider, expectedPeers int) ([]fabAPI.Peer, error)
func EnsureChannelCreatedAndPeersJoined(t *testing.T, sdk *fabsdk.FabricSDK, channelID string, channelTxFile string, orgsContext []*OrgContext) error
func ExampleCCDefaultQueryArgs() [][]byte
func ExampleCCDefaultTxArgs() [][]byte
func ExampleCCInitArgs() [][]byte
func ExampleCCQueryArgs(key string) [][]byte
func ExampleCCTxArgs(from, to, val string) [][]byte
func ExampleCCTxRandomSetArgs() [][]byte
func ExampleCCTxSetArgs(key, value string) [][]byte
func ExampleCCUpgradeArgs() [][]byte
func FilterTargetsJoinedChannel(sdk *fabsdk.FabricSDK, orgID string, channelID string, targets []string) ([]string, error)
func GenerateExampleID(randomize bool) string
func GenerateExamplePvtID(randomize bool) string
func GenerateRandomID() string
func GetChannelConfigPath(filename string) string
func GetConfigOverridesPath(filename string) string
func GetConfigPath(filename string) string
func GetCryptoConfigPath(filename string) string
func GetDeployPath() string
func GetKeyName(t *testing.T) string
func HasPeerJoinedChannel(client *resmgmt.Client, target string, channel string) (bool, error)
func InitializeChannel(sdk *fabsdk.FabricSDK, orgID string, req resmgmt.SaveChannelRequest, targets []string) error
func InstallChaincode(resMgmt *resmgmt.Client, ccPkg *resource.CCPackage, ccPath, ccName, ccVersion string, localPeers []fabAPI.Peer) error
func InstallChaincodeWithOrgContexts(orgs []*OrgContext, ccPkg *resource.CCPackage, ccPath, ccID, ccVersion string) error
func InstallExampleChaincode(orgs []*OrgContext, ccID string) error
func InstallExamplePvtChaincode(orgs []*OrgContext, ccID string) error
func InstantiateChaincode(resMgmt *resmgmt.Client, channelID, ccName, ccPath, ccVersion string, ccPolicyStr string, args [][]byte, collConfigs ...*cb.CollectionConfig) (resmgmt.InstantiateCCResponse, error)
func InstantiateExampleChaincode(orgs []*OrgContext, channelID, ccID, ccPolicy string, collConfigs ...*cb.CollectionConfig) error
func InstantiateExamplePvtChaincode(orgs []*OrgContext, channelID, ccID, ccPolicy string, collConfigs ...*cb.CollectionConfig) error
func IsDynamicDiscoverySupported() bool
func IsJoinedChannel(channelID string, resMgmtClient *resmgmt.Client, peer fabAPI.Peer) (bool, error)
func IsLocal() bool
func JoinChannel(sdk *fabsdk.FabricSDK, name, orgID string, targets []string) (bool, error)
func JoinPeersToChannel(channelID string, orgsContext []*OrgContext) error
func OrgTargetPeers(orgs []string, configBackend ...core.ConfigBackend) ([]string, error)
func PrepareExampleCC(sdk *fabsdk.FabricSDK, user fabsdk.ContextOption, orgName string, chaincodeID string) error
func ResetKeys(t *testing.T, ctx contextAPI.ChannelProvider, chaincodeID, value string, keys ...string)
func UpgradeChaincode(resMgmt *resmgmt.Client, channelID, ccName, ccPath, ccVersion string, ccPolicyStr string, args [][]byte, collConfigs ...*cb.CollectionConfig) (resmgmt.UpgradeCCResponse, error)
func UpgradeExamplePvtChaincode(orgs []*OrgContext, channelID, ccID, ccPolicy string, collConfigs ...*cb.CollectionConfig) error
func WaitForOrdererConfigUpdate(t *testing.T, client *resmgmt.Client, channelID string, genesis bool, lastConfigBlock uint64) uint64
type BaseSetupImpl
    func (setup *BaseSetupImpl) Initialize(sdk *fabsdk.FabricSDK) error
type OrgContext
    func SetupMultiOrgContext(sdk *fabsdk.FabricSDK, org1Name string, org2Name string, org1AdminUser string, org2AdminUser string) ([]*OrgContext, error)

Package files

base_test_setup.go env.go prepare.go utils.go

Constants

Initial B values for ExampleCC

const (
    ExampleCCInitB    = "200"
    ExampleCCUpgradeB = "400"
    AdminUser         = "Admin"
    OrdererOrgName    = "OrdererOrg"
)
const (

    //ConfigPathSingleOrg single org version of 'configPath' for testing discovery
    ConfigPathSingleOrg = "${FABRIC_SDK_GO_PROJECT_PATH}/test/fixtures/config/config_e2e_single_org.yaml"
)

Variables

ConfigBackend contains config backend for integration tests

var ConfigBackend = fetchConfigBackend(configPath, entityMatcherLocal)

func AddLocalEntityMapping

func AddLocalEntityMapping(configProvider core.ConfigProvider) core.ConfigProvider

AddLocalEntityMapping adds local test entity mapping to config backend and returns updated config provider

func CleanupTestPath

func CleanupTestPath(t *testing.T, storePath string)

CleanupTestPath removes the contents of a state store.

func CleanupUserData

func CleanupUserData(t *testing.T, sdk *fabsdk.FabricSDK)

CleanupUserData removes user data.

func CreateChannel

func CreateChannel(sdk *fabsdk.FabricSDK, req resmgmt.SaveChannelRequest) (bool, error)

CreateChannel attempts to save the named channel.

func CreateChannelAndUpdateAnchorPeers

func CreateChannelAndUpdateAnchorPeers(t *testing.T, sdk *fabsdk.FabricSDK, channelID string, channelConfigFile string, orgsContext []*OrgContext) error

CreateChannelAndUpdateAnchorPeers creates the channel and updates all of the anchor peers for all orgs

func DiscoverLocalPeers

func DiscoverLocalPeers(ctxProvider contextAPI.ClientProvider, expectedPeers int) ([]fabAPI.Peer, error)

DiscoverLocalPeers queries the local peers for the given MSP context and returns all of the peers. If the number of peers does not match the expected number then an error is returned.

func EnsureChannelCreatedAndPeersJoined

func EnsureChannelCreatedAndPeersJoined(t *testing.T, sdk *fabsdk.FabricSDK, channelID string, channelTxFile string, orgsContext []*OrgContext) error

EnsureChannelCreatedAndPeersJoined creates a channel, joins all peers in the given orgs to the channel and updates the anchor peers of each org.

func ExampleCCDefaultQueryArgs

func ExampleCCDefaultQueryArgs() [][]byte

ExampleCCDefaultQueryArgs returns example cc query args

func ExampleCCDefaultTxArgs

func ExampleCCDefaultTxArgs() [][]byte

ExampleCCDefaultTxArgs returns example cc move funds args

func ExampleCCInitArgs

func ExampleCCInitArgs() [][]byte

ExampleCCInitArgs returns example cc initialization args

func ExampleCCQueryArgs

func ExampleCCQueryArgs(key string) [][]byte

ExampleCCQueryArgs returns example cc query args

func ExampleCCTxArgs

func ExampleCCTxArgs(from, to, val string) [][]byte

ExampleCCTxArgs returns example cc query args

func ExampleCCTxRandomSetArgs

func ExampleCCTxRandomSetArgs() [][]byte

ExampleCCTxRandomSetArgs returns example cc set args with random key-value pairs

func ExampleCCTxSetArgs

func ExampleCCTxSetArgs(key, value string) [][]byte

ExampleCCTxSetArgs sets the given key value in examplecc

func ExampleCCUpgradeArgs

func ExampleCCUpgradeArgs() [][]byte

ExampleCCUpgradeArgs returns example cc upgrade args

func FilterTargetsJoinedChannel

func FilterTargetsJoinedChannel(sdk *fabsdk.FabricSDK, orgID string, channelID string, targets []string) ([]string, error)

FilterTargetsJoinedChannel filters targets to those that have joined the named channel.

func GenerateExampleID

func GenerateExampleID(randomize bool) string

GenerateExampleID supplies a chaincode name for example_cc

func GenerateExamplePvtID

func GenerateExamplePvtID(randomize bool) string

GenerateExamplePvtID supplies a chaincode name for example_pvt_cc

func GenerateRandomID

func GenerateRandomID() string

GenerateRandomID generates random ID

func GetChannelConfigPath

func GetChannelConfigPath(filename string) string

GetChannelConfigPath returns the path to the named channel config file

func GetConfigOverridesPath

func GetConfigOverridesPath(filename string) string

GetConfigOverridesPath returns the path to the named config override fixture file

func GetConfigPath

func GetConfigPath(filename string) string

GetConfigPath returns the path to the named config fixture file

func GetCryptoConfigPath

func GetCryptoConfigPath(filename string) string

GetCryptoConfigPath returns the path to the named crypto-config override fixture file

func GetDeployPath

func GetDeployPath() string

GetDeployPath returns the path to the chaincode fixtures

func GetKeyName

func GetKeyName(t *testing.T) string

GetKeyName creates random key name based on test name

func HasPeerJoinedChannel

func HasPeerJoinedChannel(client *resmgmt.Client, target string, channel string) (bool, error)

HasPeerJoinedChannel checks whether the peer has already joined the channel. It returns true if it has, false otherwise, or an error

func InitializeChannel

func InitializeChannel(sdk *fabsdk.FabricSDK, orgID string, req resmgmt.SaveChannelRequest, targets []string) error

InitializeChannel ...

func InstallChaincode

func InstallChaincode(resMgmt *resmgmt.Client, ccPkg *resource.CCPackage, ccPath, ccName, ccVersion string, localPeers []fabAPI.Peer) error

InstallChaincode installs the given chaincode to the given peers

func InstallChaincodeWithOrgContexts

func InstallChaincodeWithOrgContexts(orgs []*OrgContext, ccPkg *resource.CCPackage, ccPath, ccID, ccVersion string) error

InstallChaincodeWithOrgContexts installs the given chaincode to orgs

func InstallExampleChaincode

func InstallExampleChaincode(orgs []*OrgContext, ccID string) error

InstallExampleChaincode installs the example chaincode to all peers in the given orgs

func InstallExamplePvtChaincode

func InstallExamplePvtChaincode(orgs []*OrgContext, ccID string) error

InstallExamplePvtChaincode installs the example pvt chaincode to all peers in the given orgs

func InstantiateChaincode

func InstantiateChaincode(resMgmt *resmgmt.Client, channelID, ccName, ccPath, ccVersion string, ccPolicyStr string, args [][]byte, collConfigs ...*cb.CollectionConfig) (resmgmt.InstantiateCCResponse, error)

InstantiateChaincode instantiates the given chaincode to the given channel

func InstantiateExampleChaincode

func InstantiateExampleChaincode(orgs []*OrgContext, channelID, ccID, ccPolicy string, collConfigs ...*cb.CollectionConfig) error

InstantiateExampleChaincode instantiates the example CC on the given channel

func InstantiateExamplePvtChaincode

func InstantiateExamplePvtChaincode(orgs []*OrgContext, channelID, ccID, ccPolicy string, collConfigs ...*cb.CollectionConfig) error

InstantiateExamplePvtChaincode instantiates the example pvt CC on the given channel

func IsDynamicDiscoverySupported

func IsDynamicDiscoverySupported() bool

IsDynamicDiscoverySupported returns if fabric version on which tests are running supports dynamic discovery any version greater than v1.1 supports dynamic discovery

func IsJoinedChannel

func IsJoinedChannel(channelID string, resMgmtClient *resmgmt.Client, peer fabAPI.Peer) (bool, error)

IsJoinedChannel returns true if the given peer has joined the given channel

func IsLocal

func IsLocal() bool

IsLocal checks os argument and returns true if 'testLocal=true' argument found

func JoinChannel

func JoinChannel(sdk *fabsdk.FabricSDK, name, orgID string, targets []string) (bool, error)

JoinChannel attempts to save the named channel.

func JoinPeersToChannel

func JoinPeersToChannel(channelID string, orgsContext []*OrgContext) error

JoinPeersToChannel joins all peers in all of the given orgs to the given channel

func OrgTargetPeers

func OrgTargetPeers(orgs []string, configBackend ...core.ConfigBackend) ([]string, error)

OrgTargetPeers determines peer endpoints for orgs

func PrepareExampleCC

func PrepareExampleCC(sdk *fabsdk.FabricSDK, user fabsdk.ContextOption, orgName string, chaincodeID string) error

PrepareExampleCC install and instantiate using resource management client

func ResetKeys

func ResetKeys(t *testing.T, ctx contextAPI.ChannelProvider, chaincodeID, value string, keys ...string)

ResetKeys resets given set of keys in example cc to given value

func UpgradeChaincode

func UpgradeChaincode(resMgmt *resmgmt.Client, channelID, ccName, ccPath, ccVersion string, ccPolicyStr string, args [][]byte, collConfigs ...*cb.CollectionConfig) (resmgmt.UpgradeCCResponse, error)

UpgradeChaincode upgrades the given chaincode on the given channel

func UpgradeExamplePvtChaincode

func UpgradeExamplePvtChaincode(orgs []*OrgContext, channelID, ccID, ccPolicy string, collConfigs ...*cb.CollectionConfig) error

UpgradeExamplePvtChaincode upgrades the instantiated example pvt CC on the given channel

func WaitForOrdererConfigUpdate

func WaitForOrdererConfigUpdate(t *testing.T, client *resmgmt.Client, channelID string, genesis bool, lastConfigBlock uint64) uint64

WaitForOrdererConfigUpdate waits until the config block update has been committed. In Fabric 1.0 there is a bug that panics the orderer if more than one config update is added to the same block. This function may be invoked after each config update as a workaround.

type BaseSetupImpl

BaseSetupImpl implementation of BaseTestSetup

type BaseSetupImpl struct {
    Identity          msp.Identity
    Targets           []string
    ConfigFile        string
    OrgID             string
    ChannelID         string
    ChannelConfigFile string
}

func (*BaseSetupImpl) Initialize

func (setup *BaseSetupImpl) Initialize(sdk *fabsdk.FabricSDK) error

Initialize reads configuration from file and sets up client and channel

type OrgContext

OrgContext provides SDK client context for a given org

type OrgContext struct {
    OrgID                string
    CtxProvider          contextAPI.ClientProvider
    SigningIdentity      msp.SigningIdentity
    ResMgmt              *resmgmt.Client
    Peers                []fabAPI.Peer
    AnchorPeerConfigFile string
}

func SetupMultiOrgContext

func SetupMultiOrgContext(sdk *fabsdk.FabricSDK, org1Name string, org2Name string, org1AdminUser string, org2AdminUser string) ([]*OrgContext, error)

SetupMultiOrgContext creates an OrgContext for two organizations in the org channel.

Subdirectories

Name Synopsis
..
e2e
orgs
pkg
client
msp
util
runner