forked from TrueCloudLab/frostfs-node
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
package multinet
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config"
|
|
configtest "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/test"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestMultinetSection(t *testing.T) {
|
|
t.Run("defaults", func(t *testing.T) {
|
|
empty := configtest.EmptyConfig()
|
|
require.Equal(t, false, Enabled(empty))
|
|
require.Equal(t, ([]Subnet)(nil), Subnets(empty))
|
|
require.Equal(t, "", Balancer(empty))
|
|
require.Equal(t, false, Restrict(empty))
|
|
require.Equal(t, FallbackDelayDefault, FallbackDelay(empty))
|
|
})
|
|
|
|
const path = "../../../../config/example/node"
|
|
|
|
fileConfigTest := func(c *config.Config) {
|
|
require.Equal(t, true, Enabled(c))
|
|
require.Equal(t, []Subnet{
|
|
{
|
|
Mask: "192.168.219.174/24",
|
|
SourceIPs: []string{
|
|
"192.168.218.185",
|
|
"192.168.219.185",
|
|
},
|
|
},
|
|
{
|
|
Mask: "10.78.70.74/24",
|
|
SourceIPs: []string{
|
|
"10.78.70.185",
|
|
"10.78.71.185",
|
|
},
|
|
},
|
|
}, Subnets(c))
|
|
require.Equal(t, "roundrobin", Balancer(c))
|
|
require.Equal(t, false, Restrict(c))
|
|
require.Equal(t, 350*time.Millisecond, FallbackDelay(c))
|
|
}
|
|
|
|
configtest.ForEachFileType(path, fileConfigTest)
|
|
|
|
t.Run("ENV", func(t *testing.T) {
|
|
configtest.ForEnvFileType(t, path, fileConfigTest)
|
|
})
|
|
}
|