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)
|
_, 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)
|
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 {
|
for i, tt := range tests {
|
||||||
txn := &pb.TxnRequest{Success: tt.txnSuccess}
|
txn := &pb.TxnRequest{Success: tt.txnSuccess}
|
||||||
_, err := kvc.Txn(context.Background(), txn)
|
_, 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)
|
t.Errorf("#%d: err = %v, want %v", i, err, tt.werr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -481,8 +481,8 @@ func TestV3DeleteRange(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestV3TxnInvaildRange tests txn
|
// TestV3TxnInvalidRange tests that invalid ranges are rejected in txns.
|
||||||
func TestV3TxnInvaildRange(t *testing.T) {
|
func TestV3TxnInvalidRange(t *testing.T) {
|
||||||
defer testutil.AfterTest(t)
|
defer testutil.AfterTest(t)
|
||||||
clus := NewClusterV3(t, &ClusterConfig{Size: 3})
|
clus := NewClusterV3(t, &ClusterConfig{Size: 3})
|
||||||
defer clus.Terminate(t)
|
defer clus.Terminate(t)
|
||||||
@ -513,14 +513,14 @@ func TestV3TxnInvaildRange(t *testing.T) {
|
|||||||
Request: &pb.RequestOp_RequestRange{
|
Request: &pb.RequestOp_RequestRange{
|
||||||
RequestRange: rreq}})
|
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)
|
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCFutureRev)
|
||||||
}
|
}
|
||||||
|
|
||||||
// compacted rev
|
// compacted rev
|
||||||
tv, _ := txn.Success[1].Request.(*pb.RequestOp_RequestRange)
|
tv, _ := txn.Success[1].Request.(*pb.RequestOp_RequestRange)
|
||||||
tv.RequestRange.Revision = 1
|
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)
|
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}
|
preq := &pb.PutRequest{Key: []byte("foo"), Value: largeV}
|
||||||
|
|
||||||
_, err := kvc.Put(context.Background(), preq)
|
_, err := kvc.Put(context.Background(), preq)
|
||||||
if err != rpctypes.ErrGRPCRequestTooLarge {
|
if !eqErrGRPC(err, rpctypes.ErrGRPCRequestTooLarge) {
|
||||||
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCRequestTooLarge)
|
t.Errorf("err = %v, want %v", err, rpctypes.ErrGRPCRequestTooLarge)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -592,7 +592,7 @@ func TestV3StorageQuotaAPI(t *testing.T) {
|
|||||||
// test big put
|
// test big put
|
||||||
bigbuf := make([]byte, 64*1024)
|
bigbuf := make([]byte, 64*1024)
|
||||||
_, err := kvc.Put(context.TODO(), &pb.PutRequest{Key: key, Value: bigbuf})
|
_, 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)
|
t.Fatalf("big put got %v, expected %v", err, rpctypes.ErrGRPCNoSpace)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -608,7 +608,7 @@ func TestV3StorageQuotaAPI(t *testing.T) {
|
|||||||
txnreq := &pb.TxnRequest{}
|
txnreq := &pb.TxnRequest{}
|
||||||
txnreq.Success = append(txnreq.Success, puttxn)
|
txnreq.Success = append(txnreq.Success, puttxn)
|
||||||
_, txnerr := kvc.Txn(context.TODO(), txnreq)
|
_, 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)
|
t.Fatalf("big txn got %v, expected %v", err, rpctypes.ErrGRPCNoSpace)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -707,7 +707,7 @@ func TestV3AlarmDeactivate(t *testing.T) {
|
|||||||
key := []byte("abc")
|
key := []byte("abc")
|
||||||
smallbuf := make([]byte, 512)
|
smallbuf := make([]byte, 512)
|
||||||
_, err := kvc.Put(context.TODO(), &pb.PutRequest{Key: key, Value: smallbuf})
|
_, 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)
|
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)
|
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(
|
lresp, err = toGRPC(clus.RandClient()).Lease.LeaseGrant(
|
||||||
context.TODO(),
|
context.TODO(),
|
||||||
&pb.LeaseGrantRequest{ID: 1, TTL: 1})
|
&pb.LeaseGrantRequest{ID: 1, TTL: 1})
|
||||||
if err != rpctypes.ErrGRPCLeaseExist {
|
if !eqErrGRPC(err, rpctypes.ErrGRPCLeaseExist) {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ func TestV3PutOnNonExistLease(t *testing.T) {
|
|||||||
badLeaseID := int64(0x12345678)
|
badLeaseID := int64(0x12345678)
|
||||||
putr := &pb.PutRequest{Key: []byte("foo"), Value: []byte("bar"), Lease: badLeaseID}
|
putr := &pb.PutRequest{Key: []byte("foo"), Value: []byte("bar"), Lease: badLeaseID}
|
||||||
_, err := toGRPC(clus.RandClient()).KV.Put(ctx, putr)
|
_, 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)
|
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
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == rpctypes.ErrGRPCLeaseExist {
|
if eqErrGRPC(err, rpctypes.ErrGRPCLeaseExist) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
t.Fatalf("unexpecter error %v", err)
|
t.Fatalf("unexpecter error %v", err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user