mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
integration: test grpc error equivalence with Error()
This commit is contained in:
parent
51c5c307fa
commit
07ed4da2ff
@ -191,7 +191,7 @@ func TestV3TxnTooManyOps(t *testing.T) {
|
||||
}
|
||||
|
||||
_, err := kvc.Txn(context.Background(), txn)
|
||||
if err != rpctypes.ErrGRPCTooManyOps {
|
||||
if !eqErrGRPC(err, rpctypes.ErrGRPCTooManyOps) {
|
||||
t.Errorf("#%d: err = %v, want %v", i, err, rpctypes.ErrGRPCTooManyOps)
|
||||
}
|
||||
}
|
||||
@ -257,7 +257,7 @@ func TestV3TxnDuplicateKeys(t *testing.T) {
|
||||
for i, tt := range tests {
|
||||
txn := &pb.TxnRequest{Success: tt.txnSuccess}
|
||||
_, err := kvc.Txn(context.Background(), txn)
|
||||
if err != tt.werr {
|
||||
if !eqErrGRPC(err, tt.werr) {
|
||||
t.Errorf("#%d: err = %v, want %v", i, err, tt.werr)
|
||||
}
|
||||
}
|
||||
@ -481,8 +481,8 @@ func TestV3DeleteRange(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestV3TxnInvaildRange tests txn
|
||||
func TestV3TxnInvaildRange(t *testing.T) {
|
||||
// TestV3TxnInvalidRange tests that invalid ranges are rejected in txns.
|
||||
func TestV3TxnInvalidRange(t *testing.T) {
|
||||
defer testutil.AfterTest(t)
|
||||
clus := NewClusterV3(t, &ClusterConfig{Size: 3})
|
||||
defer clus.Terminate(t)
|
||||
@ -513,14 +513,14 @@ func TestV3TxnInvaildRange(t *testing.T) {
|
||||
Request: &pb.RequestOp_RequestRange{
|
||||
RequestRange: rreq}})
|
||||
|
||||
if _, err := kvc.Txn(context.TODO(), txn); err != rpctypes.ErrGRPCFutureRev {
|
||||
if _, err := kvc.Txn(context.TODO(), txn); !eqErrGRPC(err, rpctypes.ErrGRPCFutureRev) {
|
||||
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCFutureRev)
|
||||
}
|
||||
|
||||
// compacted rev
|
||||
tv, _ := txn.Success[1].Request.(*pb.RequestOp_RequestRange)
|
||||
tv.RequestRange.Revision = 1
|
||||
if _, err := kvc.Txn(context.TODO(), txn); err != rpctypes.ErrGRPCCompacted {
|
||||
if _, err := kvc.Txn(context.TODO(), txn); !eqErrGRPC(err, rpctypes.ErrGRPCCompacted) {
|
||||
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCCompacted)
|
||||
}
|
||||
}
|
||||
@ -538,7 +538,7 @@ func TestV3TooLargeRequest(t *testing.T) {
|
||||
preq := &pb.PutRequest{Key: []byte("foo"), Value: largeV}
|
||||
|
||||
_, err := kvc.Put(context.Background(), preq)
|
||||
if err != rpctypes.ErrGRPCRequestTooLarge {
|
||||
if !eqErrGRPC(err, rpctypes.ErrGRPCRequestTooLarge) {
|
||||
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCRequestTooLarge)
|
||||
}
|
||||
}
|
||||
@ -592,7 +592,7 @@ func TestV3StorageQuotaAPI(t *testing.T) {
|
||||
// test big put
|
||||
bigbuf := make([]byte, 64*1024)
|
||||
_, err := kvc.Put(context.TODO(), &pb.PutRequest{Key: key, Value: bigbuf})
|
||||
if err == nil || err != rpctypes.ErrGRPCNoSpace {
|
||||
if !eqErrGRPC(err, rpctypes.ErrGRPCNoSpace) {
|
||||
t.Fatalf("big put got %v, expected %v", err, rpctypes.ErrGRPCNoSpace)
|
||||
}
|
||||
|
||||
@ -608,7 +608,7 @@ func TestV3StorageQuotaAPI(t *testing.T) {
|
||||
txnreq := &pb.TxnRequest{}
|
||||
txnreq.Success = append(txnreq.Success, puttxn)
|
||||
_, txnerr := kvc.Txn(context.TODO(), txnreq)
|
||||
if txnerr == nil || err != rpctypes.ErrGRPCNoSpace {
|
||||
if !eqErrGRPC(txnerr, rpctypes.ErrGRPCNoSpace) {
|
||||
t.Fatalf("big txn got %v, expected %v", err, rpctypes.ErrGRPCNoSpace)
|
||||
}
|
||||
}
|
||||
@ -707,7 +707,7 @@ func TestV3AlarmDeactivate(t *testing.T) {
|
||||
key := []byte("abc")
|
||||
smallbuf := make([]byte, 512)
|
||||
_, err := kvc.Put(context.TODO(), &pb.PutRequest{Key: key, Value: smallbuf})
|
||||
if err == nil && err != rpctypes.ErrGRPCNoSpace {
|
||||
if err == nil && !eqErrGRPC(err, rpctypes.ErrGRPCNoSpace) {
|
||||
t.Fatalf("put got %v, expected %v", err, rpctypes.ErrGRPCNoSpace)
|
||||
}
|
||||
|
||||
@ -1061,3 +1061,7 @@ func TestGRPCStreamRequireLeader(t *testing.T) {
|
||||
t.Errorf("err = %v, want nil", err)
|
||||
}
|
||||
}
|
||||
|
||||
func eqErrGRPC(err1 error, err2 error) bool {
|
||||
return !(err1 == nil && err2 != nil) || err1.Error() == err2.Error()
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func TestV3LeaseGrantByID(t *testing.T) {
|
||||
lresp, err = toGRPC(clus.RandClient()).Lease.LeaseGrant(
|
||||
context.TODO(),
|
||||
&pb.LeaseGrantRequest{ID: 1, TTL: 1})
|
||||
if err != rpctypes.ErrGRPCLeaseExist {
|
||||
if !eqErrGRPC(err, rpctypes.ErrGRPCLeaseExist) {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
@ -242,7 +242,7 @@ func TestV3PutOnNonExistLease(t *testing.T) {
|
||||
badLeaseID := int64(0x12345678)
|
||||
putr := &pb.PutRequest{Key: []byte("foo"), Value: []byte("bar"), Lease: badLeaseID}
|
||||
_, err := toGRPC(clus.RandClient()).KV.Put(ctx, putr)
|
||||
if err != rpctypes.ErrGRPCLeaseNotFound {
|
||||
if !eqErrGRPC(err, rpctypes.ErrGRPCLeaseNotFound) {
|
||||
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCCompacted)
|
||||
}
|
||||
}
|
||||
@ -424,7 +424,7 @@ func leaseExist(t *testing.T, clus *ClusterV3, leaseID int64) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
if err == rpctypes.ErrGRPCLeaseExist {
|
||||
if eqErrGRPC(err, rpctypes.ErrGRPCLeaseExist) {
|
||||
return true
|
||||
}
|
||||
t.Fatalf("unexpecter error %v", err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user