|
- /*
- Copyright 2017 Google LLC
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
- package spanner
-
- import (
- "errors"
- "testing"
-
- "golang.org/x/net/context"
- "google.golang.org/grpc/codes"
- "google.golang.org/grpc/status"
- )
-
- func TestToSpannerError(t *testing.T) {
- for _, test := range []struct {
- err error
- wantCode codes.Code
- }{
- {errors.New("wha?"), codes.Unknown},
- {context.Canceled, codes.Canceled},
- {context.DeadlineExceeded, codes.DeadlineExceeded},
- {status.Errorf(codes.ResourceExhausted, "so tired"), codes.ResourceExhausted},
- {spannerErrorf(codes.InvalidArgument, "bad"), codes.InvalidArgument},
- } {
- err := toSpannerError(test.err)
- if got, want := err.(*Error).Code, test.wantCode; got != want {
- t.Errorf("%v: got %s, want %s", test.err, got, want)
- }
- }
- }
|