frostfs-node/cmd/frostfs-node/config/morph/config_test.go
Dmitrii Stepanov bb78b96830
Some checks failed
DCO action / DCO (pull_request) Successful in 4m23s
Build / Build Components (1.20) (pull_request) Successful in 8m26s
Build / Build Components (1.21) (pull_request) Successful in 8m53s
Tests and linters / Lint (pull_request) Failing after 11m5s
Vulncheck / Vulncheck (pull_request) Successful in 11m13s
Tests and linters / Staticcheck (pull_request) Successful in 14m39s
Tests and linters / Tests with -race (pull_request) Successful in 14m53s
Tests and linters / Tests (1.21) (pull_request) Successful in 15m3s
Tests and linters / Tests (1.20) (pull_request) Successful in 15m17s
[#1015] morph: Fail if there is no events
Neo-Go can stuck, frostfs-node can stuck too. So try to restart
if there is no events from neo-go for a long period of time.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-03-01 10:40:17 +03:00

51 lines
1.6 KiB
Go

package morphconfig_test
import (
"testing"
"time"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config"
morphconfig "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/morph"
configtest "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/test"
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/client"
"github.com/stretchr/testify/require"
)
func TestMorphSection(t *testing.T) {
t.Run("defaults", func(t *testing.T) {
empty := configtest.EmptyConfig()
require.Panics(t, func() { morphconfig.RPCEndpoint(empty) })
require.Equal(t, morphconfig.DialTimeoutDefault, morphconfig.DialTimeout(empty))
require.Equal(t, morphconfig.CacheTTLDefault, morphconfig.CacheTTL(empty))
require.Equal(t, morphconfig.SwitchIntervalDefault, morphconfig.SwitchInterval(empty))
require.Equal(t, morphconfig.InactivityTimeoutDefault, morphconfig.InactivityTimeout(empty))
})
const path = "../../../../config/example/node"
rpcs := []client.Endpoint{
{
Address: "wss://rpc1.morph.frostfs.info:40341/ws",
Priority: 1,
},
{
Address: "wss://rpc2.morph.frostfs.info:40341/ws",
Priority: 2,
},
}
fileConfigTest := func(c *config.Config) {
require.Equal(t, rpcs, morphconfig.RPCEndpoint(c))
require.Equal(t, 30*time.Second, morphconfig.DialTimeout(c))
require.Equal(t, 15*time.Second, morphconfig.CacheTTL(c))
require.Equal(t, 3*time.Minute, morphconfig.SwitchInterval(c))
require.Equal(t, 30*time.Minute, morphconfig.InactivityTimeout(c))
}
configtest.ForEachFileType(path, fileConfigTest)
t.Run("ENV", func(t *testing.T) {
configtest.ForEnvFileType(t, path, fileConfigTest)
})
}