68 lines
1.3 KiB
Go
68 lines
1.3 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package config
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/spf13/viper"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
var testConfig = []byte(`
|
|
peer:
|
|
gateway:
|
|
enabled: true
|
|
endorsementTimeout: 30s
|
|
broadcastTimeout: 20s
|
|
dialTimeout: 2m
|
|
`)
|
|
|
|
var testConfigOff = []byte(`
|
|
peer:
|
|
gateway:
|
|
enabled: false
|
|
`)
|
|
|
|
func TestDefaultOptions(t *testing.T) {
|
|
v := viper.New()
|
|
options := GetOptions(v)
|
|
require.Equal(t, defaultOptions, options)
|
|
}
|
|
|
|
func TestOverriddenOptions(t *testing.T) {
|
|
v := viper.New()
|
|
v.SetConfigType("yaml")
|
|
v.ReadConfig(bytes.NewBuffer(testConfig))
|
|
options := GetOptions(v)
|
|
|
|
expectedOptions := Options{
|
|
Enabled: true,
|
|
EndorsementTimeout: 30 * time.Second,
|
|
BroadcastTimeout: 20 * time.Second,
|
|
DialTimeout: 2 * time.Minute,
|
|
}
|
|
require.Equal(t, expectedOptions, options)
|
|
}
|
|
|
|
func TestDisabledGatewayOption(t *testing.T) {
|
|
v := viper.New()
|
|
v.SetConfigType("yaml")
|
|
v.ReadConfig(bytes.NewBuffer(testConfigOff))
|
|
options := GetOptions(v)
|
|
|
|
expectedOptions := Options{
|
|
Enabled: false,
|
|
EndorsementTimeout: 10 * time.Second,
|
|
BroadcastTimeout: 10 * time.Second,
|
|
DialTimeout: 30 * time.Second,
|
|
}
|
|
require.Equal(t, expectedOptions, options)
|
|
}
|