@@ -17,6 +17,7 @@ limitations under the License.
17
17
package algo
18
18
19
19
import (
20
+ "strings"
20
21
"sync"
21
22
"testing"
22
23
"time"
@@ -25,6 +26,7 @@ import (
25
26
"sync/atomic"
26
27
27
28
"github.com/hyperledger/fabric/gossip/util"
29
+ "github.com/spf13/viper"
28
30
"github.com/stretchr/testify/assert"
29
31
)
30
32
@@ -502,6 +504,38 @@ func TestSpread(t *testing.T) {
502
504
503
505
}
504
506
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
+
505
539
func Strcmp (a interface {}, b interface {}) bool {
506
540
return a .(string ) == b .(string )
507
541
}
0 commit comments