You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package config
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestDefaultConfigValues(t *testing.T) {
|
|
cfg := DefaultConfig()
|
|
require.NotNil(t, cfg)
|
|
assert.Equal(t, "tcp://:6995", cfg.Addr)
|
|
assert.Equal(t, "tcp", cfg.Network)
|
|
assert.Equal(t, 4096, cfg.ReadBufferSize)
|
|
assert.Equal(t, 4096, cfg.WriteBufferSize)
|
|
assert.Equal(t, 10000, cfg.MaxConnections)
|
|
assert.Equal(t, "nnet", cfg.ApplicationProtocol)
|
|
assert.NotNil(t, cfg.Logger)
|
|
assert.NotNil(t, cfg.Metrics)
|
|
assert.NotNil(t, cfg.Session)
|
|
assert.NotNil(t, cfg.Codec)
|
|
}
|
|
|
|
func TestValidate_AddrRequired(t *testing.T) {
|
|
cfg := &Config{Addr: ""}
|
|
err := cfg.Validate()
|
|
require.Error(t, err)
|
|
}
|
|
|
|
func TestValidate_FillsDefaults(t *testing.T) {
|
|
cfg := &Config{
|
|
Addr: "tcp://:0",
|
|
ReadBufferSize: 0,
|
|
WriteBufferSize: -1,
|
|
MaxConnections: 0,
|
|
Network: "",
|
|
}
|
|
err := cfg.Validate()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "tcp", cfg.Network)
|
|
assert.Equal(t, 4096, cfg.ReadBufferSize)
|
|
assert.Equal(t, 4096, cfg.WriteBufferSize)
|
|
assert.Equal(t, 10000, cfg.MaxConnections)
|
|
}
|
|
|
|
func TestCodecConfig_Defaults(t *testing.T) {
|
|
cfg := DefaultConfig()
|
|
require.NotNil(t, cfg.Codec)
|
|
assert.Equal(t, "binary", cfg.Codec.DefaultCodec)
|
|
assert.False(t, cfg.Codec.EnableProtocolEncode)
|
|
}
|
|
|
|
func TestSessionConfig_Defaults(t *testing.T) {
|
|
cfg := DefaultConfig()
|
|
require.NotNil(t, cfg.Session)
|
|
assert.Equal(t, "memory", cfg.Session.Storage)
|
|
assert.GreaterOrEqual(t, cfg.Session.Expiration, 1*time.Hour)
|
|
}
|