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()) }