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

Commit a7dfa53

Browse files
bstasyszyntroyronda
authored andcommitted
[FAB-10898] Fix integration tests by adding retries
Change-Id: I3c66787dcf9815de337bc7f437b28fe8567cd853 Signed-off-by: Bob Stasyszyn <Bob.Stasyszyn@securekey.com>
1 parent 6decf5f commit a7dfa53

File tree

8 files changed

+32
-16
lines changed

8 files changed

+32
-16
lines changed

test/integration/e2e/no_orderer_config_test.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"time"
1313

1414
"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
15+
"github.com/hyperledger/fabric-sdk-go/pkg/common/errors/retry"
1516
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
1617
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab"
1718
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
@@ -54,7 +55,8 @@ func runWithNoOrdererConfig(t *testing.T, configOpt core.ConfigProvider, sdkOpts
5455

5556
response, err := client.Query(
5657
channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()},
57-
channel.WithTargetFilter(discoveryFilter))
58+
channel.WithTargetFilter(discoveryFilter),
59+
channel.WithRetry(retry.DefaultChannelOpts))
5860
if err != nil {
5961
t.Fatalf("Failed to query funds: %s", err)
6062
}
@@ -79,7 +81,8 @@ func runWithNoOrdererConfig(t *testing.T, configOpt core.ConfigProvider, sdkOpts
7981
}
8082

8183
func moveFunds(response channel.Response, client *channel.Client, t *testing.T, notifier <-chan *fab.CCEvent, eventID string, value []byte) {
82-
response, err := client.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()})
84+
response, err := client.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()},
85+
channel.WithRetry(retry.DefaultChannelOpts))
8386
if err != nil {
8487
t.Fatalf("Failed to move funds: %s", err)
8588
}
@@ -90,7 +93,8 @@ func moveFunds(response channel.Response, client *channel.Client, t *testing.T,
9093
t.Fatalf("Did NOT receive CC event for eventId(%s)\n", eventID)
9194
}
9295
// Verify move funds transaction result
93-
response, err = client.Query(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()})
96+
response, err = client.Query(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()},
97+
channel.WithRetry(retry.DefaultChannelOpts))
9498
if err != nil {
9599
t.Fatalf("Failed to query funds after transaction: %s", err)
96100
}

test/integration/fab/channel_ledger_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func changeBlockState(t *testing.T, client *channel.Client, chaincodeID string)
146146
Fcn: "invoke",
147147
Args: integration.ExampleCCQueryArgs(),
148148
}
149-
resp, err := client.Query(req)
149+
resp, err := client.Query(req, channel.WithRetry(retry.DefaultChannelOpts))
150150
if err != nil {
151151
return "", errors.WithMessage(err, "query funds failed")
152152
}
@@ -158,7 +158,7 @@ func changeBlockState(t *testing.T, client *channel.Client, chaincodeID string)
158158
return "", errors.WithMessage(err, "move funds failed")
159159
}
160160

161-
resp, err = client.Query(req)
161+
resp, err = client.Query(req, channel.WithRetry(retry.DefaultChannelOpts))
162162
if err != nil {
163163
return "", errors.WithMessage(err, "query funds failed")
164164
}
@@ -287,7 +287,7 @@ func moveFundsAndGetTxID(t *testing.T, client *channel.Client, chaincodeID strin
287287
Args: integration.ExampleCCTxArgs(),
288288
TransientMap: transientDataMap,
289289
}
290-
resp, err := client.Execute(req)
290+
resp, err := client.Execute(req, channel.WithRetry(retry.DefaultChannelOpts))
291291
if err != nil {
292292
return "", errors.WithMessage(err, "execute move funds failed")
293293
}

test/integration/revoked/revoked_peer_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ func queryCC(org1ChannelClientContext contextAPI.ChannelProvider, t *testing.T)
178178
// Error in container is :
179179
// .... identity 0 does not satisfy principal:
180180
// Could not validate identity against certification chain, err The certificate has been revoked
181-
_, err = chClientOrg1User.Query(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCQueryArgs()})
181+
_, err = chClientOrg1User.Query(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCQueryArgs()},
182+
channel.WithRetry(retry.DefaultChannelOpts))
182183
if err == nil {
183184
t.Fatal("Expected error: '....Description: could not find chaincode with name 'exampleCC',,, ")
184185
}

test/integration/sdk/channel_client_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ func TestChannelClient(t *testing.T) {
6464
Fcn: "invoke",
6565
Args: integration.ExampleCCTxArgs(),
6666
TransientMap: transientDataMap,
67-
})
67+
},
68+
channel.WithRetry(retry.DefaultChannelOpts))
6869
if err != nil {
6970
t.Fatalf("Failed to move funds: %s", err)
7071
}
@@ -338,7 +339,8 @@ func testChaincodeEvent(ccID string, chClient *channel.Client, t *testing.T) {
338339
}
339340
defer chClient.UnregisterChaincodeEvent(reg)
340341

