mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-05 05:18:52 +08:00
94 lines
2.0 KiB
Go
94 lines
2.0 KiB
Go
|
package datacoord
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/milvus-io/milvus/internal/proto/commonpb"
|
||
|
"github.com/milvus-io/milvus/internal/proto/rootcoordpb"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestVerifyResponse(t *testing.T) {
|
||
|
type testCase struct {
|
||
|
resp interface{}
|
||
|
err error
|
||
|
expected error
|
||
|
equalValue bool
|
||
|
}
|
||
|
cases := []testCase{
|
||
|
{
|
||
|
resp: nil,
|
||
|
err: errors.New("boom"),
|
||
|
expected: errors.New("boom"),
|
||
|
equalValue: true,
|
||
|
},
|
||
|
{
|
||
|
resp: nil,
|
||
|
err: nil,
|
||
|
expected: errNilResponse,
|
||
|
equalValue: false,
|
||
|
},
|
||
|
{
|
||
|
resp: &commonpb.Status{ErrorCode: commonpb.ErrorCode_Success},
|
||
|
err: nil,
|
||
|
expected: nil,
|
||
|
equalValue: false,
|
||
|
},
|
||
|
{
|
||
|
resp: &commonpb.Status{ErrorCode: commonpb.ErrorCode_UnexpectedError, Reason: "r1"},
|
||
|
err: nil,
|
||
|
expected: errors.New("r1"),
|
||
|
equalValue: true,
|
||
|
},
|
||
|
{
|
||
|
resp: (*commonpb.Status)(nil),
|
||
|
err: nil,
|
||
|
expected: errNilResponse,
|
||
|
equalValue: false,
|
||
|
},
|
||
|
{
|
||
|
resp: &rootcoordpb.AllocIDResponse{
|
||
|
Status: &commonpb.Status{ErrorCode: commonpb.ErrorCode_Success},
|
||
|
},
|
||
|
err: nil,
|
||
|
expected: nil,
|
||
|
equalValue: false,
|
||
|
},
|
||
|
{
|
||
|
resp: &rootcoordpb.AllocIDResponse{
|
||
|
Status: &commonpb.Status{ErrorCode: commonpb.ErrorCode_UnexpectedError, Reason: "r2"},
|
||
|
},
|
||
|
err: nil,
|
||
|
expected: errors.New("r2"),
|
||
|
equalValue: true,
|
||
|
},
|
||
|
{
|
||
|
resp: &rootcoordpb.AllocIDResponse{},
|
||
|
err: nil,
|
||
|
expected: errNilStatusResponse,
|
||
|
equalValue: true,
|
||
|
},
|
||
|
{
|
||
|
resp: (*rootcoordpb.AllocIDResponse)(nil),
|
||
|
err: nil,
|
||
|
expected: errNilStatusResponse,
|
||
|
equalValue: true,
|
||
|
},
|
||
|
{
|
||
|
resp: struct{}{},
|
||
|
err: nil,
|
||
|
expected: errUnknownResponseType,
|
||
|
equalValue: false,
|
||
|
},
|
||
|
}
|
||
|
for _, c := range cases {
|
||
|
r := VerifyResponse(c.resp, c.err)
|
||
|
if c.equalValue {
|
||
|
assert.EqualValues(t, c.expected, r)
|
||
|
} else {
|
||
|
assert.Equal(t, c.expected, r)
|
||
|
}
|
||
|
}
|
||
|
}
|