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

Commit 7f5d553

Browse files
committed
[FAB-8709] Move low level code to fab (tests)
Change-Id: I6eeb24f0d74aeff0a11fc3ac968427a42d81a0d7 Signed-off-by: Sandra Vrtikapa <sandra.vrtikapa@securekey.com>
1 parent f8ea53c commit 7f5d553

13 files changed

+258
-225
lines changed

pkg/fab/orderer/orderer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ func (o *Orderer) sendBroadcast(ctx reqContext.Context, envelope *fab.SignedEnve
250250

251251
conn, err := o.conn(ctx, secured)
252252
if err != nil {
253-
logger.Error("connecting to orderer failed [%s]", err)
253+
logger.Errorf("connecting to orderer failed [%s]", err)
254254
if secured && o.allowInsecure {
255255
//If secured mode failed and allow insecure is enabled then retry in insecure mode
256256
logger.Debug("Secured sendBroadcast failed, attempting insecured")

test/integration/base_test_setup.go

Lines changed: 8 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ package integration
99
import (
1010
"os"
1111
"path"
12-
"testing"
1312

1413
"github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"
1514
"github.com/hyperledger/fabric-sdk-go/pkg/common/context"
@@ -18,29 +17,20 @@ import (
1817
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
1918
packager "github.com/hyperledger/fabric-sdk-go/pkg/fab/ccpackager/gopackager"
2019
"github.com/hyperledger/fabric-sdk-go/pkg/fab/peer"
21-
"github.com/hyperledger/fabric-sdk-go/pkg/fab/resource/api"
22-
"github.com/hyperledger/fabric-sdk-go/pkg/fab/txn"
2320
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
24-
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/fabpvdr"
2521
"github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/common/cauthdsl"
26-
pb "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer"
2722
"github.com/pkg/errors"
2823
)
2924

3025
// BaseSetupImpl implementation of BaseTestSetup
3126
type BaseSetupImpl struct {
32-
SDK *fabsdk.FabricSDK
33-
Identity context.Identity
34-
Client api.Resource
35-
Transactor fab.Transactor
36-
Targets []fab.ProposalProcessor
37-
EventHub fab.EventHub
38-
ConnectEventHub bool
39-
ConfigFile string
40-
OrgID string
41-
ChannelID string
42-
Initialized bool
43-
ChannelConfig string
27+
SDK *fabsdk.FabricSDK
28+
Identity context.Identity
29+
Targets []fab.ProposalProcessor
30+
ConfigFile string
31+
OrgID string
32+
ChannelID string
33+
ChannelConfig string
4434
}
4535

4636
// Initial B values for ExampleCC
@@ -95,13 +85,6 @@ func (setup *BaseSetupImpl) Initialize() error {
9585
}
9686
setup.Identity = clientContext
9787

98-
//TODO - Below line needs to be replaced with resmgtmt.New once sdk contexts are available
99-
rc, err := sdk.FabricProvider().(*fabpvdr.FabricProvider).CreateResourceClient(setup.Identity)
100-
if err != nil {
101-
return errors.WithMessage(err, "NewResourceClient failed")
102-
}
103-
setup.Client = rc
104-
10588
targets, err := getOrgTargets(sdk.Config(), setup.OrgID)
10689
if err != nil {
10790
return errors.Wrapf(err, "loading target peers from config failed")
@@ -111,34 +94,8 @@ func (setup *BaseSetupImpl) Initialize() error {
11194
// Create channel for tests
11295
req := resmgmt.SaveChannelRequest{ChannelID: setup.ChannelID, ChannelConfig: setup.ChannelConfig, SigningIdentities: []context.Identity{clientContext}}
11396
if err = InitializeChannel(sdk, setup.OrgID, req, targets); err != nil {
114-
return errors.Wrapf(err, "failed to initialize channel")
115-
}
116-
117-
// Create the channel transactor
118-
channelContext, err := clientChannelContextProvider()
119-
if err != nil {
120-
return errors.WithMessage(err, "channel service creation failed")
121-
}
122-
chService := channelContext.ChannelService()
123-
124-
transactor, err := chService.Transactor()
125-
if err != nil {
126-
return errors.WithMessage(err, "transactor client creation failed")
127-
}
128-
setup.Transactor = transactor
129-
130-
eventHub, err := chService.EventHub()
131-
if err != nil {
132-
return errors.WithMessage(err, "eventhub client creation failed")
133-
}
134-
if setup.ConnectEventHub {
135-
if err := eventHub.Connect(); err != nil {
136-
return errors.WithMessage(err, "eventHub connect failed")
137-
}
97+
return errors.WithMessage(err, "failed to initialize channel")
13898
}
139-
setup.EventHub = eventHub
140-
141-
setup.Initialized = true
14299

143100
return nil
144101
}
@@ -165,19 +122,6 @@ func (setup *BaseSetupImpl) InitConfig() core.ConfigProvider {
165122
return config.FromFile(setup.ConfigFile)
166123
}
167124

168-
// InstallCC use low level client to install chaincode
169-
func (setup *BaseSetupImpl) InstallCC(name string, path string, version string, ccPackage *api.CCPackage, targets []fab.ProposalProcessor) error {
170-
171-
icr := api.InstallChaincodeRequest{Name: name, Path: path, Version: version, Package: ccPackage, Targets: targets}
172-
173-
_, _, err := setup.Client.InstallChaincode(icr)
174-
if err != nil {
175-
return errors.WithMessage(err, "InstallChaincode failed")
176-
}
177-
178-
return nil
179-
}
180-
181125
// GetDeployPath ..
182126
func GetDeployPath() string {
183127
pwd, _ := os.Getwd()
@@ -219,70 +163,3 @@ func InstallAndInstantiateCC(sdk *fabsdk.FabricSDK, user fabsdk.IdentityOption,
219163
ccPolicy := cauthdsl.SignedByMspMember(mspID)
220164
return resMgmtClient.InstantiateCC("mychannel", resmgmt.InstantiateCCRequest{Name: ccName, Path: ccPath, Version: ccVersion, Args: ccArgs, Policy: ccPolicy})
221165
}
222-
223-
// CreateAndSendTransactionProposal ... TODO duplicate
224-
func CreateAndSendTransactionProposal(transactor fab.ProposalSender, chainCodeID string,
225-
fcn string, args [][]byte, targets []fab.ProposalProcessor, transientData map[string][]byte) ([]*fab.TransactionProposalResponse, *fab.TransactionProposal, error) {
226-
227-
propReq := fab.ChaincodeInvokeRequest{
228-
Fcn: fcn,
229-
Args: args,
230-
TransientMap: transientData,
231-
ChaincodeID: chainCodeID,
232-
}
233-
234-
txh, err := transactor.CreateTransactionHeader()
235-
if err != nil {
236-
return nil, nil, errors.WithMessage(err, "creating transaction header failed")
237-
}
238-
239-
tp, err := txn.CreateChaincodeInvokeProposal(txh, propReq)
240-
if err != nil {
241-
return nil, nil, errors.WithMessage(err, "creating transaction proposal failed")
242-
}
243-
244-
tpr, err := transactor.SendTransactionProposal(tp, targets)
245-
return tpr, tp, err
246-
}
247-
248-
// CreateAndSendTransaction ...
249-
func CreateAndSendTransaction(transactor fab.Sender, proposal *fab.TransactionProposal, resps []*fab.TransactionProposalResponse) (*fab.TransactionResponse, error) {
250-
251-
txRequest := fab.TransactionRequest{
252-
Proposal: proposal,
253-
ProposalResponses: resps,
254-
}
255-
tx, err := transactor.CreateTransaction(txRequest)
256-
if err != nil {
257-
return nil, errors.WithMessage(err, "CreateTransaction failed")
258-
}
259-
260-
transactionResponse, err := transactor.SendTransaction(tx)
261-
if err != nil {
262-
return nil, errors.WithMessage(err, "SendTransaction failed")
263-
264-
}
265-
266-
return transactionResponse, nil
267-
}
268-
269-
// RegisterTxEvent registers on the given eventhub for the give transaction
270-
// returns a boolean channel which receives true when the event is complete
271-
// and an error channel for errors
272-
// TODO - Duplicate
273-
func RegisterTxEvent(t *testing.T, txID fab.TransactionID, eventHub fab.EventHub) (chan bool, chan error) {
274-
done := make(chan bool)
275-
fail := make(chan error)
276-
277-
eventHub.RegisterTxEvent(txID, func(txId fab.TransactionID, errorCode pb.TxValidationCode, err error) {
278-
if err != nil {
279-
t.Logf("Received error event for txid(%s)", txId)
280-
fail <- err
281-
} else {
282-
t.Logf("Received success event for txid(%s)", txId)
283-
done <- true
284-
}
285-
})
286-
287-
return done, fail
288-
}

0 commit comments

Comments
 (0)