341-
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()})
342+
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()},
343+
channel.WithRetry(retry.DefaultChannelOpts))
342344
if err != nil {
343345
t.Fatalf("Failed to move funds: %s", err)
344346
}
@@ -365,7 +367,8 @@ func testChaincodeEventListener(ccID string, chClient *channel.Client, listener
365367
}
366368
defer chClient.UnregisterChaincodeEvent(reg)
367369

368-
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: append(integration.ExampleCCTxArgs(), []byte(eventID))})
370+
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: append(integration.ExampleCCTxArgs(), []byte(eventID))},
371+
channel.WithRetry(retry.DefaultChannelOpts))
369372
if err != nil {
370373
t.Fatalf("Failed to move funds: %s", err)
371374
}

test/integration/sdk/custom_cryptosuite_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp"
1515
bccspSw "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory/sw"
1616
"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
17+
"github.com/hyperledger/fabric-sdk-go/pkg/common/errors/retry"
1718
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/core"
1819
"github.com/hyperledger/fabric-sdk-go/pkg/core/cryptosuite"
1920
"github.com/hyperledger/fabric-sdk-go/pkg/core/cryptosuite/bccsp/wrapper"
@@ -87,7 +88,8 @@ func TestEndToEndForCustomCryptoSuite(t *testing.T) {
8788
t.Fatalf("Failed to create new channel client: %s", err)
8889
}
8990

90-
response, err := chClient.Query(channel.Request{ChaincodeID: chainCodeID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()})
91+
response, err := chClient.Query(channel.Request{ChaincodeID: chainCodeID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()},
92+
channel.WithRetry(retry.DefaultChannelOpts))
9193
if err != nil {
9294
t.Fatalf("Failed to query funds: %s", err)
9395
}

test/integration/sdk/events_client_test.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414

1515
"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
1616
"github.com/hyperledger/fabric-sdk-go/pkg/client/event"
17+
"github.com/hyperledger/fabric-sdk-go/pkg/common/errors/retry"
1718
"github.com/hyperledger/fabric-sdk-go/pkg/fab/events/deliverclient/seek"
1819
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
1920
"github.com/hyperledger/fabric-sdk-go/test/integration"
@@ -96,7 +97,8 @@ func testCCEvent(ccID string, chClient *channel.Client, eventClient *event.Clien
9697
}
9798
defer eventClient.Unregister(reg)
9899

99-
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: append(integration.ExampleCCTxArgs(), []byte(eventID))})
100+
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: append(integration.ExampleCCTxArgs(), []byte(eventID))},
101+
channel.WithRetry(retry.DefaultChannelOpts))
100102
if err != nil {
101103
t.Fatalf("Failed to move funds: %s", err)
102104
}
@@ -127,7 +129,8 @@ func testRegisterBlockEvent(ccID string, chClient *channel.Client, eventClient *
127129
}
128130
defer eventClient.Unregister(breg)
129131

130-
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()})
132+
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()},
133+
channel.WithRetry(retry.DefaultChannelOpts))
131134
if err != nil {
132135
t.Fatalf("Failed to move funds: %s", err)
133136
}
@@ -154,7 +157,8 @@ func testRegisterFilteredBlockEvent(ccID string, chClient *channel.Client, event
154157
}
155158
defer eventClient.Unregister(fbreg)
156159

157-
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()})
160+
response, err := chClient.Execute(channel.Request{ChaincodeID: ccID, Fcn: "invoke", Args: integration.ExampleCCTxArgs()},
161+
channel.WithRetry(retry.DefaultChannelOpts))
158162
if err != nil {
159163
t.Fatalf("Failed to move funds: %s", err)
160164
}

test/integration/sdk/sdk_parent_context_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ func TestParentContext(t *testing.T) {
6464
}
6565

6666
_, err = chClient.Query(channel.Request{ChaincodeID: chaincodeID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()},
67-
channel.WithParentContext(parentContext))
67+
channel.WithParentContext(parentContext),
68+
channel.WithRetry(retry.DefaultChannelOpts))
6869
if err == nil || !strings.Contains(err.Error(), "request timed out or been cancelled") {
6970
t.Fatalf("expected context cancelled error but got: %s", err)
7071
}

test/integration/sdk/sdk_provider_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ func TestDynamicSelection(t *testing.T) {
7474
success := false
7575
for i := 0; i < 5; i++ {
7676
// Verify move funds transaction result
77-
response, err = chClient.Query(channel.Request{ChaincodeID: chainCodeID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()})
77+
response, err = chClient.Query(channel.Request{ChaincodeID: chainCodeID, Fcn: "invoke", Args: integration.ExampleCCQueryArgs()},
78+
channel.WithRetry(retry.DefaultChannelOpts))
7879
if err != nil {
7980
t.Fatalf("Failed to query funds after transaction: %s", err)
8081
}

0 commit comments

Comments
 (0)