Skip to content

Commit

Permalink
[FAB-10009] Integration tests cleanup
Browse files Browse the repository at this point in the history
This change removes an old GetSigningIdentity workaround.

Change-Id: Ib4dae6681cba2e1b47de01617372aed50f2bdee1
Signed-off-by: Aleksandar Likic <aleksandar.likic@securekey.com>
  • Loading branch information
Aleksandar Likic committed May 10, 2018
1 parent f1436dc commit 0afd993
Show file tree
Hide file tree
Showing 7 changed files with 153 additions and 35 deletions.
11 changes: 3 additions & 8 deletions test/integration/base_test_setup.go
Expand Up @@ -12,6 +12,7 @@ import (

"fmt"

mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
"github.com/hyperledger/fabric-sdk-go/pkg/common/errors/retry"
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
Expand Down Expand Up @@ -71,7 +72,8 @@ func ExampleCCUpgradeArgs() [][]byte {
// Initialize reads configuration from file and sets up client, channel and event hub
func (setup *BaseSetupImpl) Initialize(sdk *fabsdk.FabricSDK) error {

adminIdentity, err := GetSigningIdentity(sdk, AdminUser, setup.OrgID)
mspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(setup.OrgID))
adminIdentity, err := mspClient.GetSigningIdentity(AdminUser)
if err != nil {
return errors.WithMessage(err, "failed to get client context")
}
Expand Down Expand Up @@ -166,10 +168,3 @@ func InstallAndInstantiateCC(sdk *fabsdk.FabricSDK, user fabsdk.ContextOption, o
ccPolicy := cauthdsl.SignedByMspMember(mspID)
return resMgmtClient.InstantiateCC("mychannel", resmgmt.InstantiateCCRequest{Name: ccName, Path: ccPath, Version: ccVersion, Args: ccArgs, Policy: ccPolicy}, resmgmt.WithRetry(retry.DefaultResMgmtOpts))
}

// GetSigningIdentity returns signing identity
//TODO : not a recommended way to get idenity, will be replaced
func GetSigningIdentity(sdk *fabsdk.FabricSDK, user, orgID string) (msp.SigningIdentity, error) {
idenityContext := sdk.Context(fabsdk.WithUser(user), fabsdk.WithOrg(orgID))
return idenityContext()
}
8 changes: 7 additions & 1 deletion test/integration/e2e/end_to_end.go
Expand Up @@ -23,6 +23,8 @@ import (
"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"

mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"

"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
packager "github.com/hyperledger/fabric-sdk-go/pkg/fab/ccpackager/gopackager"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
Expand Down Expand Up @@ -197,7 +199,11 @@ func createCC(t *testing.T, orgResMgmt *resmgmt.Client) {
}

func createChannel(sdk *fabsdk.FabricSDK, t *testing.T, resMgmtClient *resmgmt.Client) {
adminIdentity, err := integration.GetSigningIdentity(sdk, orgAdmin, orgName)
mspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(orgName))
if err != nil {
t.Fatal(err)
}
adminIdentity, err := mspClient.GetSigningIdentity(orgAdmin)
if err != nil {
t.Fatal(err)
}
Expand Down
15 changes: 13 additions & 2 deletions test/integration/expiredorderer/expired_certificate_test.go
Expand Up @@ -11,6 +11,7 @@ import (
"path"
"testing"

mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab"
Expand Down Expand Up @@ -71,13 +72,23 @@ func TestExpiredCert(t *testing.T) {
t.Fatal(err)
}

org1MspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(org1))
if err != nil {
t.Fatalf("failed to create org1MspClient, err : %v", err)
}

// Get signing identity that is used to sign create channel request
org1AdminUser, err := integration.GetSigningIdentity(sdk, org1AdminUser, org1)
org1AdminUser, err := org1MspClient.GetSigningIdentity(org1AdminUser)
if err != nil {
t.Fatalf("failed to get org1AdminUser, err : %v", err)
}

org2AdminUser, err := integration.GetSigningIdentity(sdk, org2AdminUser, org2)
org2MspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(org2))
if err != nil {
t.Fatalf("failed to create org2MspClient, err : %v", err)
}

org2AdminUser, err := org2MspClient.GetSigningIdentity(org2AdminUser)
if err != nil {
t.Fatalf("failed to get org2AdminUser, err : %v", err)
}
Expand Down
15 changes: 13 additions & 2 deletions test/integration/expiredpeer/expired_certificate_test.go
Expand Up @@ -15,6 +15,7 @@ import (
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
"github.com/stretchr/testify/require"

mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab"

Expand Down Expand Up @@ -63,13 +64,23 @@ func TestExpiredPeersCert(t *testing.T) {
t.Fatal(err)
}

org1MspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(org1))
if err != nil {
t.Fatalf("failed to create org1MspClient, err : %v", err)
}

// Get signing identity that is used to sign create channel request
org1AdminUser, err := integration.GetSigningIdentity(sdk, org1AdminUser, org1)
org1AdminUser, err := org1MspClient.GetSigningIdentity(org1AdminUser)
if err != nil {
t.Fatalf("failed to get org1AdminUser, err : %v", err)
}

org2AdminUser, err := integration.GetSigningIdentity(sdk, org2AdminUser, org2)
org2MspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(org2))
if err != nil {
t.Fatalf("failed to create org2MspClient, err : %v", err)
}

org2AdminUser, err := org2MspClient.GetSigningIdentity(org2AdminUser)
if err != nil {
t.Fatalf("failed to get org2AdminUser, err : %v", err)
}
Expand Down
8 changes: 7 additions & 1 deletion test/integration/fab/channel_ledger_test.go
Expand Up @@ -19,6 +19,7 @@ import (

"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
"github.com/hyperledger/fabric-sdk-go/pkg/client/ledger"
mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
"github.com/pkg/errors"
Expand All @@ -42,7 +43,12 @@ func initializeLedgerTests(t *testing.T) (*fabsdk.FabricSDK, []string) {
// }
// Get signing identity that is used to sign create channel request

adminIdentity, err := integration.GetSigningIdentity(sdk, "Admin", orgName)
orgMspClient, err := mspclient.New(sdk.Context(), mspclient.WithOrg(orgName))
if err != nil {
t.Fatalf("failed to create org2MspClient, err : %v", err)
}

adminIdentity, err := orgMspClient.GetSigningIdentity("Admin")
if err != nil {
t.Fatalf("failed to load signing identity: %s", err)
}
Expand Down
60 changes: 52 additions & 8 deletions test/integration/orgs/multiple_orgs_test.go
Expand Up @@ -9,6 +9,7 @@ package orgs
import (
"math"
"path"
"runtime"
"strconv"
"strings"
"testing"
Expand All @@ -21,6 +22,7 @@ import (
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/msp"
packager "github.com/hyperledger/fabric-sdk-go/pkg/fab/ccpackager/gopackager"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
"github.com/pkg/errors"
"github.com/stretchr/testify/require"

"github.com/hyperledger/fabric-sdk-go/pkg/client/ledger"
Expand All @@ -33,7 +35,10 @@ import (

selection "github.com/hyperledger/fabric-sdk-go/pkg/client/common/selection/dynamicselection"

"os"

"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
"github.com/hyperledger/fabric-sdk-go/pkg/fab/resource"
"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/common/cauthdsl"
)
Expand All @@ -51,20 +56,59 @@ const (
channelID = "orgchannel"
)

// SDK
var sdk *fabsdk.FabricSDK

// Org MSP clients
var org1MspClient *mspclient.Client
var org2MspClient *mspclient.Client

// Peers
var orgTestPeer0 fab.Peer
var orgTestPeer1 fab.Peer

func TestMain(m *testing.M) {
err := setup()
defer teardown()
var r int
if err == nil {
r = m.Run()
}
defer os.Exit(r)
runtime.Goexit()
}

func setup() error {
// Create SDK setup for the integration tests
var err error
sdk, err = fabsdk.New(integration.ConfigBackend)
if err != nil {
return errors.Wrap(err, "Failed to create new SDK")
}

org1MspClient, err = mspclient.New(sdk.Context(), mspclient.WithOrg(org1))
if err != nil {
return errors.Wrap(err, "failed to create org1MspClient, err")
}

org2MspClient, err = mspclient.New(sdk.Context(), mspclient.WithOrg(org2))
if err != nil {
return errors.Wrap(err, "failed to create org2MspClient, err")
}

return nil
}

func teardown() {
if sdk != nil {
sdk.Close()
}
}

// TestOrgsEndToEnd creates a channel with two organisations, installs chaincode
// on each of them, and finally invokes a transaction on an org2 peer and queries
// the result from an org1 peer
func TestOrgsEndToEnd(t *testing.T) {
// Create SDK setup for the integration tests
sdk, err := fabsdk.New(integration.ConfigBackend)
if err != nil {
t.Fatalf("Failed to create new SDK: %s", err)
}
defer sdk.Close()

// Delete all private keys from the crypto suite store
// and users from the user store at the end
Expand Down Expand Up @@ -96,12 +140,12 @@ func testWithOrg1(t *testing.T, sdk *fabsdk.FabricSDK) int {
}

// Get signing identity that is used to sign create channel request
org1AdminUser, err := integration.GetSigningIdentity(sdk, org1AdminUser, org1)
org1AdminUser, err := org1MspClient.GetSigningIdentity(org1AdminUser)
if err != nil {
t.Fatalf("failed to get org1AdminUser, err : %v", err)
}

org2AdminUser, err := integration.GetSigningIdentity(sdk, org2AdminUser, org2)
org2AdminUser, err := org2MspClient.GetSigningIdentity(org2AdminUser)
if err != nil {
t.Fatalf("failed to get org2AdminUser, err : %v", err)
}
Expand Down
71 changes: 58 additions & 13 deletions test/integration/revoked/revoked_peer_test.go
Expand Up @@ -18,16 +18,22 @@ import (
packager "github.com/hyperledger/fabric-sdk-go/pkg/fab/ccpackager/gopackager"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"

mspclient "github.com/hyperledger/fabric-sdk-go/pkg/client/msp"
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
"github.com/hyperledger/fabric-sdk-go/test/integration"
"github.com/hyperledger/fabric-sdk-go/test/metadata"

"os"

"runtime"

"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
"github.com/hyperledger/fabric-sdk-go/pkg/core/config/lookup"
"github.com/hyperledger/fabric-sdk-go/pkg/core/mocks"
"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/common/cauthdsl"
"github.com/pkg/errors"
"github.com/stretchr/testify/require"
)

Expand All @@ -43,18 +49,57 @@ const (
configPath = "../../fixtures/config/config_test.yaml"
)

// SDK
var sdk *fabsdk.FabricSDK

// Org MSP clients
var org1MspClient *mspclient.Client
var org2MspClient *mspclient.Client

// Peers used for testing
var orgTestPeer0 fab.Peer
var orgTestPeer1 fab.Peer

// TestRevokedPeer
func TestRevokedPeer(t *testing.T) {
// Create SDK setup for the integration tests with revoked peer
sdk, err := fabsdk.New(getConfigBackend(t))
func TestMain(m *testing.M) {
err := setup()
defer teardown()
var r int
if err == nil {
r = m.Run()
}
defer os.Exit(r)
runtime.Goexit()
}

func setup() error {
// Create SDK setup for the integration tests
var err error
sdk, err = fabsdk.New(getConfigBackend())
if err != nil {
return errors.Wrap(err, "Failed to create new SDK")
}

org1MspClient, err = mspclient.New(sdk.Context(), mspclient.WithOrg(org1))
if err != nil {
return errors.Wrap(err, "failed to create org1MspClient, err")
}

org2MspClient, err = mspclient.New(sdk.Context(), mspclient.WithOrg(org2))
if err != nil {
t.Fatalf("Failed to create new SDK: %s", err)
return errors.Wrap(err, "failed to create org2MspClient, err")
}

return nil
}

func teardown() {
if sdk != nil {
sdk.Close()
}
defer sdk.Close()
}

// TestRevokedPeer
func TestRevokedPeer(t *testing.T) {

// Delete all private keys from the crypto suite store
// and users from the user store at the end
Expand All @@ -74,12 +119,12 @@ func TestRevokedPeer(t *testing.T) {
}

// Get signing identity that is used to sign create channel request
org1AdminUser, err := integration.GetSigningIdentity(sdk, org1AdminUser, org1)
org1AdminUser, err := org1MspClient.GetSigningIdentity(org1AdminUser)
if err != nil {
t.Fatalf("failed to get org1AdminUser, err : %v", err)
}

org2AdminUser, err := integration.GetSigningIdentity(sdk, org2AdminUser, org2)
org2AdminUser, err := org2MspClient.GetSigningIdentity(org2AdminUser)
if err != nil {
t.Fatalf("failed to get org2AdminUser, err : %v", err)
}
Expand Down Expand Up @@ -200,20 +245,20 @@ func loadOrgPeers(t *testing.T, ctxProvider contextAPI.ClientProvider) {

}

func getConfigBackend(t *testing.T) core.ConfigProvider {
func getConfigBackend() core.ConfigProvider {

return func() ([]core.ConfigBackend, error) {
configBackends, err := config.FromFile(configPath)()
if err != nil {
t.Fatalf("failed to read config backend from file, %v", err)
return nil, errors.Wrap(err, "failed to read config backend from file, %v")
}
backendMap := make(map[string]interface{})

networkConfig := fab.NetworkConfig{}
//get valid peer config
err = lookup.New(configBackends...).UnmarshalKey("peers", &networkConfig.Peers)
if err != nil {
t.Fatalf("failed to unmarshal peer network config, %v", err)
return nil, errors.Wrap(err, "failed to unmarshal peer network config, %v")
}

//customize peer0.org2 to peer1.org2
Expand All @@ -231,7 +276,7 @@ func getConfigBackend(t *testing.T) core.ConfigProvider {
//get valid org2
err = lookup.New(configBackends...).UnmarshalKey("organizations", &networkConfig.Organizations)
if err != nil {
t.Fatalf("failed to unmarshal organizations network config, %v", err)
return nil, errors.Wrap(err, "failed to unmarshal organizations network config, %v")
}

//Customize org2
Expand All @@ -243,7 +288,7 @@ func getConfigBackend(t *testing.T) core.ConfigProvider {
//custom channel
err = lookup.New(configBackends...).UnmarshalKey("channels", &networkConfig.Channels)
if err != nil {
t.Fatalf("failed to unmarshal entityMatchers network config, %v", err)
return nil, errors.Wrap(err, "failed to unmarshal entityMatchers network config, %v")
}

orgChannel := networkConfig.Channels[channelID]
Expand Down

0 comments on commit 0afd993

Please sign in to comment.