Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

Commit 2bfab1c

Browse files
committed
[FAB-8770] Remove extra SDK instances for int tests
This change reduces the number of SDK instances to improve test speed. Some log messages are also reduced to debug to improve log readability. Change-Id: I7689058d9cf1f2c671d1124158cab88bde712266 Signed-off-by: Troy Ronda <troy@troyronda.com>
1 parent 0520153 commit 2bfab1c

17 files changed

+281
-235
lines changed

pkg/core/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ func initConfig(c *Config) (*Config, error) {
218218
}
219219

220220
for _, logModule := range logModules {
221-
logger.Infof("config %s logging level is set to: %s", logModule, logging.ParseString(logging.GetLevel(logModule)))
221+
logger.Debugf("config %s logging level is set to: %s", logModule, logging.ParseString(logging.GetLevel(logModule)))
222222
}
223223

224224
//Compile the entityMatchers

pkg/fabsdk/provider/fabpvdr/fabpvdr.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,10 @@ func getEventClient(ctx context.Client, chConfig fab.ChannelCfg) (fab.EventClien
193193
// look at the EventServiceType specified in the config file.
194194
switch ctx.Config().EventServiceType() {
195195
case core.DeliverEventServiceType:
196-
logger.Infof("Using deliver events")
196+
logger.Debugf("Using deliver events")
197197
return deliverclient.New(ctx, chConfig)
198198
case core.EventHubEventServiceType:
199-
logger.Infof("Using event hub events")
199+
logger.Debugf("Using event hub events")
200200
return eventhubclient.New(ctx, chConfig, eventhubclient.WithBlockEvents())
201201
default:
202202
return nil, errors.Errorf("unsupported event service type: %d", ctx.Config().EventServiceType())

test/integration/e2e/end_to_end.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ func Run(t *testing.T, configOpt core.ConfigProvider, sdkOpts ...fabsdk.Option)
5151
//clientContext allows creation of transactions using the supplied identity as the credential.
5252
clientContext := sdk.Context(fabsdk.WithUser(orgAdmin), fabsdk.WithOrg(ordererOrgName))
5353

54-
// Channel management client is responsible for managing channels (create/update channel)
54+
// Resource management client is responsible for managing channels (create/update channel)
5555
// Supply user that has privileges to create channel (in this case orderer admin)
56-
chMgmtClient, err := resmgmt.New(clientContext)
56+
resMgmtClient, err := resmgmt.New(clientContext)
5757
if err != nil {
5858
t.Fatalf("Failed to create channel management client: %s", err)
5959
}
@@ -70,7 +70,7 @@ func Run(t *testing.T, configOpt core.ConfigProvider, sdkOpts ...fabsdk.Option)
7070
req := resmgmt.SaveChannelRequest{ChannelID: channelID,
7171
ChannelConfig: path.Join("../../../", metadata.ChannelConfigPath, "mychannel.tx"),
7272
SigningIdentities: []fab.IdentityContext{adminIdentity}}
73-
if err = chMgmtClient.SaveChannel(req); err != nil {
73+
if err = resMgmtClient.SaveChannel(req); err != nil {
7474
t.Fatal(err)
7575
}
7676

@@ -123,9 +123,6 @@ func Run(t *testing.T, configOpt core.ConfigProvider, sdkOpts ...fabsdk.Option)
123123
t.Fatalf("Failed to create new channel client: %s", err)
124124
}
125125

126-
// Release all channel client resources
127-
defer client.Close()
128-
129126
response, err := client.Query(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()})
130127
if err != nil {
131128
t.Fatalf("Failed to query funds: %s", err)

test/integration/e2e/no_orderer_config.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ func runWithNoOrdererConfig(t *testing.T, configOpt core.ConfigProvider, sdkOpts
4747
t.Fatalf("Failed to create new channel client: %s", err)
4848
}
4949

50-
// Release all channel client resources
51-
defer client.Close()
52-
5350
response, err := client.Query(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()})
5451
if err != nil {
5552
t.Fatalf("Failed to query funds: %s", err)

test/integration/fab/channel_ledger_test.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
1919
"github.com/hyperledger/fabric-sdk-go/pkg/client/ledger"
2020
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
21-
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
2221
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
2322
"github.com/pkg/errors"
2423
)
@@ -29,20 +28,18 @@ const (
2928
orgName = org1Name
3029
)
3130

32-
var sdkConfigFile = "../" + integration.ConfigTestFile
33-
3431
func initializeLedgerTests(t *testing.T) (*fabsdk.FabricSDK, []fab.Peer) {
35-
sdk, err := fabsdk.New(config.FromFile(sdkConfigFile))
36-
if err != nil {
37-
t.Fatalf("SDK init failed: %v", err)
38-
}
32+
// Using shared SDK instance to increase test speed.
33+
sdk := mainSDK
34+
35+
//var sdkConfigFile = "../" + integration.ConfigTestFile
36+
// sdk, err := fabsdk.New(config.FromFile(sdkConfigFile))
37+
// if err != nil {
38+
// t.Fatalf("SDK init failed: %v", err)
39+
// }
3940
// Get signing identity that is used to sign create channel request
4041

4142
adminIdentity, err := integration.GetSigningIdentity(sdk, "Admin", orgName)
42-
if err != nil {
43-
t.Fatal(err)
44-
}
45-
4643
if err != nil {
4744
t.Fatalf("failed to load signing identity: %s", err)
4845
}
@@ -65,7 +62,9 @@ func TestLedgerQueries(t *testing.T) {
6562

6663
// Setup tests with a random chaincode ID.
6764
sdk, targets := initializeLedgerTests(t)
68-
defer sdk.Close()
65+
66+
// Using shared SDK instance to increase test speed.
67+
//defer sdk.Close()
6968

7069
chaincodeID := integration.GenerateRandomID()
7170
if err := integration.InstallAndInstantiateExampleCC(sdk, fabsdk.WithUser("Admin"), orgName, chaincodeID); err != nil {

test/integration/fab/fabric_ca_test.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,25 @@ const (
2222
)
2323

2424
func TestEnrollOrg2(t *testing.T) {
25+
// Using shared SDK instance to increase test speed.
26+
sdk := mainSDK
2527

26-
cryptoSuiteProvider, err := cryptosuite.GetSuiteByConfig(testFabricConfig)
28+
cryptoSuiteProvider, err := cryptosuite.GetSuiteByConfig(sdk.Config())
2729
if err != nil {
2830
t.Fatalf("Failed getting cryptosuite from config : %s", err)
2931
}
3032

31-
stateStore, err := kvs.New(&kvs.FileKeyValueStoreOptions{Path: testFabricConfig.CredentialStorePath()})
33+
stateStore, err := kvs.New(&kvs.FileKeyValueStoreOptions{Path: sdk.Config().CredentialStorePath()})
3234
if err != nil {
3335
t.Fatalf("CreateNewFileKeyValueStore failed: %v", err)
3436
}
3537

36-
identityManager, err := identitymgr.New(org2Name, stateStore, cryptoSuiteProvider, testFabricConfig)
38+
identityManager, err := identitymgr.New(org2Name, stateStore, cryptoSuiteProvider, sdk.Config())
3739
if err != nil {
3840
t.Fatalf("identitymgr.New failed: %v", err)
3941
}
4042

41-
caClient, err := msp.New(org2Name, identityManager, stateStore, cryptoSuiteProvider, testFabricConfig)
43+
caClient, err := msp.New(org2Name, identityManager, stateStore, cryptoSuiteProvider, sdk.Config())
4244
if err != nil {
4345
t.Fatalf("caclient.New failed: %v", err)
4446
}
@@ -49,7 +51,7 @@ func TestEnrollOrg2(t *testing.T) {
4951
}
5052

5153
//clean up the Keystore file, as its affecting other tests
52-
err = os.RemoveAll(testFabricConfig.CredentialStorePath())
54+
err = os.RemoveAll(sdk.Config().CredentialStorePath())
5355
if err != nil {
5456
t.Fatalf("Error deleting keyvalue store file: %v", err)
5557
}

test/integration/fab/install_chaincode_test.go

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,17 @@ package fab
88

99
import (
1010
"math/rand"
11-
"path"
1211
"strconv"
1312
"strings"
1413
"testing"
1514

1615
"github.com/hyperledger/fabric-sdk-go/pkg/context"
1716
"github.com/hyperledger/fabric-sdk-go/pkg/context/api/fab"
18-
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
1917
packager "github.com/hyperledger/fabric-sdk-go/pkg/fab/ccpackager/gopackager"
2018
"github.com/hyperledger/fabric-sdk-go/pkg/fab/resource"
2119
"github.com/hyperledger/fabric-sdk-go/pkg/fab/resource/api"
2220
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
2321
"github.com/hyperledger/fabric-sdk-go/test/integration"
24-
"github.com/hyperledger/fabric-sdk-go/test/metadata"
2522
"github.com/pkg/errors"
2623
)
2724

@@ -32,22 +29,26 @@ const (
3229

3330
func TestChaincodeInstal(t *testing.T) {
3431

35-
testSetup := &integration.BaseSetupImpl{
36-
ConfigFile: "../" + integration.ConfigTestFile,
37-
ChannelID: "mychannel",
38-
OrgID: org1Name,
39-
ChannelConfig: path.Join("../../../", metadata.ChannelConfigPath, "mychannel.tx"),
40-
}
41-
42-
sdk, err := fabsdk.New(config.FromFile(testSetup.ConfigFile))
43-
if err != nil {
44-
t.Fatalf("Failed to create new SDK: %s", err)
45-
}
46-
defer sdk.Close()
47-
48-
if err := testSetup.Initialize(sdk); err != nil {
49-
t.Fatalf(err.Error())
50-
}
32+
// Using shared SDK instance to increase test speed.
33+
sdk := mainSDK
34+
testSetup := mainTestSetup
35+
36+
//testSetup := &integration.BaseSetupImpl{
37+
// ConfigFile: "../" + integration.ConfigTestFile,
38+
// ChannelID: "mychannel",
39+
// OrgID: org1Name,
40+
// ChannelConfig: path.Join("../../../", metadata.ChannelConfigPath, "mychannel.tx"),
41+
//}
42+
43+
//sdk, err := fabsdk.New(config.FromFile(testSetup.ConfigFile))
44+
//if err != nil {
45+
// t.Fatalf("Failed to create new SDK: %s", err)
46+
//}
47+
//defer sdk.Close()
48+
49+
//if err := testSetup.Initialize(sdk); err != nil {
50+
// t.Fatalf(err.Error())
51+
//}
5152

5253
testChaincodeInstallUsingChaincodePath(t, sdk, testSetup)
5354

test/integration/fab/main_test.go

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import (
1111
"path"
1212
"testing"
1313

14-
"github.com/hyperledger/fabric-sdk-go/pkg/context/api/core"
1514
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
1615
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
1716
"github.com/hyperledger/fabric-sdk-go/test/integration"
1817
"github.com/hyperledger/fabric-sdk-go/test/metadata"
1918
)
2019

21-
var testFabricConfig core.Config
20+
var mainSDK *fabsdk.FabricSDK
21+
var mainTestSetup *integration.BaseSetupImpl
22+
var mainChaincodeID string
2223

2324
func TestMain(m *testing.M) {
2425
setup()
@@ -28,26 +29,6 @@ func TestMain(m *testing.M) {
2829
}
2930

3031
func setup() {
31-
// do any test setup for all tests here...
32-
var err error
33-
34-
testSetup := integration.BaseSetupImpl{
35-
ConfigFile: "../" + integration.ConfigTestFile,
36-
}
37-
38-
testFabricConfig, err = testSetup.InitConfig()()
39-
if err != nil {
40-
fmt.Printf("Failed InitConfig [%s]\n", err)
41-
os.Exit(1)
42-
}
43-
}
44-
45-
func teardown() {
46-
// do any teadown activities here ..
47-
testFabricConfig = nil
48-
}
49-
50-
func initializeTests(t *testing.T, chainCodeID string) (integration.BaseSetupImpl, *fabsdk.FabricSDK) {
5132
testSetup := integration.BaseSetupImpl{
5233
ConfigFile: "../" + integration.ConfigTestFile,
5334

@@ -58,16 +39,23 @@ func initializeTests(t *testing.T, chainCodeID string) (integration.BaseSetupImp
5839

5940
sdk, err := fabsdk.New(config.FromFile(testSetup.ConfigFile))
6041
if err != nil {
61-
t.Fatalf("Failed to create new SDK: %s", err)
42+
panic(fmt.Sprintf("Failed to create new SDK: %s", err))
6243
}
6344

6445
if err := testSetup.Initialize(sdk); err != nil {
65-
t.Fatalf(err.Error())
46+
panic(err.Error())
6647
}
6748

68-
if err := integration.InstallAndInstantiateCC(sdk, fabsdk.WithUser("Admin"), testSetup.OrgID, chainCodeID, "github.com/events_cc", "v0", integration.GetDeployPath(), nil); err != nil {
69-
t.Fatalf("InstallAndInstantiateCC return error: %v", err)
49+
chaincodeID := integration.GenerateRandomID()
50+
if err := integration.InstallAndInstantiateExampleCC(sdk, fabsdk.WithUser("Admin"), testSetup.OrgID, chaincodeID); err != nil {
51+
panic(fmt.Sprintf("InstallAndInstantiateExampleCC return error: %v", err))
7052
}
7153

72-
return testSetup, sdk
54+
mainSDK = sdk
55+
mainTestSetup = &testSetup
56+
mainChaincodeID = chaincodeID
57+
}
58+
59+
func teardown() {
60+
mainSDK.Close()
7361
}

test/integration/fab/resource_queries_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ import (
1212
"github.com/hyperledger/fabric-sdk-go/pkg/context"
1313
"github.com/hyperledger/fabric-sdk-go/pkg/context/api/fab"
1414
"github.com/hyperledger/fabric-sdk-go/pkg/fab/resource"
15-
"github.com/hyperledger/fabric-sdk-go/test/integration"
1615
)
1716

1817
func TestChannelQueries(t *testing.T) {
19-
chaincodeID := integration.GenerateRandomID()
20-
testSetup, sdk := initializeTests(t, chaincodeID)
21-
defer sdk.Close()
18+
// Using shared SDK instance to increase test speed.
19+
sdk := mainSDK
20+
testSetup := mainTestSetup
21+
chaincodeID := mainChaincodeID
22+
23+
//chaincodeID := integration.GenerateRandomID()
2224

2325
// Low level resource
2426
client, err := getContext(sdk, "Admin", orgName)

test/integration/fab/transient_data_test.go

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,43 @@ SPDX-License-Identifier: Apache-2.0
77
package fab
88

99
import (
10-
"path"
1110
"testing"
1211

1312
"github.com/hyperledger/fabric-sdk-go/pkg/context/api/fab"
14-
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
1513
"github.com/hyperledger/fabric-sdk-go/pkg/fab/txn"
1614
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
1715
"github.com/hyperledger/fabric-sdk-go/test/integration"
18-
"github.com/hyperledger/fabric-sdk-go/test/metadata"
1916
"github.com/pkg/errors"
2017
)
2118

2219
// TestTransient ...
2320
func TestTransient(t *testing.T) {
24-
25-
testSetup := integration.BaseSetupImpl{
26-
ConfigFile: "../" + integration.ConfigTestFile,
27-
ChannelID: "mychannel",
28-
OrgID: org1Name,
29-
ChannelConfig: path.Join("../../../", metadata.ChannelConfigPath, "mychannel.tx"),
30-
}
31-
32-
sdk, err := fabsdk.New(config.FromFile(testSetup.ConfigFile))
33-
if err != nil {
34-
t.Fatalf("Failed to create new SDK: %s", err)
35-
}
36-
defer sdk.Close()
37-
38-
if err := testSetup.Initialize(sdk); err != nil {
39-
t.Fatalf(err.Error())
40-
}
41-
42-
chaincodeID := integration.GenerateRandomID()
43-
if err := integration.InstallAndInstantiateExampleCC(sdk, fabsdk.WithUser("Admin"), testSetup.OrgID, chaincodeID); err != nil {
44-
t.Fatalf("InstallAndInstantiateExampleCC return error: %v", err)
45-
}
21+
// Using shared SDK instance to increase test speed.
22+
sdk := mainSDK
23+
testSetup := mainTestSetup
24+
chaincodeID := mainChaincodeID
25+
26+
//testSetup := integration.BaseSetupImpl{
27+
// ConfigFile: "../" + integration.ConfigTestFile,
28+
// ChannelID: "mychannel",
29+
// OrgID: org1Name,
30+
// ChannelConfig: path.Join("../../../", metadata.ChannelConfigPath, "mychannel.tx"),
31+
//}
32+
33+
//sdk, err := fabsdk.New(config.FromFile(testSetup.ConfigFile))
34+
//if err != nil {
35+
// t.Fatalf("Failed to create new SDK: %s", err)
36+
//}
37+
//defer sdk.Close()
38+
39+
//if err := testSetup.Initialize(sdk); err != nil {
40+
// t.Fatalf(err.Error())
41+
//}
42+
43+
//chaincodeID := integration.GenerateRandomID()
44+
//if err := integration.InstallAndInstantiateExampleCC(sdk, fabsdk.WithUser("Admin"), testSetup.OrgID, chaincodeID); err != nil {
45+
// t.Fatalf("InstallAndInstantiateExampleCC return error: %v", err)
46+
//}
4647

4748
fcn := "invoke"
4849
transientData := "Transient data test..."

0 commit comments

Comments
 (0)