Skip to content

Commit 59eb56d

Browse files
committed
[FAB-2207] Add test case for the wait time config
Change-Id: If3b19a173a7423c76f51d2814ee8c14723c505cf Signed-off-by: Ray Chen <[email protected]>
1 parent ed7ed80 commit 59eb56d

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

gossip/gossip/algo/pull_test.go

+34
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package algo
1818

1919
import (
20+
"strings"
2021
"sync"
2122
"testing"
2223
"time"
@@ -25,6 +26,7 @@ import (
2526
"sync/atomic"
2627

2728
"github.com/hyperledger/fabric/gossip/util"
29+
"github.com/spf13/viper"
2830
"github.com/stretchr/testify/assert"
2931
)
3032

@@ -502,6 +504,38 @@ func TestSpread(t *testing.T) {
502504

503505
}
504506

507+
func TestDefaultConfig(t *testing.T) {
508+
preDigestWaitTime := util.GetDurationOrDefault("peer.gossip.digestWaitTime", defDigestWaitTime)
509+
preRequestWaitTime := util.GetDurationOrDefault("peer.gossip.requestWaitTime", defRequestWaitTime)
510+
preResponseWaitTime := util.GetDurationOrDefault("peer.gossip.responseWaitTime", defResponseWaitTime)
511+
defer func() {
512+
SetDigestWaitTime(preDigestWaitTime)
513+
SetRequestWaitTime(preRequestWaitTime)
514+
SetResponseWaitTime(preResponseWaitTime)
515+
}()
516+
517+
// Check if we can read default duration when no properties are
518+
// defined in config file.
519+
viper.Reset()
520+
assert.Equal(t, time.Duration(1)*time.Second, util.GetDurationOrDefault("peer.gossip.digestWaitTime", defDigestWaitTime))
521+
assert.Equal(t, time.Duration(1)*time.Second, util.GetDurationOrDefault("peer.gossip.requestWaitTime", defRequestWaitTime))
522+
assert.Equal(t, time.Duration(2)*time.Second, util.GetDurationOrDefault("peer.gossip.responseWaitTime", defResponseWaitTime))
523+
524+
// Check if the properties in the config file (peer/core.yaml)
525+
// are set to the desired duration.
526+
viper.Reset()
527+
viper.SetConfigName("core")
528+
viper.SetEnvPrefix("CORE")
529+
viper.AddConfigPath("./../../../peer")
530+
viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
531+
viper.AutomaticEnv()
532+
err := viper.ReadInConfig()
533+
assert.NoError(t, err)
534+
assert.Equal(t, time.Duration(1)*time.Second, util.GetDurationOrDefault("peer.gossip.digestWaitTime", defDigestWaitTime))
535+
assert.Equal(t, time.Duration(1)*time.Second, util.GetDurationOrDefault("peer.gossip.requestWaitTime", defRequestWaitTime))
536+
assert.Equal(t, time.Duration(2)*time.Second, util.GetDurationOrDefault("peer.gossip.responseWaitTime", defResponseWaitTime))
537+
}
538+
505539
func Strcmp(a interface{}, b interface{}) bool {
506540
return a.(string) == b.(string)
507541
}

0 commit comments

Comments
 (0)