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.

54 lines
1.4 KiB
Go

package server
import (
"testing"
"github.com/noahlann/nnet/pkg/config"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestInitCodecRegistry_RegistersOptionalCodecs(t *testing.T) {
reg := initCodecRegistry(&config.Config{})
// json is default from registry package; here we test msgpack and protobuf registration
c1, err1 := reg.Get("msgpack")
require.NoError(t, err1)
assert.NotNil(t, c1)
c2, err2 := reg.Get("protobuf")
require.NoError(t, err2)
assert.NotNil(t, c2)
}
func TestInitProtocolManager_RegistersNNet(t *testing.T) {
pm := initProtocolManager()
// Should be able to get nnet 1.0
p, err := pm.Get("nnet", "1.0")
require.NoError(t, err)
assert.NotNil(t, p)
assert.Equal(t, "nnet", p.Name())
assert.Equal(t, "1.0", p.Version())
}
func TestGetDefaultCodec(t *testing.T) {
cfg := &config.Config{}
helper := newServerConfigHelper(cfg)
assert.Equal(t, "binary", helper.DefaultCodec())
cfg.Codec = &config.CodecConfig{DefaultCodec: "msgpack"}
helper = newServerConfigHelper(cfg)
assert.Equal(t, "msgpack", helper.DefaultCodec())
}
func TestIsProtocolEncodeEnabled(t *testing.T) {
cfg := &config.Config{}
helper := newServerConfigHelper(cfg)
assert.False(t, helper.IsProtocolEncodeEnabled())
cfg.Codec = &config.CodecConfig{EnableProtocolEncode: true}
helper = newServerConfigHelper(cfg)
assert.True(t, helper.IsProtocolEncodeEnabled())
}