milvus/internal/proxy/get_max_len_test.go

60 lines
1.2 KiB
Go

package proxy
import (
"testing"
"github.com/milvus-io/milvus-proto/go-api/commonpb"
"github.com/milvus-io/milvus/pkg/common"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus-proto/go-api/schemapb"
)
func TestGetMaxLength(t *testing.T) {
t.Run("not string type", func(t *testing.T) {
f := &schemapb.FieldSchema{
DataType: schemapb.DataType_Bool,
}
_, err := GetMaxLength(f)
assert.Error(t, err)
})
t.Run("max length not found", func(t *testing.T) {
f := &schemapb.FieldSchema{
DataType: schemapb.DataType_VarChar,
}
_, err := GetMaxLength(f)
assert.Error(t, err)
})
t.Run("max length not int", func(t *testing.T) {
f := &schemapb.FieldSchema{
DataType: schemapb.DataType_VarChar,
TypeParams: []*commonpb.KeyValuePair{
{
Key: common.MaxLengthKey,
Value: "not_int_aha",
},
},
}
_, err := GetMaxLength(f)
assert.Error(t, err)
})
t.Run("normal case", func(t *testing.T) {
f := &schemapb.FieldSchema{
DataType: schemapb.DataType_VarChar,
TypeParams: []*commonpb.KeyValuePair{
{
Key: common.MaxLengthKey,
Value: "100",
},
},
}
maxLength, err := GetMaxLength(f)
assert.NoError(t, err)
assert.Equal(t, int64(100), maxLength)
})
}