diff --git a/debugger/apiv2/controller2_client.go b/debugger/apiv2/controller2_client.go index 24e7a14cbd01..041f99fdaf97 100644 --- a/debugger/apiv2/controller2_client.go +++ b/debugger/apiv2/controller2_client.go @@ -57,17 +57,6 @@ func defaultController2CallOptions() *Controller2CallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &Controller2CallOptions{ RegisterDebuggee: retry[[2]string{"default", "non_idempotent"}], diff --git a/debugger/apiv2/debugger2_client.go b/debugger/apiv2/debugger2_client.go index b5c39a2989f1..b50aa2ae2224 100644 --- a/debugger/apiv2/debugger2_client.go +++ b/debugger/apiv2/debugger2_client.go @@ -59,17 +59,6 @@ func defaultDebugger2CallOptions() *Debugger2CallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &Debugger2CallOptions{ SetBreakpoint: retry[[2]string{"default", "non_idempotent"}], diff --git a/debugger/apiv2/doc.go b/debugger/apiv2/doc.go index 03b288f8d0ff..f0b10caa3870 100644 --- a/debugger/apiv2/doc.go +++ b/debugger/apiv2/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package debugger is an experimental, auto-generated package for the -// debugger API. +// Stackdriver Debugger API. // // Examines the call stack and variables of a running application // without stopping or slowing it down. @@ -35,6 +35,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/debugger/apiv2/mock_test.go b/debugger/apiv2/mock_test.go index ed29d4a767f7..8295dfc8483a 100644 --- a/debugger/apiv2/mock_test.go +++ b/debugger/apiv2/mock_test.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -241,7 +242,7 @@ func TestDebugger2SetBreakpoint(t *testing.T) { func TestDebugger2SetBreakpointError(t *testing.T) { errCode := codes.PermissionDenied - mockDebugger2.err = grpc.Errorf(errCode, "test error") + mockDebugger2.err = gstatus.Error(errCode, "test error") var debuggeeId string = "debuggeeId-997255898" var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{} @@ -259,7 +260,9 @@ func TestDebugger2SetBreakpointError(t *testing.T) { resp, err := c.SetBreakpoint(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -303,7 +306,7 @@ func TestDebugger2GetBreakpoint(t *testing.T) { func TestDebugger2GetBreakpointError(t *testing.T) { errCode := codes.PermissionDenied - mockDebugger2.err = grpc.Errorf(errCode, "test error") + mockDebugger2.err = gstatus.Error(errCode, "test error") var debuggeeId string = "debuggeeId-997255898" var breakpointId string = "breakpointId498424873" @@ -321,7 +324,9 @@ func TestDebugger2GetBreakpointError(t *testing.T) { resp, err := c.GetBreakpoint(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -362,7 +367,7 @@ func TestDebugger2DeleteBreakpoint(t *testing.T) { func TestDebugger2DeleteBreakpointError(t *testing.T) { errCode := codes.PermissionDenied - mockDebugger2.err = grpc.Errorf(errCode, "test error") + mockDebugger2.err = gstatus.Error(errCode, "test error") var debuggeeId string = "debuggeeId-997255898" var breakpointId string = "breakpointId498424873" @@ -380,7 +385,9 @@ func TestDebugger2DeleteBreakpointError(t *testing.T) { err = c.DeleteBreakpoint(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -424,7 +431,7 @@ func TestDebugger2ListBreakpoints(t *testing.T) { func TestDebugger2ListBreakpointsError(t *testing.T) { errCode := codes.PermissionDenied - mockDebugger2.err = grpc.Errorf(errCode, "test error") + mockDebugger2.err = gstatus.Error(errCode, "test error") var debuggeeId string = "debuggeeId-997255898" var clientVersion string = "clientVersion-1506231196" @@ -440,7 +447,9 @@ func TestDebugger2ListBreakpointsError(t *testing.T) { resp, err := c.ListBreakpoints(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -482,7 +491,7 @@ func TestDebugger2ListDebuggees(t *testing.T) { func TestDebugger2ListDebuggeesError(t *testing.T) { errCode := codes.PermissionDenied - mockDebugger2.err = grpc.Errorf(errCode, "test error") + mockDebugger2.err = gstatus.Error(errCode, "test error") var project string = "project-309310695" var clientVersion string = "clientVersion-1506231196" @@ -498,7 +507,9 @@ func TestDebugger2ListDebuggeesError(t *testing.T) { resp, err := c.ListDebuggees(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -538,7 +549,7 @@ func TestController2RegisterDebuggee(t *testing.T) { func TestController2RegisterDebuggeeError(t *testing.T) { errCode := codes.PermissionDenied - mockController2.err = grpc.Errorf(errCode, "test error") + mockController2.err = gstatus.Error(errCode, "test error") var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{} var request = &clouddebuggerpb.RegisterDebuggeeRequest{ @@ -552,7 +563,9 @@ func TestController2RegisterDebuggeeError(t *testing.T) { resp, err := c.RegisterDebuggee(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -597,7 +610,7 @@ func TestController2ListActiveBreakpoints(t *testing.T) { func TestController2ListActiveBreakpointsError(t *testing.T) { errCode := codes.PermissionDenied - mockController2.err = grpc.Errorf(errCode, "test error") + mockController2.err = gstatus.Error(errCode, "test error") var debuggeeId string = "debuggeeId-997255898" var request = &clouddebuggerpb.ListActiveBreakpointsRequest{ @@ -611,7 +624,9 @@ func TestController2ListActiveBreakpointsError(t *testing.T) { resp, err := c.ListActiveBreakpoints(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -653,7 +668,7 @@ func TestController2UpdateActiveBreakpoint(t *testing.T) { func TestController2UpdateActiveBreakpointError(t *testing.T) { errCode := codes.PermissionDenied - mockController2.err = grpc.Errorf(errCode, "test error") + mockController2.err = gstatus.Error(errCode, "test error") var debuggeeId string = "debuggeeId-997255898" var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{} @@ -669,7 +684,9 @@ func TestController2UpdateActiveBreakpointError(t *testing.T) { resp, err := c.UpdateActiveBreakpoint(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/errorreporting/apiv1beta1/doc.go b/errorreporting/apiv1beta1/doc.go index 404b83f69b89..351bf6fa596c 100644 --- a/errorreporting/apiv1beta1/doc.go +++ b/errorreporting/apiv1beta1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package errorreporting is an experimental, auto-generated package for the -// errorreporting API. +// Stackdriver Error Reporting API. // // Stackdriver Error Reporting groups and counts similar errors from cloud // services. The Stackdriver Error Reporting API provides a way to report new @@ -34,6 +34,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/errorreporting/apiv1beta1/error_stats_client_example_test.go b/errorreporting/apiv1beta1/error_stats_client_example_test.go index 6f7e9e60b583..edebae0417a4 100644 --- a/errorreporting/apiv1beta1/error_stats_client_example_test.go +++ b/errorreporting/apiv1beta1/error_stats_client_example_test.go @@ -19,6 +19,7 @@ package errorreporting_test import ( "cloud.google.com/go/errorreporting/apiv1beta1" "golang.org/x/net/context" + "google.golang.org/api/iterator" clouderrorreportingpb "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1" ) @@ -45,9 +46,11 @@ func ExampleErrorStatsClient_ListGroupStats() { it := c.ListGroupStats(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -67,9 +70,11 @@ func ExampleErrorStatsClient_ListEvents() { it := c.ListEvents(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/errorreporting/apiv1beta1/mock_test.go b/errorreporting/apiv1beta1/mock_test.go index 3aea87594b18..ccb9fe8e24e0 100644 --- a/errorreporting/apiv1beta1/mock_test.go +++ b/errorreporting/apiv1beta1/mock_test.go @@ -38,6 +38,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -234,7 +235,7 @@ func TestErrorGroupServiceGetGroup(t *testing.T) { func TestErrorGroupServiceGetGroupError(t *testing.T) { errCode := codes.PermissionDenied - mockErrorGroup.err = grpc.Errorf(errCode, "test error") + mockErrorGroup.err = gstatus.Error(errCode, "test error") var formattedGroupName string = ErrorGroupGroupPath("[PROJECT]", "[GROUP]") var request = &clouderrorreportingpb.GetGroupRequest{ @@ -248,7 +249,9 @@ func TestErrorGroupServiceGetGroupError(t *testing.T) { resp, err := c.GetGroup(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -293,7 +296,7 @@ func TestErrorGroupServiceUpdateGroup(t *testing.T) { func TestErrorGroupServiceUpdateGroupError(t *testing.T) { errCode := codes.PermissionDenied - mockErrorGroup.err = grpc.Errorf(errCode, "test error") + mockErrorGroup.err = gstatus.Error(errCode, "test error") var group *clouderrorreportingpb.ErrorGroup = &clouderrorreportingpb.ErrorGroup{} var request = &clouderrorreportingpb.UpdateGroupRequest{ @@ -307,7 +310,9 @@ func TestErrorGroupServiceUpdateGroupError(t *testing.T) { resp, err := c.UpdateGroup(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -365,7 +370,7 @@ func TestErrorStatsServiceListGroupStats(t *testing.T) { func TestErrorStatsServiceListGroupStatsError(t *testing.T) { errCode := codes.PermissionDenied - mockErrorStats.err = grpc.Errorf(errCode, "test error") + mockErrorStats.err = gstatus.Error(errCode, "test error") var formattedProjectName string = ErrorStatsProjectPath("[PROJECT]") var timeRange *clouderrorreportingpb.QueryTimeRange = &clouderrorreportingpb.QueryTimeRange{} @@ -381,7 +386,9 @@ func TestErrorStatsServiceListGroupStatsError(t *testing.T) { resp, err := c.ListGroupStats(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -439,7 +446,7 @@ func TestErrorStatsServiceListEvents(t *testing.T) { func TestErrorStatsServiceListEventsError(t *testing.T) { errCode := codes.PermissionDenied - mockErrorStats.err = grpc.Errorf(errCode, "test error") + mockErrorStats.err = gstatus.Error(errCode, "test error") var formattedProjectName string = ErrorStatsProjectPath("[PROJECT]") var groupId string = "groupId506361563" @@ -455,7 +462,9 @@ func TestErrorStatsServiceListEventsError(t *testing.T) { resp, err := c.ListEvents(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -495,7 +504,7 @@ func TestErrorStatsServiceDeleteEvents(t *testing.T) { func TestErrorStatsServiceDeleteEventsError(t *testing.T) { errCode := codes.PermissionDenied - mockErrorStats.err = grpc.Errorf(errCode, "test error") + mockErrorStats.err = gstatus.Error(errCode, "test error") var formattedProjectName string = ErrorStatsProjectPath("[PROJECT]") var request = &clouderrorreportingpb.DeleteEventsRequest{ @@ -509,7 +518,9 @@ func TestErrorStatsServiceDeleteEventsError(t *testing.T) { resp, err := c.DeleteEvents(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -551,7 +562,7 @@ func TestReportErrorsServiceReportErrorEvent(t *testing.T) { func TestReportErrorsServiceReportErrorEventError(t *testing.T) { errCode := codes.PermissionDenied - mockReportErrors.err = grpc.Errorf(errCode, "test error") + mockReportErrors.err = gstatus.Error(errCode, "test error") var formattedProjectName string = ReportErrorsProjectPath("[PROJECT]") var event *clouderrorreportingpb.ReportedErrorEvent = &clouderrorreportingpb.ReportedErrorEvent{} @@ -567,7 +578,9 @@ func TestReportErrorsServiceReportErrorEventError(t *testing.T) { resp, err := c.ReportErrorEvent(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/errorreporting/apiv1beta1/report_errors_client.go b/errorreporting/apiv1beta1/report_errors_client.go index 49f53f5fc8cc..189b85e46617 100644 --- a/errorreporting/apiv1beta1/report_errors_client.go +++ b/errorreporting/apiv1beta1/report_errors_client.go @@ -17,8 +17,6 @@ package errorreporting import ( - "time" - "cloud.google.com/go/internal/version" gax "github.com/googleapis/gax-go" "golang.org/x/net/context" @@ -26,7 +24,6 @@ import ( "google.golang.org/api/transport" clouderrorreportingpb "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1" "google.golang.org/grpc" - "google.golang.org/grpc/codes" ) var ( @@ -46,19 +43,7 @@ func defaultReportErrorsClientOptions() []option.ClientOption { } func defaultReportErrorsCallOptions() *ReportErrorsCallOptions { - retry := map[[2]string][]gax.CallOption{ - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, - } + retry := map[[2]string][]gax.CallOption{} return &ReportErrorsCallOptions{ ReportErrorEvent: retry[[2]string{"default", "non_idempotent"}], } diff --git a/iam/admin/apiv1/doc.go b/iam/admin/apiv1/doc.go index 9fabd40ae9a5..825facddf170 100644 --- a/iam/admin/apiv1/doc.go +++ b/iam/admin/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package admin is an experimental, auto-generated package for the -// admin API. +// Google Identity and Access Management (IAM) API. // // Manages identity and access control for Google Cloud Platform resources, // including the creation of service accounts, which you can use to @@ -34,6 +34,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/iam/admin/apiv1/iam_client.go b/iam/admin/apiv1/iam_client.go index 1f222e5ba525..89dff8e99537 100644 --- a/iam/admin/apiv1/iam_client.go +++ b/iam/admin/apiv1/iam_client.go @@ -77,17 +77,6 @@ func defaultIamCallOptions() *IamCallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &IamCallOptions{ ListServiceAccounts: retry[[2]string{"default", "idempotent"}], diff --git a/iam/admin/apiv1/iam_client_example_test.go b/iam/admin/apiv1/iam_client_example_test.go index 983d48e2ff12..901fcb9519ca 100644 --- a/iam/admin/apiv1/iam_client_example_test.go +++ b/iam/admin/apiv1/iam_client_example_test.go @@ -19,6 +19,7 @@ package admin_test import ( "cloud.google.com/go/iam/admin/apiv1" "golang.org/x/net/context" + "google.golang.org/api/iterator" adminpb "google.golang.org/genproto/googleapis/iam/admin/v1" iampb "google.golang.org/genproto/googleapis/iam/v1" ) @@ -46,9 +47,11 @@ func ExampleIamClient_ListServiceAccounts() { it := c.ListServiceAccounts(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/iam/admin/apiv1/mock_test.go b/iam/admin/apiv1/mock_test.go index b3e576c73979..43ff01b57c86 100644 --- a/iam/admin/apiv1/mock_test.go +++ b/iam/admin/apiv1/mock_test.go @@ -40,6 +40,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -309,7 +310,7 @@ func TestIamListServiceAccounts(t *testing.T) { func TestIamListServiceAccountsError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamProjectPath("[PROJECT]") var request = &adminpb.ListServiceAccountsRequest{ @@ -323,7 +324,9 @@ func TestIamListServiceAccountsError(t *testing.T) { resp, err := c.ListServiceAccounts(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -378,7 +381,7 @@ func TestIamGetServiceAccount(t *testing.T) { func TestIamGetServiceAccountError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var request = &adminpb.GetServiceAccountRequest{ @@ -392,7 +395,9 @@ func TestIamGetServiceAccountError(t *testing.T) { resp, err := c.GetServiceAccount(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -449,7 +454,7 @@ func TestIamCreateServiceAccount(t *testing.T) { func TestIamCreateServiceAccountError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamProjectPath("[PROJECT]") var accountId string = "accountId-803333011" @@ -465,7 +470,9 @@ func TestIamCreateServiceAccountError(t *testing.T) { resp, err := c.CreateServiceAccount(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -520,7 +527,7 @@ func TestIamUpdateServiceAccount(t *testing.T) { func TestIamUpdateServiceAccountError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var etag []byte = []byte("21") var request = &adminpb.ServiceAccount{ @@ -534,7 +541,9 @@ func TestIamUpdateServiceAccountError(t *testing.T) { resp, err := c.UpdateServiceAccount(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -571,7 +580,7 @@ func TestIamDeleteServiceAccount(t *testing.T) { func TestIamDeleteServiceAccountError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var request = &adminpb.DeleteServiceAccountRequest{ @@ -585,7 +594,9 @@ func TestIamDeleteServiceAccountError(t *testing.T) { err = c.DeleteServiceAccount(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -624,7 +635,7 @@ func TestIamListServiceAccountKeys(t *testing.T) { func TestIamListServiceAccountKeysError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var request = &adminpb.ListServiceAccountKeysRequest{ @@ -638,7 +649,9 @@ func TestIamListServiceAccountKeysError(t *testing.T) { resp, err := c.ListServiceAccountKeys(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -685,7 +698,7 @@ func TestIamGetServiceAccountKey(t *testing.T) { func TestIamGetServiceAccountKeyError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamKeyPath("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]") var request = &adminpb.GetServiceAccountKeyRequest{ @@ -699,7 +712,9 @@ func TestIamGetServiceAccountKeyError(t *testing.T) { resp, err := c.GetServiceAccountKey(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -746,7 +761,7 @@ func TestIamCreateServiceAccountKey(t *testing.T) { func TestIamCreateServiceAccountKeyError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var request = &adminpb.CreateServiceAccountKeyRequest{ @@ -760,7 +775,9 @@ func TestIamCreateServiceAccountKeyError(t *testing.T) { resp, err := c.CreateServiceAccountKey(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -797,7 +814,7 @@ func TestIamDeleteServiceAccountKey(t *testing.T) { func TestIamDeleteServiceAccountKeyError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamKeyPath("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]") var request = &adminpb.DeleteServiceAccountKeyRequest{ @@ -811,7 +828,9 @@ func TestIamDeleteServiceAccountKeyError(t *testing.T) { err = c.DeleteServiceAccountKey(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -857,7 +876,7 @@ func TestIamSignBlob(t *testing.T) { func TestIamSignBlobError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedName string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var bytesToSign []byte = []byte("45") @@ -873,7 +892,9 @@ func TestIamSignBlobError(t *testing.T) { resp, err := c.SignBlob(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -918,7 +939,7 @@ func TestIamGetIamPolicy(t *testing.T) { func TestIamGetIamPolicyError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedResource string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var request = &iampb.GetIamPolicyRequest{ @@ -932,7 +953,9 @@ func TestIamGetIamPolicyError(t *testing.T) { resp, err := c.getIamPolicy(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -979,7 +1002,7 @@ func TestIamSetIamPolicy(t *testing.T) { func TestIamSetIamPolicyError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedResource string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var policy *iampb.Policy = &iampb.Policy{} @@ -995,7 +1018,9 @@ func TestIamSetIamPolicyError(t *testing.T) { resp, err := c.setIamPolicy(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1037,7 +1062,7 @@ func TestIamTestIamPermissions(t *testing.T) { func TestIamTestIamPermissionsError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var formattedResource string = IamServiceAccountPath("[PROJECT]", "[SERVICE_ACCOUNT]") var permissions []string = nil @@ -1053,7 +1078,9 @@ func TestIamTestIamPermissionsError(t *testing.T) { resp, err := c.TestIamPermissions(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1093,7 +1120,7 @@ func TestIamQueryGrantableRoles(t *testing.T) { func TestIamQueryGrantableRolesError(t *testing.T) { errCode := codes.PermissionDenied - mockIam.err = grpc.Errorf(errCode, "test error") + mockIam.err = gstatus.Error(errCode, "test error") var fullResourceName string = "fullResourceName1300993644" var request = &adminpb.QueryGrantableRolesRequest{ @@ -1107,7 +1134,9 @@ func TestIamQueryGrantableRolesError(t *testing.T) { resp, err := c.QueryGrantableRoles(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/internal/version/version.go b/internal/version/version.go index 33f1cdb6002b..5eb06bac550f 100644 --- a/internal/version/version.go +++ b/internal/version/version.go @@ -26,7 +26,7 @@ import ( // Repo is the current version of the client libraries in this // repo. It should be a date in YYYYMMDD format. -const Repo = "20170404" +const Repo = "20170621" // Go returns the Go runtime version. The returned string // has no whitespace. diff --git a/language/apiv1/doc.go b/language/apiv1/doc.go index 73b0f5c31c2f..34d357e2369d 100644 --- a/language/apiv1/doc.go +++ b/language/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package language is an experimental, auto-generated package for the -// language API. +// Google Cloud Natural Language API. // // Google Cloud Natural Language API provides natural language understanding // technologies to developers. Examples include sentiment analysis, entity @@ -34,6 +34,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/language/apiv1/mock_test.go b/language/apiv1/mock_test.go index b241bcea4c48..2c214792a877 100644 --- a/language/apiv1/mock_test.go +++ b/language/apiv1/mock_test.go @@ -38,6 +38,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -174,7 +175,7 @@ func TestLanguageServiceAnalyzeSentiment(t *testing.T) { func TestLanguageServiceAnalyzeSentimentError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var request = &languagepb.AnalyzeSentimentRequest{ @@ -188,7 +189,9 @@ func TestLanguageServiceAnalyzeSentimentError(t *testing.T) { resp, err := c.AnalyzeSentiment(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -233,7 +236,7 @@ func TestLanguageServiceAnalyzeEntities(t *testing.T) { func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE @@ -249,7 +252,9 @@ func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { resp, err := c.AnalyzeEntities(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -294,7 +299,7 @@ func TestLanguageServiceAnalyzeSyntax(t *testing.T) { func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE @@ -310,7 +315,9 @@ func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { resp, err := c.AnalyzeSyntax(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -357,7 +364,7 @@ func TestLanguageServiceAnnotateText(t *testing.T) { func TestLanguageServiceAnnotateTextError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var features *languagepb.AnnotateTextRequest_Features = &languagepb.AnnotateTextRequest_Features{} @@ -375,7 +382,9 @@ func TestLanguageServiceAnnotateTextError(t *testing.T) { resp, err := c.AnnotateText(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/language/apiv1beta2/doc.go b/language/apiv1beta2/doc.go index d0313d98ff52..e43233faafd5 100644 --- a/language/apiv1beta2/doc.go +++ b/language/apiv1beta2/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package language is an experimental, auto-generated package for the -// language API. +// Google Cloud Natural Language API. // // Google Cloud Natural Language API provides natural language understanding // technologies to developers. Examples include sentiment analysis, entity @@ -34,6 +34,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/language/apiv1beta2/mock_test.go b/language/apiv1beta2/mock_test.go index 2db4e1e2f237..33972a8bffc3 100644 --- a/language/apiv1beta2/mock_test.go +++ b/language/apiv1beta2/mock_test.go @@ -38,6 +38,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -186,7 +187,7 @@ func TestLanguageServiceAnalyzeSentiment(t *testing.T) { func TestLanguageServiceAnalyzeSentimentError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var request = &languagepb.AnalyzeSentimentRequest{ @@ -200,7 +201,9 @@ func TestLanguageServiceAnalyzeSentimentError(t *testing.T) { resp, err := c.AnalyzeSentiment(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -245,7 +248,7 @@ func TestLanguageServiceAnalyzeEntities(t *testing.T) { func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE @@ -261,7 +264,9 @@ func TestLanguageServiceAnalyzeEntitiesError(t *testing.T) { resp, err := c.AnalyzeEntities(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -306,7 +311,7 @@ func TestLanguageServiceAnalyzeEntitySentiment(t *testing.T) { func TestLanguageServiceAnalyzeEntitySentimentError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE @@ -322,7 +327,9 @@ func TestLanguageServiceAnalyzeEntitySentimentError(t *testing.T) { resp, err := c.AnalyzeEntitySentiment(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -367,7 +374,7 @@ func TestLanguageServiceAnalyzeSyntax(t *testing.T) { func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var encodingType languagepb.EncodingType = languagepb.EncodingType_NONE @@ -383,7 +390,9 @@ func TestLanguageServiceAnalyzeSyntaxError(t *testing.T) { resp, err := c.AnalyzeSyntax(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -430,7 +439,7 @@ func TestLanguageServiceAnnotateText(t *testing.T) { func TestLanguageServiceAnnotateTextError(t *testing.T) { errCode := codes.PermissionDenied - mockLanguage.err = grpc.Errorf(errCode, "test error") + mockLanguage.err = gstatus.Error(errCode, "test error") var document *languagepb.Document = &languagepb.Document{} var features *languagepb.AnnotateTextRequest_Features = &languagepb.AnnotateTextRequest_Features{} @@ -448,7 +457,9 @@ func TestLanguageServiceAnnotateTextError(t *testing.T) { resp, err := c.AnnotateText(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/logging/apiv2/WriteLogEntries_smoke_test.go b/logging/apiv2/WriteLogEntries_smoke_test.go index b4d91ab45cf1..23f5108ed03c 100644 --- a/logging/apiv2/WriteLogEntries_smoke_test.go +++ b/logging/apiv2/WriteLogEntries_smoke_test.go @@ -54,7 +54,7 @@ func TestLoggingServiceV2Smoke(t *testing.T) { } var entries []*loggingpb.LogEntry = nil - var formattedLogName string = LoggingLogPath(projectId, "test-"+strconv.FormatInt(time.Now().UnixNano(), 10)+"") + var formattedLogName string = LogPath(projectId, "test-"+strconv.FormatInt(time.Now().UnixNano(), 10)+"") var request = &loggingpb.WriteLogEntriesRequest{ Entries: entries, LogName: formattedLogName, diff --git a/logging/apiv2/config_client.go b/logging/apiv2/config_client.go index 417769b09840..c8e171ccd64e 100644 --- a/logging/apiv2/config_client.go +++ b/logging/apiv2/config_client.go @@ -58,17 +58,7 @@ func defaultConfigCallOptions() *ConfigCallOptions { gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.DeadlineExceeded, - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 1000 * time.Millisecond, - Multiplier: 1.2, - }) - }), - }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ + codes.Internal, codes.Unavailable, }, gax.Backoff{ Initial: 100 * time.Millisecond, diff --git a/logging/apiv2/config_client_example_test.go b/logging/apiv2/config_client_example_test.go index 620aa6505b31..73692607c9b6 100644 --- a/logging/apiv2/config_client_example_test.go +++ b/logging/apiv2/config_client_example_test.go @@ -19,6 +19,7 @@ package logging_test import ( "cloud.google.com/go/logging/apiv2" "golang.org/x/net/context" + "google.golang.org/api/iterator" loggingpb "google.golang.org/genproto/googleapis/logging/v2" ) @@ -45,9 +46,11 @@ func ExampleConfigClient_ListSinks() { it := c.ListSinks(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/logging/apiv2/doc.go b/logging/apiv2/doc.go index 3963c8b7d4a3..0398913a14f4 100644 --- a/logging/apiv2/doc.go +++ b/logging/apiv2/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package logging is an experimental, auto-generated package for the -// logging API. +// Stackdriver Logging API. // // The Stackdriver Logging API lets you write log entries and manage your // logs, log sinks and logs-based metrics. @@ -35,6 +35,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/logging/apiv2/logging_client.go b/logging/apiv2/logging_client.go index 603893b35615..9458ed4dc4b1 100644 --- a/logging/apiv2/logging_client.go +++ b/logging/apiv2/logging_client.go @@ -59,17 +59,7 @@ func defaultCallOptions() *CallOptions { gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.DeadlineExceeded, - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 1000 * time.Millisecond, - Multiplier: 1.2, - }) - }), - }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ + codes.Internal, codes.Unavailable, }, gax.Backoff{ Initial: 100 * time.Millisecond, @@ -82,6 +72,7 @@ func defaultCallOptions() *CallOptions { gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.DeadlineExceeded, + codes.Internal, codes.Unavailable, }, gax.Backoff{ Initial: 100 * time.Millisecond, @@ -153,8 +144,8 @@ func (c *Client) SetGoogleClientInfo(keyval ...string) { c.xGoogHeader = []string{gax.XGoogHeader(kv...)} } -// LoggingProjectPath returns the path for the project resource. -func LoggingProjectPath(project string) string { +// ProjectPath returns the path for the project resource. +func ProjectPath(project string) string { path, err := loggingProjectPathTemplate.Render(map[string]string{ "project": project, }) @@ -164,8 +155,8 @@ func LoggingProjectPath(project string) string { return path } -// LoggingLogPath returns the path for the log resource. -func LoggingLogPath(project, log string) string { +// LogPath returns the path for the log resource. +func LogPath(project, log string) string { path, err := loggingLogPathTemplate.Render(map[string]string{ "project": project, "log": log, diff --git a/logging/apiv2/logging_client_example_test.go b/logging/apiv2/logging_client_example_test.go index 6dc537f5a987..e4321f1907be 100644 --- a/logging/apiv2/logging_client_example_test.go +++ b/logging/apiv2/logging_client_example_test.go @@ -19,6 +19,7 @@ package logging_test import ( "cloud.google.com/go/logging/apiv2" "golang.org/x/net/context" + "google.golang.org/api/iterator" loggingpb "google.golang.org/genproto/googleapis/logging/v2" ) @@ -79,9 +80,11 @@ func ExampleClient_ListLogEntries() { it := c.ListLogEntries(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -101,9 +104,11 @@ func ExampleClient_ListMonitoredResourceDescriptors() { it := c.ListMonitoredResourceDescriptors(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -123,9 +128,11 @@ func ExampleClient_ListLogs() { it := c.ListLogs(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/logging/apiv2/metrics_client.go b/logging/apiv2/metrics_client.go index ba2af928417b..62ec7e7668f2 100644 --- a/logging/apiv2/metrics_client.go +++ b/logging/apiv2/metrics_client.go @@ -58,17 +58,7 @@ func defaultMetricsCallOptions() *MetricsCallOptions { gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.DeadlineExceeded, - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 1000 * time.Millisecond, - Multiplier: 1.2, - }) - }), - }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ + codes.Internal, codes.Unavailable, }, gax.Backoff{ Initial: 100 * time.Millisecond, diff --git a/logging/apiv2/metrics_client_example_test.go b/logging/apiv2/metrics_client_example_test.go index c924120471e0..4bc3eefed0ac 100644 --- a/logging/apiv2/metrics_client_example_test.go +++ b/logging/apiv2/metrics_client_example_test.go @@ -19,6 +19,7 @@ package logging_test import ( "cloud.google.com/go/logging/apiv2" "golang.org/x/net/context" + "google.golang.org/api/iterator" loggingpb "google.golang.org/genproto/googleapis/logging/v2" ) @@ -45,9 +46,11 @@ func ExampleMetricsClient_ListLogMetrics() { it := c.ListLogMetrics(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/logging/apiv2/mock_test.go b/logging/apiv2/mock_test.go index 30083a2a5a74..746dcd202362 100644 --- a/logging/apiv2/mock_test.go +++ b/logging/apiv2/mock_test.go @@ -40,6 +40,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -312,7 +313,7 @@ func TestLoggingServiceV2DeleteLog(t *testing.T) { mockLogging.resps = append(mockLogging.resps[:0], expectedResponse) - var formattedLogName string = LoggingLogPath("[PROJECT]", "[LOG]") + var formattedLogName string = LogPath("[PROJECT]", "[LOG]") var request = &loggingpb.DeleteLogRequest{ LogName: formattedLogName, } @@ -336,9 +337,9 @@ func TestLoggingServiceV2DeleteLog(t *testing.T) { func TestLoggingServiceV2DeleteLogError(t *testing.T) { errCode := codes.PermissionDenied - mockLogging.err = grpc.Errorf(errCode, "test error") + mockLogging.err = gstatus.Error(errCode, "test error") - var formattedLogName string = LoggingLogPath("[PROJECT]", "[LOG]") + var formattedLogName string = LogPath("[PROJECT]", "[LOG]") var request = &loggingpb.DeleteLogRequest{ LogName: formattedLogName, } @@ -350,7 +351,9 @@ func TestLoggingServiceV2DeleteLogError(t *testing.T) { err = c.DeleteLog(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -389,7 +392,7 @@ func TestLoggingServiceV2WriteLogEntries(t *testing.T) { func TestLoggingServiceV2WriteLogEntriesError(t *testing.T) { errCode := codes.PermissionDenied - mockLogging.err = grpc.Errorf(errCode, "test error") + mockLogging.err = gstatus.Error(errCode, "test error") var entries []*loggingpb.LogEntry = nil var request = &loggingpb.WriteLogEntriesRequest{ @@ -403,7 +406,9 @@ func TestLoggingServiceV2WriteLogEntriesError(t *testing.T) { resp, err := c.WriteLogEntries(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -459,7 +464,7 @@ func TestLoggingServiceV2ListLogEntries(t *testing.T) { func TestLoggingServiceV2ListLogEntriesError(t *testing.T) { errCode := codes.PermissionDenied - mockLogging.err = grpc.Errorf(errCode, "test error") + mockLogging.err = gstatus.Error(errCode, "test error") var resourceNames []string = nil var request = &loggingpb.ListLogEntriesRequest{ @@ -473,7 +478,9 @@ func TestLoggingServiceV2ListLogEntriesError(t *testing.T) { resp, err := c.ListLogEntries(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -526,7 +533,7 @@ func TestLoggingServiceV2ListMonitoredResourceDescriptors(t *testing.T) { func TestLoggingServiceV2ListMonitoredResourceDescriptorsError(t *testing.T) { errCode := codes.PermissionDenied - mockLogging.err = grpc.Errorf(errCode, "test error") + mockLogging.err = gstatus.Error(errCode, "test error") var request *loggingpb.ListMonitoredResourceDescriptorsRequest = &loggingpb.ListMonitoredResourceDescriptorsRequest{} @@ -537,7 +544,9 @@ func TestLoggingServiceV2ListMonitoredResourceDescriptorsError(t *testing.T) { resp, err := c.ListMonitoredResourceDescriptors(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -556,7 +565,7 @@ func TestLoggingServiceV2ListLogs(t *testing.T) { mockLogging.resps = append(mockLogging.resps[:0], expectedResponse) - var formattedParent string = LoggingProjectPath("[PROJECT]") + var formattedParent string = ProjectPath("[PROJECT]") var request = &loggingpb.ListLogsRequest{ Parent: formattedParent, } @@ -593,9 +602,9 @@ func TestLoggingServiceV2ListLogs(t *testing.T) { func TestLoggingServiceV2ListLogsError(t *testing.T) { errCode := codes.PermissionDenied - mockLogging.err = grpc.Errorf(errCode, "test error") + mockLogging.err = gstatus.Error(errCode, "test error") - var formattedParent string = LoggingProjectPath("[PROJECT]") + var formattedParent string = ProjectPath("[PROJECT]") var request = &loggingpb.ListLogsRequest{ Parent: formattedParent, } @@ -607,7 +616,9 @@ func TestLoggingServiceV2ListLogsError(t *testing.T) { resp, err := c.ListLogs(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -663,7 +674,7 @@ func TestConfigServiceV2ListSinks(t *testing.T) { func TestConfigServiceV2ListSinksError(t *testing.T) { errCode := codes.PermissionDenied - mockConfig.err = grpc.Errorf(errCode, "test error") + mockConfig.err = gstatus.Error(errCode, "test error") var formattedParent string = ConfigProjectPath("[PROJECT]") var request = &loggingpb.ListSinksRequest{ @@ -677,7 +688,9 @@ func TestConfigServiceV2ListSinksError(t *testing.T) { resp, err := c.ListSinks(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -728,7 +741,7 @@ func TestConfigServiceV2GetSink(t *testing.T) { func TestConfigServiceV2GetSinkError(t *testing.T) { errCode := codes.PermissionDenied - mockConfig.err = grpc.Errorf(errCode, "test error") + mockConfig.err = gstatus.Error(errCode, "test error") var formattedSinkName string = ConfigSinkPath("[PROJECT]", "[SINK]") var request = &loggingpb.GetSinkRequest{ @@ -742,7 +755,9 @@ func TestConfigServiceV2GetSinkError(t *testing.T) { resp, err := c.GetSink(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -795,7 +810,7 @@ func TestConfigServiceV2CreateSink(t *testing.T) { func TestConfigServiceV2CreateSinkError(t *testing.T) { errCode := codes.PermissionDenied - mockConfig.err = grpc.Errorf(errCode, "test error") + mockConfig.err = gstatus.Error(errCode, "test error") var formattedParent string = ConfigProjectPath("[PROJECT]") var sink *loggingpb.LogSink = &loggingpb.LogSink{} @@ -811,7 +826,9 @@ func TestConfigServiceV2CreateSinkError(t *testing.T) { resp, err := c.CreateSink(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -864,7 +881,7 @@ func TestConfigServiceV2UpdateSink(t *testing.T) { func TestConfigServiceV2UpdateSinkError(t *testing.T) { errCode := codes.PermissionDenied - mockConfig.err = grpc.Errorf(errCode, "test error") + mockConfig.err = gstatus.Error(errCode, "test error") var formattedSinkName string = ConfigSinkPath("[PROJECT]", "[SINK]") var sink *loggingpb.LogSink = &loggingpb.LogSink{} @@ -880,7 +897,9 @@ func TestConfigServiceV2UpdateSinkError(t *testing.T) { resp, err := c.UpdateSink(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -917,7 +936,7 @@ func TestConfigServiceV2DeleteSink(t *testing.T) { func TestConfigServiceV2DeleteSinkError(t *testing.T) { errCode := codes.PermissionDenied - mockConfig.err = grpc.Errorf(errCode, "test error") + mockConfig.err = gstatus.Error(errCode, "test error") var formattedSinkName string = ConfigSinkPath("[PROJECT]", "[SINK]") var request = &loggingpb.DeleteSinkRequest{ @@ -931,7 +950,9 @@ func TestConfigServiceV2DeleteSinkError(t *testing.T) { err = c.DeleteSink(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -986,7 +1007,7 @@ func TestMetricsServiceV2ListLogMetrics(t *testing.T) { func TestMetricsServiceV2ListLogMetricsError(t *testing.T) { errCode := codes.PermissionDenied - mockMetrics.err = grpc.Errorf(errCode, "test error") + mockMetrics.err = gstatus.Error(errCode, "test error") var formattedParent string = MetricsProjectPath("[PROJECT]") var request = &loggingpb.ListLogMetricsRequest{ @@ -1000,7 +1021,9 @@ func TestMetricsServiceV2ListLogMetricsError(t *testing.T) { resp, err := c.ListLogMetrics(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1047,7 +1070,7 @@ func TestMetricsServiceV2GetLogMetric(t *testing.T) { func TestMetricsServiceV2GetLogMetricError(t *testing.T) { errCode := codes.PermissionDenied - mockMetrics.err = grpc.Errorf(errCode, "test error") + mockMetrics.err = gstatus.Error(errCode, "test error") var formattedMetricName string = MetricsMetricPath("[PROJECT]", "[METRIC]") var request = &loggingpb.GetLogMetricRequest{ @@ -1061,7 +1084,9 @@ func TestMetricsServiceV2GetLogMetricError(t *testing.T) { resp, err := c.GetLogMetric(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1110,7 +1135,7 @@ func TestMetricsServiceV2CreateLogMetric(t *testing.T) { func TestMetricsServiceV2CreateLogMetricError(t *testing.T) { errCode := codes.PermissionDenied - mockMetrics.err = grpc.Errorf(errCode, "test error") + mockMetrics.err = gstatus.Error(errCode, "test error") var formattedParent string = MetricsProjectPath("[PROJECT]") var metric *loggingpb.LogMetric = &loggingpb.LogMetric{} @@ -1126,7 +1151,9 @@ func TestMetricsServiceV2CreateLogMetricError(t *testing.T) { resp, err := c.CreateLogMetric(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1175,7 +1202,7 @@ func TestMetricsServiceV2UpdateLogMetric(t *testing.T) { func TestMetricsServiceV2UpdateLogMetricError(t *testing.T) { errCode := codes.PermissionDenied - mockMetrics.err = grpc.Errorf(errCode, "test error") + mockMetrics.err = gstatus.Error(errCode, "test error") var formattedMetricName string = MetricsMetricPath("[PROJECT]", "[METRIC]") var metric *loggingpb.LogMetric = &loggingpb.LogMetric{} @@ -1191,7 +1218,9 @@ func TestMetricsServiceV2UpdateLogMetricError(t *testing.T) { resp, err := c.UpdateLogMetric(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1228,7 +1257,7 @@ func TestMetricsServiceV2DeleteLogMetric(t *testing.T) { func TestMetricsServiceV2DeleteLogMetricError(t *testing.T) { errCode := codes.PermissionDenied - mockMetrics.err = grpc.Errorf(errCode, "test error") + mockMetrics.err = gstatus.Error(errCode, "test error") var formattedMetricName string = MetricsMetricPath("[PROJECT]", "[METRIC]") var request = &loggingpb.DeleteLogMetricRequest{ @@ -1242,7 +1271,9 @@ func TestMetricsServiceV2DeleteLogMetricError(t *testing.T) { err = c.DeleteLogMetric(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } diff --git a/longrunning/autogen/doc.go b/longrunning/autogen/doc.go index 8e3789b0702e..21968062aec0 100644 --- a/longrunning/autogen/doc.go +++ b/longrunning/autogen/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package longrunning is an experimental, auto-generated package for the -// longrunning API. +// Google Long Running Operations API. // // // Use the client at cloud.google.com/go/longrunning in preference to this. @@ -33,6 +33,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{} } diff --git a/longrunning/autogen/mock_test.go b/longrunning/autogen/mock_test.go index 95e02be33f6a..ddbee22c8949 100644 --- a/longrunning/autogen/mock_test.go +++ b/longrunning/autogen/mock_test.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -177,7 +178,7 @@ func TestOperationsGetOperation(t *testing.T) { func TestOperationsGetOperationError(t *testing.T) { errCode := codes.PermissionDenied - mockOperations.err = grpc.Errorf(errCode, "test error") + mockOperations.err = gstatus.Error(errCode, "test error") var name string = "name3373707" var request = &longrunningpb.GetOperationRequest{ @@ -191,7 +192,9 @@ func TestOperationsGetOperationError(t *testing.T) { resp, err := c.GetOperation(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -249,7 +252,7 @@ func TestOperationsListOperations(t *testing.T) { func TestOperationsListOperationsError(t *testing.T) { errCode := codes.PermissionDenied - mockOperations.err = grpc.Errorf(errCode, "test error") + mockOperations.err = gstatus.Error(errCode, "test error") var name string = "name3373707" var filter string = "filter-1274492040" @@ -265,7 +268,9 @@ func TestOperationsListOperationsError(t *testing.T) { resp, err := c.ListOperations(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -302,7 +307,7 @@ func TestOperationsCancelOperation(t *testing.T) { func TestOperationsCancelOperationError(t *testing.T) { errCode := codes.PermissionDenied - mockOperations.err = grpc.Errorf(errCode, "test error") + mockOperations.err = gstatus.Error(errCode, "test error") var name string = "name3373707" var request = &longrunningpb.CancelOperationRequest{ @@ -316,7 +321,9 @@ func TestOperationsCancelOperationError(t *testing.T) { err = c.CancelOperation(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -352,7 +359,7 @@ func TestOperationsDeleteOperation(t *testing.T) { func TestOperationsDeleteOperationError(t *testing.T) { errCode := codes.PermissionDenied - mockOperations.err = grpc.Errorf(errCode, "test error") + mockOperations.err = gstatus.Error(errCode, "test error") var name string = "name3373707" var request = &longrunningpb.DeleteOperationRequest{ @@ -366,7 +373,9 @@ func TestOperationsDeleteOperationError(t *testing.T) { err = c.DeleteOperation(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } diff --git a/longrunning/autogen/operations_client_example_test.go b/longrunning/autogen/operations_client_example_test.go index 02de149b7dbc..646faea0a6d3 100644 --- a/longrunning/autogen/operations_client_example_test.go +++ b/longrunning/autogen/operations_client_example_test.go @@ -19,6 +19,7 @@ package longrunning_test import ( "cloud.google.com/go/longrunning/autogen" "golang.org/x/net/context" + "google.golang.org/api/iterator" longrunningpb "google.golang.org/genproto/googleapis/longrunning" ) @@ -63,9 +64,11 @@ func ExampleOperationsClient_ListOperations() { it := c.ListOperations(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/monitoring/apiv3/doc.go b/monitoring/apiv3/doc.go index b57411bb6713..ca72c8e50994 100644 --- a/monitoring/apiv3/doc.go +++ b/monitoring/apiv3/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package monitoring is an experimental, auto-generated package for the -// monitoring API. +// Stackdriver Monitoring API. // // Manages your Stackdriver Monitoring data and configurations. Most projects // must be associated with a Stackdriver account, with a few exceptions as @@ -34,6 +34,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/monitoring/apiv3/group_client.go b/monitoring/apiv3/group_client.go index 765b151026fd..e861d7dfd0cd 100644 --- a/monitoring/apiv3/group_client.go +++ b/monitoring/apiv3/group_client.go @@ -68,17 +68,6 @@ func defaultGroupCallOptions() *GroupCallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &GroupCallOptions{ ListGroups: retry[[2]string{"default", "idempotent"}], diff --git a/monitoring/apiv3/group_client_example_test.go b/monitoring/apiv3/group_client_example_test.go index 095661a77b58..cae59bfda20f 100644 --- a/monitoring/apiv3/group_client_example_test.go +++ b/monitoring/apiv3/group_client_example_test.go @@ -19,6 +19,7 @@ package monitoring_test import ( "cloud.google.com/go/monitoring/apiv3" "golang.org/x/net/context" + "google.golang.org/api/iterator" monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3" ) @@ -45,9 +46,11 @@ func ExampleGroupClient_ListGroups() { it := c.ListGroups(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -137,9 +140,11 @@ func ExampleGroupClient_ListGroupMembers() { it := c.ListGroupMembers(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/monitoring/apiv3/metric_client.go b/monitoring/apiv3/metric_client.go index 53dced8408ff..4b24b6d6c767 100644 --- a/monitoring/apiv3/metric_client.go +++ b/monitoring/apiv3/metric_client.go @@ -72,17 +72,6 @@ func defaultMetricCallOptions() *MetricCallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &MetricCallOptions{ ListMonitoredResourceDescriptors: retry[[2]string{"default", "idempotent"}], diff --git a/monitoring/apiv3/metric_client_example_test.go b/monitoring/apiv3/metric_client_example_test.go index 5dbb5efdda71..a76848927cc2 100644 --- a/monitoring/apiv3/metric_client_example_test.go +++ b/monitoring/apiv3/metric_client_example_test.go @@ -19,6 +19,7 @@ package monitoring_test import ( "cloud.google.com/go/monitoring/apiv3" "golang.org/x/net/context" + "google.golang.org/api/iterator" monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3" ) @@ -45,9 +46,11 @@ func ExampleMetricClient_ListMonitoredResourceDescriptors() { it := c.ListMonitoredResourceDescriptors(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -85,9 +88,11 @@ func ExampleMetricClient_ListMetricDescriptors() { it := c.ListMetricDescriptors(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -159,9 +164,11 @@ func ExampleMetricClient_ListTimeSeries() { it := c.ListTimeSeries(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/monitoring/apiv3/mock_test.go b/monitoring/apiv3/mock_test.go index 54e689992c9a..25aa2a780d49 100644 --- a/monitoring/apiv3/mock_test.go +++ b/monitoring/apiv3/mock_test.go @@ -41,6 +41,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -327,7 +328,7 @@ func TestGroupServiceListGroups(t *testing.T) { func TestGroupServiceListGroupsError(t *testing.T) { errCode := codes.PermissionDenied - mockGroup.err = grpc.Errorf(errCode, "test error") + mockGroup.err = gstatus.Error(errCode, "test error") var formattedName string = GroupProjectPath("[PROJECT]") var request = &monitoringpb.ListGroupsRequest{ @@ -341,7 +342,9 @@ func TestGroupServiceListGroupsError(t *testing.T) { resp, err := c.ListGroups(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -392,7 +395,7 @@ func TestGroupServiceGetGroup(t *testing.T) { func TestGroupServiceGetGroupError(t *testing.T) { errCode := codes.PermissionDenied - mockGroup.err = grpc.Errorf(errCode, "test error") + mockGroup.err = gstatus.Error(errCode, "test error") var formattedName string = GroupGroupPath("[PROJECT]", "[GROUP]") var request = &monitoringpb.GetGroupRequest{ @@ -406,7 +409,9 @@ func TestGroupServiceGetGroupError(t *testing.T) { resp, err := c.GetGroup(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -459,7 +464,7 @@ func TestGroupServiceCreateGroup(t *testing.T) { func TestGroupServiceCreateGroupError(t *testing.T) { errCode := codes.PermissionDenied - mockGroup.err = grpc.Errorf(errCode, "test error") + mockGroup.err = gstatus.Error(errCode, "test error") var formattedName string = GroupProjectPath("[PROJECT]") var group *monitoringpb.Group = &monitoringpb.Group{} @@ -475,7 +480,9 @@ func TestGroupServiceCreateGroupError(t *testing.T) { resp, err := c.CreateGroup(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -526,7 +533,7 @@ func TestGroupServiceUpdateGroup(t *testing.T) { func TestGroupServiceUpdateGroupError(t *testing.T) { errCode := codes.PermissionDenied - mockGroup.err = grpc.Errorf(errCode, "test error") + mockGroup.err = gstatus.Error(errCode, "test error") var group *monitoringpb.Group = &monitoringpb.Group{} var request = &monitoringpb.UpdateGroupRequest{ @@ -540,7 +547,9 @@ func TestGroupServiceUpdateGroupError(t *testing.T) { resp, err := c.UpdateGroup(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -577,7 +586,7 @@ func TestGroupServiceDeleteGroup(t *testing.T) { func TestGroupServiceDeleteGroupError(t *testing.T) { errCode := codes.PermissionDenied - mockGroup.err = grpc.Errorf(errCode, "test error") + mockGroup.err = gstatus.Error(errCode, "test error") var formattedName string = GroupGroupPath("[PROJECT]", "[GROUP]") var request = &monitoringpb.DeleteGroupRequest{ @@ -591,7 +600,9 @@ func TestGroupServiceDeleteGroupError(t *testing.T) { err = c.DeleteGroup(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -648,7 +659,7 @@ func TestGroupServiceListGroupMembers(t *testing.T) { func TestGroupServiceListGroupMembersError(t *testing.T) { errCode := codes.PermissionDenied - mockGroup.err = grpc.Errorf(errCode, "test error") + mockGroup.err = gstatus.Error(errCode, "test error") var formattedName string = GroupGroupPath("[PROJECT]", "[GROUP]") var request = &monitoringpb.ListGroupMembersRequest{ @@ -662,7 +673,9 @@ func TestGroupServiceListGroupMembersError(t *testing.T) { resp, err := c.ListGroupMembers(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -718,7 +731,7 @@ func TestMetricServiceListMonitoredResourceDescriptors(t *testing.T) { func TestMetricServiceListMonitoredResourceDescriptorsError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricProjectPath("[PROJECT]") var request = &monitoringpb.ListMonitoredResourceDescriptorsRequest{ @@ -732,7 +745,9 @@ func TestMetricServiceListMonitoredResourceDescriptorsError(t *testing.T) { resp, err := c.ListMonitoredResourceDescriptors(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -781,7 +796,7 @@ func TestMetricServiceGetMonitoredResourceDescriptor(t *testing.T) { func TestMetricServiceGetMonitoredResourceDescriptorError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricMonitoredResourceDescriptorPath("[PROJECT]", "[MONITORED_RESOURCE_DESCRIPTOR]") var request = &monitoringpb.GetMonitoredResourceDescriptorRequest{ @@ -795,7 +810,9 @@ func TestMetricServiceGetMonitoredResourceDescriptorError(t *testing.T) { resp, err := c.GetMonitoredResourceDescriptor(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -851,7 +868,7 @@ func TestMetricServiceListMetricDescriptors(t *testing.T) { func TestMetricServiceListMetricDescriptorsError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricProjectPath("[PROJECT]") var request = &monitoringpb.ListMetricDescriptorsRequest{ @@ -865,7 +882,9 @@ func TestMetricServiceListMetricDescriptorsError(t *testing.T) { resp, err := c.ListMetricDescriptors(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -916,7 +935,7 @@ func TestMetricServiceGetMetricDescriptor(t *testing.T) { func TestMetricServiceGetMetricDescriptorError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricMetricDescriptorPath("[PROJECT]", "[METRIC_DESCRIPTOR]") var request = &monitoringpb.GetMetricDescriptorRequest{ @@ -930,7 +949,9 @@ func TestMetricServiceGetMetricDescriptorError(t *testing.T) { resp, err := c.GetMetricDescriptor(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -983,7 +1004,7 @@ func TestMetricServiceCreateMetricDescriptor(t *testing.T) { func TestMetricServiceCreateMetricDescriptorError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricProjectPath("[PROJECT]") var metricDescriptor *metricpb.MetricDescriptor = &metricpb.MetricDescriptor{} @@ -999,7 +1020,9 @@ func TestMetricServiceCreateMetricDescriptorError(t *testing.T) { resp, err := c.CreateMetricDescriptor(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1036,7 +1059,7 @@ func TestMetricServiceDeleteMetricDescriptor(t *testing.T) { func TestMetricServiceDeleteMetricDescriptorError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricMetricDescriptorPath("[PROJECT]", "[METRIC_DESCRIPTOR]") var request = &monitoringpb.DeleteMetricDescriptorRequest{ @@ -1050,7 +1073,9 @@ func TestMetricServiceDeleteMetricDescriptorError(t *testing.T) { err = c.DeleteMetricDescriptor(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -1111,7 +1136,7 @@ func TestMetricServiceListTimeSeries(t *testing.T) { func TestMetricServiceListTimeSeriesError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricProjectPath("[PROJECT]") var filter string = "filter-1274492040" @@ -1131,7 +1156,9 @@ func TestMetricServiceListTimeSeriesError(t *testing.T) { resp, err := c.ListTimeSeries(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1170,7 +1197,7 @@ func TestMetricServiceCreateTimeSeries(t *testing.T) { func TestMetricServiceCreateTimeSeriesError(t *testing.T) { errCode := codes.PermissionDenied - mockMetric.err = grpc.Errorf(errCode, "test error") + mockMetric.err = gstatus.Error(errCode, "test error") var formattedName string = MetricProjectPath("[PROJECT]") var timeSeries []*monitoringpb.TimeSeries = nil @@ -1186,7 +1213,9 @@ func TestMetricServiceCreateTimeSeriesError(t *testing.T) { err = c.CreateTimeSeries(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } diff --git a/pubsub/apiv1/doc.go b/pubsub/apiv1/doc.go index 6d884a807b0f..6a4addcb1665 100644 --- a/pubsub/apiv1/doc.go +++ b/pubsub/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package pubsub is an experimental, auto-generated package for the -// pubsub API. +// Google Cloud Pub/Sub API. // // Provides reliable, many-to-many, asynchronous messaging between // applications. @@ -35,6 +35,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/pubsub/apiv1/mock_test.go b/pubsub/apiv1/mock_test.go index e5935b128ac3..eddd8e5b0ddc 100644 --- a/pubsub/apiv1/mock_test.go +++ b/pubsub/apiv1/mock_test.go @@ -41,6 +41,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -452,7 +453,7 @@ func TestPublisherCreateTopic(t *testing.T) { func TestPublisherCreateTopicError(t *testing.T) { errCode := codes.PermissionDenied - mockPublisher.err = grpc.Errorf(errCode, "test error") + mockPublisher.err = gstatus.Error(errCode, "test error") var formattedName string = PublisherTopicPath("[PROJECT]", "[TOPIC]") var request = &pubsubpb.Topic{ @@ -466,7 +467,9 @@ func TestPublisherCreateTopicError(t *testing.T) { resp, err := c.CreateTopic(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -516,7 +519,7 @@ func TestPublisherPublish(t *testing.T) { func TestPublisherPublishError(t *testing.T) { errCode := codes.PermissionDenied - mockPublisher.err = grpc.Errorf(errCode, "test error") + mockPublisher.err = gstatus.Error(errCode, "test error") var formattedTopic string = PublisherTopicPath("[PROJECT]", "[TOPIC]") var data []byte = []byte("-86") @@ -536,7 +539,9 @@ func TestPublisherPublishError(t *testing.T) { resp, err := c.Publish(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -579,7 +584,7 @@ func TestPublisherGetTopic(t *testing.T) { func TestPublisherGetTopicError(t *testing.T) { errCode := codes.PermissionDenied - mockPublisher.err = grpc.Errorf(errCode, "test error") + mockPublisher.err = gstatus.Error(errCode, "test error") var formattedTopic string = PublisherTopicPath("[PROJECT]", "[TOPIC]") var request = &pubsubpb.GetTopicRequest{ @@ -593,7 +598,9 @@ func TestPublisherGetTopicError(t *testing.T) { resp, err := c.GetTopic(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -649,7 +656,7 @@ func TestPublisherListTopics(t *testing.T) { func TestPublisherListTopicsError(t *testing.T) { errCode := codes.PermissionDenied - mockPublisher.err = grpc.Errorf(errCode, "test error") + mockPublisher.err = gstatus.Error(errCode, "test error") var formattedProject string = PublisherProjectPath("[PROJECT]") var request = &pubsubpb.ListTopicsRequest{ @@ -663,7 +670,9 @@ func TestPublisherListTopicsError(t *testing.T) { resp, err := c.ListTopics(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -719,7 +728,7 @@ func TestPublisherListTopicSubscriptions(t *testing.T) { func TestPublisherListTopicSubscriptionsError(t *testing.T) { errCode := codes.PermissionDenied - mockPublisher.err = grpc.Errorf(errCode, "test error") + mockPublisher.err = gstatus.Error(errCode, "test error") var formattedTopic string = PublisherTopicPath("[PROJECT]", "[TOPIC]") var request = &pubsubpb.ListTopicSubscriptionsRequest{ @@ -733,7 +742,9 @@ func TestPublisherListTopicSubscriptionsError(t *testing.T) { resp, err := c.ListTopicSubscriptions(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -770,7 +781,7 @@ func TestPublisherDeleteTopic(t *testing.T) { func TestPublisherDeleteTopicError(t *testing.T) { errCode := codes.PermissionDenied - mockPublisher.err = grpc.Errorf(errCode, "test error") + mockPublisher.err = gstatus.Error(errCode, "test error") var formattedTopic string = PublisherTopicPath("[PROJECT]", "[TOPIC]") var request = &pubsubpb.DeleteTopicRequest{ @@ -784,7 +795,9 @@ func TestPublisherDeleteTopicError(t *testing.T) { err = c.DeleteTopic(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -834,7 +847,7 @@ func TestSubscriberCreateSubscription(t *testing.T) { func TestSubscriberCreateSubscriptionError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedName string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var formattedTopic string = SubscriberTopicPath("[PROJECT]", "[TOPIC]") @@ -850,7 +863,9 @@ func TestSubscriberCreateSubscriptionError(t *testing.T) { resp, err := c.CreateSubscription(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -899,7 +914,7 @@ func TestSubscriberGetSubscription(t *testing.T) { func TestSubscriberGetSubscriptionError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var request = &pubsubpb.GetSubscriptionRequest{ @@ -913,7 +928,9 @@ func TestSubscriberGetSubscriptionError(t *testing.T) { resp, err := c.GetSubscription(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -964,7 +981,7 @@ func TestSubscriberUpdateSubscription(t *testing.T) { func TestSubscriberUpdateSubscriptionError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var subscription *pubsubpb.Subscription = &pubsubpb.Subscription{} var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} @@ -980,7 +997,9 @@ func TestSubscriberUpdateSubscriptionError(t *testing.T) { resp, err := c.UpdateSubscription(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1036,7 +1055,7 @@ func TestSubscriberListSubscriptions(t *testing.T) { func TestSubscriberListSubscriptionsError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedProject string = SubscriberProjectPath("[PROJECT]") var request = &pubsubpb.ListSubscriptionsRequest{ @@ -1050,7 +1069,9 @@ func TestSubscriberListSubscriptionsError(t *testing.T) { resp, err := c.ListSubscriptions(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1087,7 +1108,7 @@ func TestSubscriberDeleteSubscription(t *testing.T) { func TestSubscriberDeleteSubscriptionError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var request = &pubsubpb.DeleteSubscriptionRequest{ @@ -1101,7 +1122,9 @@ func TestSubscriberDeleteSubscriptionError(t *testing.T) { err = c.DeleteSubscription(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -1141,7 +1164,7 @@ func TestSubscriberModifyAckDeadline(t *testing.T) { func TestSubscriberModifyAckDeadlineError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var ackIds []string = nil @@ -1159,7 +1182,9 @@ func TestSubscriberModifyAckDeadlineError(t *testing.T) { err = c.ModifyAckDeadline(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -1197,7 +1222,7 @@ func TestSubscriberAcknowledge(t *testing.T) { func TestSubscriberAcknowledgeError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var ackIds []string = nil @@ -1213,7 +1238,9 @@ func TestSubscriberAcknowledgeError(t *testing.T) { err = c.Acknowledge(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -1254,7 +1281,7 @@ func TestSubscriberPull(t *testing.T) { func TestSubscriberPullError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var maxMessages int32 = 496131527 @@ -1270,13 +1297,19 @@ func TestSubscriberPullError(t *testing.T) { resp, err := c.Pull(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp } func TestSubscriberStreamingPull(t *testing.T) { - var expectedResponse *pubsubpb.StreamingPullResponse = &pubsubpb.StreamingPullResponse{} + var receivedMessagesElement *pubsubpb.ReceivedMessage = &pubsubpb.ReceivedMessage{} + var receivedMessages = []*pubsubpb.ReceivedMessage{receivedMessagesElement} + var expectedResponse = &pubsubpb.StreamingPullResponse{ + ReceivedMessages: receivedMessages, + } mockSubscriber.err = nil mockSubscriber.reqs = nil @@ -1322,7 +1355,7 @@ func TestSubscriberStreamingPull(t *testing.T) { func TestSubscriberStreamingPullError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var streamAckDeadlineSeconds int32 = 1875467245 @@ -1348,7 +1381,9 @@ func TestSubscriberStreamingPullError(t *testing.T) { } resp, err := stream.Recv() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1387,7 +1422,7 @@ func TestSubscriberModifyPushConfig(t *testing.T) { func TestSubscriberModifyPushConfigError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var pushConfig *pubsubpb.PushConfig = &pubsubpb.PushConfig{} @@ -1403,7 +1438,9 @@ func TestSubscriberModifyPushConfigError(t *testing.T) { err = c.ModifyPushConfig(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -1458,7 +1495,7 @@ func TestSubscriberListSnapshots(t *testing.T) { func TestSubscriberListSnapshotsError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedProject string = SubscriberProjectPath("[PROJECT]") var request = &pubsubpb.ListSnapshotsRequest{ @@ -1472,7 +1509,9 @@ func TestSubscriberListSnapshotsError(t *testing.T) { resp, err := c.ListSnapshots(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1519,7 +1558,7 @@ func TestSubscriberCreateSnapshot(t *testing.T) { func TestSubscriberCreateSnapshotError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedName string = SubscriberSnapshotPath("[PROJECT]", "[SNAPSHOT]") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") @@ -1535,7 +1574,9 @@ func TestSubscriberCreateSnapshotError(t *testing.T) { resp, err := c.CreateSnapshot(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -1572,7 +1613,7 @@ func TestSubscriberDeleteSnapshot(t *testing.T) { func TestSubscriberDeleteSnapshotError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSnapshot string = SubscriberSnapshotPath("[PROJECT]", "[SNAPSHOT]") var request = &pubsubpb.DeleteSnapshotRequest{ @@ -1586,7 +1627,9 @@ func TestSubscriberDeleteSnapshotError(t *testing.T) { err = c.DeleteSnapshot(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -1625,7 +1668,7 @@ func TestSubscriberSeek(t *testing.T) { func TestSubscriberSeekError(t *testing.T) { errCode := codes.PermissionDenied - mockSubscriber.err = grpc.Errorf(errCode, "test error") + mockSubscriber.err = gstatus.Error(errCode, "test error") var formattedSubscription string = SubscriberSubscriptionPath("[PROJECT]", "[SUBSCRIPTION]") var request = &pubsubpb.SeekRequest{ @@ -1639,7 +1682,9 @@ func TestSubscriberSeekError(t *testing.T) { resp, err := c.Seek(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/pubsub/apiv1/publisher_client_example_test.go b/pubsub/apiv1/publisher_client_example_test.go index 6e63f80e3351..ad77ce842e4c 100644 --- a/pubsub/apiv1/publisher_client_example_test.go +++ b/pubsub/apiv1/publisher_client_example_test.go @@ -19,6 +19,7 @@ package pubsub_test import ( "cloud.google.com/go/pubsub/apiv1" "golang.org/x/net/context" + "google.golang.org/api/iterator" pubsubpb "google.golang.org/genproto/googleapis/pubsub/v1" ) @@ -133,9 +134,11 @@ func ExamplePublisherClient_ListTopics() { it := c.ListTopics(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -155,9 +158,11 @@ func ExamplePublisherClient_ListTopicSubscriptions() { it := c.ListTopicSubscriptions(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/pubsub/apiv1/subscriber_client.go b/pubsub/apiv1/subscriber_client.go index 2e26b6e61028..29fc43936915 100644 --- a/pubsub/apiv1/subscriber_client.go +++ b/pubsub/apiv1/subscriber_client.go @@ -78,28 +78,6 @@ func defaultSubscriberCallOptions() *SubscriberCallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, - {"messaging", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, {"messaging", "pull"}: { gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ diff --git a/pubsub/apiv1/subscriber_client_example_test.go b/pubsub/apiv1/subscriber_client_example_test.go index 53c06611b860..066fca13f729 100644 --- a/pubsub/apiv1/subscriber_client_example_test.go +++ b/pubsub/apiv1/subscriber_client_example_test.go @@ -21,6 +21,7 @@ import ( "cloud.google.com/go/pubsub/apiv1" "golang.org/x/net/context" + "google.golang.org/api/iterator" pubsubpb "google.golang.org/genproto/googleapis/pubsub/v1" ) @@ -135,9 +136,11 @@ func ExampleSubscriberClient_ListSubscriptions() { it := c.ListSubscriptions(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -273,9 +276,11 @@ func ExampleSubscriberClient_ListSnapshots() { it := c.ListSnapshots(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/spanner/admin/database/apiv1/database_admin_client.go b/spanner/admin/database/apiv1/database_admin_client.go index 95d623059607..65506b6336a6 100644 --- a/spanner/admin/database/apiv1/database_admin_client.go +++ b/spanner/admin/database/apiv1/database_admin_client.go @@ -74,17 +74,6 @@ func defaultDatabaseAdminCallOptions() *DatabaseAdminCallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 1000 * time.Millisecond, - Max: 32000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &DatabaseAdminCallOptions{ ListDatabases: retry[[2]string{"default", "idempotent"}], diff --git a/spanner/admin/database/apiv1/database_admin_client_example_test.go b/spanner/admin/database/apiv1/database_admin_client_example_test.go index 0769d1193ea2..f0e40062a151 100644 --- a/spanner/admin/database/apiv1/database_admin_client_example_test.go +++ b/spanner/admin/database/apiv1/database_admin_client_example_test.go @@ -19,6 +19,7 @@ package database_test import ( "cloud.google.com/go/spanner/admin/database/apiv1" "golang.org/x/net/context" + "google.golang.org/api/iterator" iampb "google.golang.org/genproto/googleapis/iam/v1" databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1" ) @@ -46,9 +47,11 @@ func ExampleDatabaseAdminClient_ListDatabases() { it := c.ListDatabases(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/spanner/admin/database/apiv1/doc.go b/spanner/admin/database/apiv1/doc.go index 46eaaae7350a..03ee1441d83f 100644 --- a/spanner/admin/database/apiv1/doc.go +++ b/spanner/admin/database/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package database is an experimental, auto-generated package for the -// database API. +// Cloud Spanner Database Admin API. // package database // import "cloud.google.com/go/spanner/admin/database/apiv1" @@ -31,6 +31,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/spanner/admin/database/apiv1/mock_test.go b/spanner/admin/database/apiv1/mock_test.go index accd30cb3377..36393ff993c2 100644 --- a/spanner/admin/database/apiv1/mock_test.go +++ b/spanner/admin/database/apiv1/mock_test.go @@ -41,6 +41,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -250,7 +251,7 @@ func TestDatabaseAdminListDatabases(t *testing.T) { func TestDatabaseAdminListDatabasesError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedParent string = DatabaseAdminInstancePath("[PROJECT]", "[INSTANCE]") var request = &databasepb.ListDatabasesRequest{ @@ -264,7 +265,9 @@ func TestDatabaseAdminListDatabasesError(t *testing.T) { resp, err := c.ListDatabases(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -351,7 +354,9 @@ func TestDatabaseAdminCreateDatabaseError(t *testing.T) { } resp, err := respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -394,7 +399,7 @@ func TestDatabaseAdminGetDatabase(t *testing.T) { func TestDatabaseAdminGetDatabaseError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedName string = DatabaseAdminDatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") var request = &databasepb.GetDatabaseRequest{ @@ -408,7 +413,9 @@ func TestDatabaseAdminGetDatabaseError(t *testing.T) { resp, err := c.GetDatabase(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -489,7 +496,9 @@ func TestDatabaseAdminUpdateDatabaseDdlError(t *testing.T) { } err = respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -525,7 +534,7 @@ func TestDatabaseAdminDropDatabase(t *testing.T) { func TestDatabaseAdminDropDatabaseError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedDatabase string = DatabaseAdminDatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") var request = &databasepb.DropDatabaseRequest{ @@ -539,7 +548,9 @@ func TestDatabaseAdminDropDatabaseError(t *testing.T) { err = c.DropDatabase(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -578,7 +589,7 @@ func TestDatabaseAdminGetDatabaseDdl(t *testing.T) { func TestDatabaseAdminGetDatabaseDdlError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedDatabase string = DatabaseAdminDatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") var request = &databasepb.GetDatabaseDdlRequest{ @@ -592,7 +603,9 @@ func TestDatabaseAdminGetDatabaseDdlError(t *testing.T) { resp, err := c.GetDatabaseDdl(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -639,7 +652,7 @@ func TestDatabaseAdminSetIamPolicy(t *testing.T) { func TestDatabaseAdminSetIamPolicyError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedResource string = DatabaseAdminDatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") var policy *iampb.Policy = &iampb.Policy{} @@ -655,7 +668,9 @@ func TestDatabaseAdminSetIamPolicyError(t *testing.T) { resp, err := c.SetIamPolicy(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -700,7 +715,7 @@ func TestDatabaseAdminGetIamPolicy(t *testing.T) { func TestDatabaseAdminGetIamPolicyError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedResource string = DatabaseAdminDatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") var request = &iampb.GetIamPolicyRequest{ @@ -714,7 +729,9 @@ func TestDatabaseAdminGetIamPolicyError(t *testing.T) { resp, err := c.GetIamPolicy(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -756,7 +773,7 @@ func TestDatabaseAdminTestIamPermissions(t *testing.T) { func TestDatabaseAdminTestIamPermissionsError(t *testing.T) { errCode := codes.PermissionDenied - mockDatabaseAdmin.err = grpc.Errorf(errCode, "test error") + mockDatabaseAdmin.err = gstatus.Error(errCode, "test error") var formattedResource string = DatabaseAdminDatabasePath("[PROJECT]", "[INSTANCE]", "[DATABASE]") var permissions []string = nil @@ -772,7 +789,9 @@ func TestDatabaseAdminTestIamPermissionsError(t *testing.T) { resp, err := c.TestIamPermissions(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/spanner/admin/instance/apiv1/doc.go b/spanner/admin/instance/apiv1/doc.go index b0c9821237de..dd4ea6841d92 100644 --- a/spanner/admin/instance/apiv1/doc.go +++ b/spanner/admin/instance/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package instance is an experimental, auto-generated package for the -// instance API. +// Cloud Spanner Instance Admin API. // package instance // import "cloud.google.com/go/spanner/admin/instance/apiv1" @@ -31,6 +31,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/spanner/admin/instance/apiv1/instance_admin_client.go b/spanner/admin/instance/apiv1/instance_admin_client.go index 138e813f2197..281433d280b8 100644 --- a/spanner/admin/instance/apiv1/instance_admin_client.go +++ b/spanner/admin/instance/apiv1/instance_admin_client.go @@ -76,17 +76,6 @@ func defaultInstanceAdminCallOptions() *InstanceAdminCallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 1000 * time.Millisecond, - Max: 32000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &InstanceAdminCallOptions{ ListInstanceConfigs: retry[[2]string{"default", "idempotent"}], diff --git a/spanner/admin/instance/apiv1/instance_admin_client_example_test.go b/spanner/admin/instance/apiv1/instance_admin_client_example_test.go index ee807fdbc22b..ba506fced7f3 100644 --- a/spanner/admin/instance/apiv1/instance_admin_client_example_test.go +++ b/spanner/admin/instance/apiv1/instance_admin_client_example_test.go @@ -19,6 +19,7 @@ package instance_test import ( "cloud.google.com/go/spanner/admin/instance/apiv1" "golang.org/x/net/context" + "google.golang.org/api/iterator" iampb "google.golang.org/genproto/googleapis/iam/v1" instancepb "google.golang.org/genproto/googleapis/spanner/admin/instance/v1" ) @@ -46,9 +47,11 @@ func ExampleInstanceAdminClient_ListInstanceConfigs() { it := c.ListInstanceConfigs(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp @@ -86,9 +89,11 @@ func ExampleInstanceAdminClient_ListInstances() { it := c.ListInstances(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/spanner/admin/instance/apiv1/mock_test.go b/spanner/admin/instance/apiv1/mock_test.go index 8728d0b253da..0b2bb2f0d020 100644 --- a/spanner/admin/instance/apiv1/mock_test.go +++ b/spanner/admin/instance/apiv1/mock_test.go @@ -42,6 +42,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -263,7 +264,7 @@ func TestInstanceAdminListInstanceConfigs(t *testing.T) { func TestInstanceAdminListInstanceConfigsError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedParent string = InstanceAdminProjectPath("[PROJECT]") var request = &instancepb.ListInstanceConfigsRequest{ @@ -277,7 +278,9 @@ func TestInstanceAdminListInstanceConfigsError(t *testing.T) { resp, err := c.ListInstanceConfigs(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -322,7 +325,7 @@ func TestInstanceAdminGetInstanceConfig(t *testing.T) { func TestInstanceAdminGetInstanceConfigError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedName string = InstanceAdminInstanceConfigPath("[PROJECT]", "[INSTANCE_CONFIG]") var request = &instancepb.GetInstanceConfigRequest{ @@ -336,7 +339,9 @@ func TestInstanceAdminGetInstanceConfigError(t *testing.T) { resp, err := c.GetInstanceConfig(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -392,7 +397,7 @@ func TestInstanceAdminListInstances(t *testing.T) { func TestInstanceAdminListInstancesError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedParent string = InstanceAdminProjectPath("[PROJECT]") var request = &instancepb.ListInstancesRequest{ @@ -406,7 +411,9 @@ func TestInstanceAdminListInstancesError(t *testing.T) { resp, err := c.ListInstances(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -455,7 +462,7 @@ func TestInstanceAdminGetInstance(t *testing.T) { func TestInstanceAdminGetInstanceError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedName string = InstanceAdminInstancePath("[PROJECT]", "[INSTANCE]") var request = &instancepb.GetInstanceRequest{ @@ -469,7 +476,9 @@ func TestInstanceAdminGetInstanceError(t *testing.T) { resp, err := c.GetInstance(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -566,7 +575,9 @@ func TestInstanceAdminCreateInstanceError(t *testing.T) { } resp, err := respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -659,7 +670,9 @@ func TestInstanceAdminUpdateInstanceError(t *testing.T) { } resp, err := respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -696,7 +709,7 @@ func TestInstanceAdminDeleteInstance(t *testing.T) { func TestInstanceAdminDeleteInstanceError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedName string = InstanceAdminInstancePath("[PROJECT]", "[INSTANCE]") var request = &instancepb.DeleteInstanceRequest{ @@ -710,7 +723,9 @@ func TestInstanceAdminDeleteInstanceError(t *testing.T) { err = c.DeleteInstance(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -756,7 +771,7 @@ func TestInstanceAdminSetIamPolicy(t *testing.T) { func TestInstanceAdminSetIamPolicyError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedResource string = InstanceAdminInstancePath("[PROJECT]", "[INSTANCE]") var policy *iampb.Policy = &iampb.Policy{} @@ -772,7 +787,9 @@ func TestInstanceAdminSetIamPolicyError(t *testing.T) { resp, err := c.SetIamPolicy(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -817,7 +834,7 @@ func TestInstanceAdminGetIamPolicy(t *testing.T) { func TestInstanceAdminGetIamPolicyError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedResource string = InstanceAdminInstancePath("[PROJECT]", "[INSTANCE]") var request = &iampb.GetIamPolicyRequest{ @@ -831,7 +848,9 @@ func TestInstanceAdminGetIamPolicyError(t *testing.T) { resp, err := c.GetIamPolicy(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -873,7 +892,7 @@ func TestInstanceAdminTestIamPermissions(t *testing.T) { func TestInstanceAdminTestIamPermissionsError(t *testing.T) { errCode := codes.PermissionDenied - mockInstanceAdmin.err = grpc.Errorf(errCode, "test error") + mockInstanceAdmin.err = gstatus.Error(errCode, "test error") var formattedResource string = InstanceAdminInstancePath("[PROJECT]", "[INSTANCE]") var permissions []string = nil @@ -889,7 +908,9 @@ func TestInstanceAdminTestIamPermissionsError(t *testing.T) { resp, err := c.TestIamPermissions(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/speech/apiv1/doc.go b/speech/apiv1/doc.go index a50a2a8221f4..c884fa9f13a5 100644 --- a/speech/apiv1/doc.go +++ b/speech/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package speech is an experimental, auto-generated package for the -// speech API. +// Google Cloud Speech API. // // Google Cloud Speech API. package speech // import "cloud.google.com/go/speech/apiv1" @@ -32,6 +32,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/speech/apiv1/mock_test.go b/speech/apiv1/mock_test.go index 2416c72ded7e..331e0d65dc87 100644 --- a/speech/apiv1/mock_test.go +++ b/speech/apiv1/mock_test.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -187,7 +188,7 @@ func TestSpeechRecognize(t *testing.T) { func TestSpeechRecognizeError(t *testing.T) { errCode := codes.PermissionDenied - mockSpeech.err = grpc.Errorf(errCode, "test error") + mockSpeech.err = gstatus.Error(errCode, "test error") var encoding speechpb.RecognitionConfig_AudioEncoding = speechpb.RecognitionConfig_FLAC var sampleRateHertz int32 = 44100 @@ -215,7 +216,9 @@ func TestSpeechRecognizeError(t *testing.T) { resp, err := c.Recognize(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -323,7 +326,9 @@ func TestSpeechLongRunningRecognizeError(t *testing.T) { } resp, err := respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -370,7 +375,7 @@ func TestSpeechStreamingRecognize(t *testing.T) { func TestSpeechStreamingRecognizeError(t *testing.T) { errCode := codes.PermissionDenied - mockSpeech.err = grpc.Errorf(errCode, "test error") + mockSpeech.err = gstatus.Error(errCode, "test error") var request *speechpb.StreamingRecognizeRequest = &speechpb.StreamingRecognizeRequest{} @@ -391,7 +396,9 @@ func TestSpeechStreamingRecognizeError(t *testing.T) { } resp, err := stream.Recv() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/speech/apiv1/speech_client.go b/speech/apiv1/speech_client.go index 1ae84db45adf..fa6eedcdf5d8 100644 --- a/speech/apiv1/speech_client.go +++ b/speech/apiv1/speech_client.go @@ -60,17 +60,6 @@ func defaultCallOptions() *CallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &CallOptions{ Recognize: retry[[2]string{"default", "idempotent"}], diff --git a/speech/apiv1beta1/doc.go b/speech/apiv1beta1/doc.go index 97f909555623..1bd79111007f 100644 --- a/speech/apiv1beta1/doc.go +++ b/speech/apiv1beta1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package speech is an experimental, auto-generated package for the -// speech API. +// Google Cloud Speech API. // // Google Cloud Speech API. package speech // import "cloud.google.com/go/speech/apiv1beta1" @@ -32,6 +32,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/speech/apiv1beta1/mock_test.go b/speech/apiv1beta1/mock_test.go index 2a2f3283db89..03cd96fb38ad 100644 --- a/speech/apiv1beta1/mock_test.go +++ b/speech/apiv1beta1/mock_test.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -185,7 +186,7 @@ func TestSpeechSyncRecognize(t *testing.T) { func TestSpeechSyncRecognizeError(t *testing.T) { errCode := codes.PermissionDenied - mockSpeech.err = grpc.Errorf(errCode, "test error") + mockSpeech.err = gstatus.Error(errCode, "test error") var encoding speechpb.RecognitionConfig_AudioEncoding = speechpb.RecognitionConfig_FLAC var sampleRate int32 = 44100 @@ -211,7 +212,9 @@ func TestSpeechSyncRecognizeError(t *testing.T) { resp, err := c.SyncRecognize(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -315,7 +318,9 @@ func TestSpeechAsyncRecognizeError(t *testing.T) { } resp, err := respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -365,7 +370,7 @@ func TestSpeechStreamingRecognize(t *testing.T) { func TestSpeechStreamingRecognizeError(t *testing.T) { errCode := codes.PermissionDenied - mockSpeech.err = grpc.Errorf(errCode, "test error") + mockSpeech.err = gstatus.Error(errCode, "test error") var request *speechpb.StreamingRecognizeRequest = &speechpb.StreamingRecognizeRequest{} @@ -386,7 +391,9 @@ func TestSpeechStreamingRecognizeError(t *testing.T) { } resp, err := stream.Recv() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/speech/apiv1beta1/speech_client.go b/speech/apiv1beta1/speech_client.go index 4b049195a0cc..609d7b2818cb 100644 --- a/speech/apiv1beta1/speech_client.go +++ b/speech/apiv1beta1/speech_client.go @@ -60,17 +60,6 @@ func defaultCallOptions() *CallOptions { }) }), }, - {"default", "non_idempotent"}: { - gax.WithRetry(func() gax.Retryer { - return gax.OnCodes([]codes.Code{ - codes.Unavailable, - }, gax.Backoff{ - Initial: 100 * time.Millisecond, - Max: 60000 * time.Millisecond, - Multiplier: 1.3, - }) - }), - }, } return &CallOptions{ SyncRecognize: retry[[2]string{"default", "idempotent"}], diff --git a/trace/apiv1/doc.go b/trace/apiv1/doc.go index 0b0437610bbd..b5878cafe8a7 100644 --- a/trace/apiv1/doc.go +++ b/trace/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package trace is an experimental, auto-generated package for the -// trace API. +// Stackdriver Trace API. // // Send and retrieve trace data from Stackdriver Trace. Data is generated and // available by default for all App Engine applications. Data from other @@ -37,6 +37,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/trace/apiv1/mock_test.go b/trace/apiv1/mock_test.go index b8f338a5bcd6..c69283ba5a5b 100644 --- a/trace/apiv1/mock_test.go +++ b/trace/apiv1/mock_test.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -159,7 +160,7 @@ func TestTraceServicePatchTraces(t *testing.T) { func TestTraceServicePatchTracesError(t *testing.T) { errCode := codes.PermissionDenied - mockTrace.err = grpc.Errorf(errCode, "test error") + mockTrace.err = gstatus.Error(errCode, "test error") var projectId string = "projectId-1969970175" var traces *cloudtracepb.Traces = &cloudtracepb.Traces{} @@ -175,7 +176,9 @@ func TestTraceServicePatchTracesError(t *testing.T) { err = c.PatchTraces(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } } @@ -221,7 +224,7 @@ func TestTraceServiceGetTrace(t *testing.T) { func TestTraceServiceGetTraceError(t *testing.T) { errCode := codes.PermissionDenied - mockTrace.err = grpc.Errorf(errCode, "test error") + mockTrace.err = gstatus.Error(errCode, "test error") var projectId string = "projectId-1969970175" var traceId string = "traceId1270300245" @@ -237,7 +240,9 @@ func TestTraceServiceGetTraceError(t *testing.T) { resp, err := c.GetTrace(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp @@ -293,7 +298,7 @@ func TestTraceServiceListTraces(t *testing.T) { func TestTraceServiceListTracesError(t *testing.T) { errCode := codes.PermissionDenied - mockTrace.err = grpc.Errorf(errCode, "test error") + mockTrace.err = gstatus.Error(errCode, "test error") var projectId string = "projectId-1969970175" var request = &cloudtracepb.ListTracesRequest{ @@ -307,7 +312,9 @@ func TestTraceServiceListTracesError(t *testing.T) { resp, err := c.ListTraces(context.Background(), request).Next() - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/trace/apiv1/trace_client_example_test.go b/trace/apiv1/trace_client_example_test.go index 733c5918cb67..ee885a7dd128 100644 --- a/trace/apiv1/trace_client_example_test.go +++ b/trace/apiv1/trace_client_example_test.go @@ -19,6 +19,7 @@ package trace_test import ( "cloud.google.com/go/trace/apiv1" "golang.org/x/net/context" + "google.golang.org/api/iterator" cloudtracepb "google.golang.org/genproto/googleapis/devtools/cloudtrace/v1" ) @@ -79,9 +80,11 @@ func ExampleClient_ListTraces() { it := c.ListTraces(ctx, req) for { resp, err := it.Next() + if err == iterator.Done { + break + } if err != nil { // TODO: Handle error. - break } // TODO: Use resp. _ = resp diff --git a/videointelligence/apiv1beta1/doc.go b/videointelligence/apiv1beta1/doc.go index 70ec3026c606..0240b18a7267 100644 --- a/videointelligence/apiv1beta1/doc.go +++ b/videointelligence/apiv1beta1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package videointelligence is an experimental, auto-generated package for the -// videointelligence API. +// Google Cloud Video Intelligence API. // // Google Cloud Video Intelligence API. // @@ -34,6 +34,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/videointelligence/apiv1beta1/mock_test.go b/videointelligence/apiv1beta1/mock_test.go index df5c8a7a8942..7615da56b5f0 100644 --- a/videointelligence/apiv1beta1/mock_test.go +++ b/videointelligence/apiv1beta1/mock_test.go @@ -39,6 +39,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -124,7 +125,7 @@ func TestVideoIntelligenceServiceAnnotateVideo(t *testing.T) { Features: features, } - c, err := NewVideoIntelligenceClient(context.Background(), clientOpt) + c, err := NewClient(context.Background(), clientOpt) if err != nil { t.Fatal(err) } @@ -169,7 +170,7 @@ func TestVideoIntelligenceServiceAnnotateVideoError(t *testing.T) { Features: features, } - c, err := NewVideoIntelligenceClient(context.Background(), clientOpt) + c, err := NewClient(context.Background(), clientOpt) if err != nil { t.Fatal(err) } @@ -180,7 +181,9 @@ func TestVideoIntelligenceServiceAnnotateVideoError(t *testing.T) { } resp, err := respLRO.Wait(context.Background()) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp diff --git a/videointelligence/apiv1beta1/video_intelligence_client.go b/videointelligence/apiv1beta1/video_intelligence_client.go index 9ad17463c143..13cfbba10756 100644 --- a/videointelligence/apiv1beta1/video_intelligence_client.go +++ b/videointelligence/apiv1beta1/video_intelligence_client.go @@ -32,19 +32,19 @@ import ( "google.golang.org/grpc/codes" ) -// VideoIntelligenceCallOptions contains the retry settings for each method of VideoIntelligenceClient. -type VideoIntelligenceCallOptions struct { +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { AnnotateVideo []gax.CallOption } -func defaultVideoIntelligenceClientOptions() []option.ClientOption { +func defaultClientOptions() []option.ClientOption { return []option.ClientOption{ option.WithEndpoint("videointelligence.googleapis.com:443"), option.WithScopes(DefaultAuthScopes()...), } } -func defaultVideoIntelligenceCallOptions() *VideoIntelligenceCallOptions { +func defaultCallOptions() *CallOptions { retry := map[[2]string][]gax.CallOption{ {"default", "idempotent"}: { gax.WithRetry(func() gax.Retryer { @@ -59,18 +59,18 @@ func defaultVideoIntelligenceCallOptions() *VideoIntelligenceCallOptions { }), }, } - return &VideoIntelligenceCallOptions{ + return &CallOptions{ AnnotateVideo: retry[[2]string{"default", "idempotent"}], } } -// VideoIntelligenceClient is a client for interacting with Google Cloud Video Intelligence API. -type VideoIntelligenceClient struct { +// Client is a client for interacting with Google Cloud Video Intelligence API. +type Client struct { // The connection to the service. conn *grpc.ClientConn // The gRPC API client. - videoIntelligenceClient videointelligencepb.VideoIntelligenceServiceClient + client videointelligencepb.VideoIntelligenceServiceClient // LROClient is used internally to handle longrunning operations. // It is exposed so that its CallOptions can be modified if required. @@ -78,25 +78,25 @@ type VideoIntelligenceClient struct { LROClient *lroauto.OperationsClient // The call options for this service. - CallOptions *VideoIntelligenceCallOptions + CallOptions *CallOptions // The metadata to be sent with each request. xGoogHeader []string } -// NewVideoIntelligenceClient creates a new video intelligence service client. +// NewClient creates a new video intelligence service client. // // Service that implements Google Cloud Video Intelligence API. -func NewVideoIntelligenceClient(ctx context.Context, opts ...option.ClientOption) (*VideoIntelligenceClient, error) { - conn, err := transport.DialGRPC(ctx, append(defaultVideoIntelligenceClientOptions(), opts...)...) +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + conn, err := transport.DialGRPC(ctx, append(defaultClientOptions(), opts...)...) if err != nil { return nil, err } - c := &VideoIntelligenceClient{ + c := &Client{ conn: conn, - CallOptions: defaultVideoIntelligenceCallOptions(), + CallOptions: defaultCallOptions(), - videoIntelligenceClient: videointelligencepb.NewVideoIntelligenceServiceClient(conn), + client: videointelligencepb.NewVideoIntelligenceServiceClient(conn), } c.SetGoogleClientInfo() @@ -114,20 +114,20 @@ func NewVideoIntelligenceClient(ctx context.Context, opts ...option.ClientOption } // Connection returns the client's connection to the API service. -func (c *VideoIntelligenceClient) Connection() *grpc.ClientConn { +func (c *Client) Connection() *grpc.ClientConn { return c.conn } // Close closes the connection to the API service. The user should invoke this when // the client is no longer required. -func (c *VideoIntelligenceClient) Close() error { +func (c *Client) Close() error { return c.conn.Close() } // SetGoogleClientInfo sets the name and version of the application in // the `x-goog-api-client` header passed on each request. Intended for // use by Google-written clients. -func (c *VideoIntelligenceClient) SetGoogleClientInfo(keyval ...string) { +func (c *Client) SetGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", version.Go()}, keyval...) kv = append(kv, "gapic", version.Repo, "gax", gax.Version, "grpc", grpc.Version) c.xGoogHeader = []string{gax.XGoogHeader(kv...)} @@ -137,13 +137,13 @@ func (c *VideoIntelligenceClient) SetGoogleClientInfo(keyval ...string) { // retrieved through the `google.longrunning.Operations` interface. // `Operation.metadata` contains `AnnotateVideoProgress` (progress). // `Operation.response` contains `AnnotateVideoResponse` (results). -func (c *VideoIntelligenceClient) AnnotateVideo(ctx context.Context, req *videointelligencepb.AnnotateVideoRequest, opts ...gax.CallOption) (*AnnotateVideoOperation, error) { +func (c *Client) AnnotateVideo(ctx context.Context, req *videointelligencepb.AnnotateVideoRequest, opts ...gax.CallOption) (*AnnotateVideoOperation, error) { ctx = insertXGoog(ctx, c.xGoogHeader) opts = append(c.CallOptions.AnnotateVideo[0:len(c.CallOptions.AnnotateVideo):len(c.CallOptions.AnnotateVideo)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.videoIntelligenceClient.AnnotateVideo(ctx, req, settings.GRPC...) + resp, err = c.client.AnnotateVideo(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -161,7 +161,7 @@ type AnnotateVideoOperation struct { // AnnotateVideoOperation returns a new AnnotateVideoOperation from a given name. // The name must be that of a previously created AnnotateVideoOperation, possibly from a different process. -func (c *VideoIntelligenceClient) AnnotateVideoOperation(name string) *AnnotateVideoOperation { +func (c *Client) AnnotateVideoOperation(name string) *AnnotateVideoOperation { return &AnnotateVideoOperation{ lro: longrunning.InternalNewOperation(c.LROClient, &longrunningpb.Operation{Name: name}), } diff --git a/videointelligence/apiv1beta1/video_intelligence_client_example_test.go b/videointelligence/apiv1beta1/video_intelligence_client_example_test.go index 6ee4079153fe..b858b39e0bb5 100644 --- a/videointelligence/apiv1beta1/video_intelligence_client_example_test.go +++ b/videointelligence/apiv1beta1/video_intelligence_client_example_test.go @@ -22,9 +22,9 @@ import ( videointelligencepb "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta1" ) -func ExampleNewVideoIntelligenceClient() { +func ExampleNewClient() { ctx := context.Background() - c, err := videointelligence.NewVideoIntelligenceClient(ctx) + c, err := videointelligence.NewClient(ctx) if err != nil { // TODO: Handle error. } @@ -32,9 +32,9 @@ func ExampleNewVideoIntelligenceClient() { _ = c } -func ExampleVideoIntelligenceClient_AnnotateVideo() { +func ExampleClient_AnnotateVideo() { ctx := context.Background() - c, err := videointelligence.NewVideoIntelligenceClient(ctx) + c, err := videointelligence.NewClient(ctx) if err != nil { // TODO: Handle error. } diff --git a/vision/apiv1/doc.go b/vision/apiv1/doc.go index a26220cf2a1d..b86cca35c75b 100644 --- a/vision/apiv1/doc.go +++ b/vision/apiv1/doc.go @@ -15,7 +15,7 @@ // AUTO-GENERATED CODE. DO NOT EDIT. // Package vision is an experimental, auto-generated package for the -// vision API. +// Google Cloud Vision API. // // Integrates Google Vision features, including image labeling, face, logo, // and landmark detection, optical character recognition (OCR), and detection @@ -36,6 +36,8 @@ func insertXGoog(ctx context.Context, val []string) context.Context { return metadata.NewOutgoingContext(ctx, md) } +// DefaultAuthScopes reports the authentication scopes required +// by this package. func DefaultAuthScopes() []string { return []string{ "https://www.googleapis.com/auth/cloud-platform", diff --git a/vision/apiv1/mock_test.go b/vision/apiv1/mock_test.go index 03446c10badd..9d47da780d6f 100644 --- a/vision/apiv1/mock_test.go +++ b/vision/apiv1/mock_test.go @@ -38,6 +38,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" + gstatus "google.golang.org/grpc/status" ) var _ = io.EOF @@ -135,7 +136,7 @@ func TestImageAnnotatorBatchAnnotateImages(t *testing.T) { func TestImageAnnotatorBatchAnnotateImagesError(t *testing.T) { errCode := codes.PermissionDenied - mockImageAnnotator.err = grpc.Errorf(errCode, "test error") + mockImageAnnotator.err = gstatus.Error(errCode, "test error") var requests []*visionpb.AnnotateImageRequest = nil var request = &visionpb.BatchAnnotateImagesRequest{ @@ -149,7 +150,9 @@ func TestImageAnnotatorBatchAnnotateImagesError(t *testing.T) { resp, err := c.BatchAnnotateImages(context.Background(), request) - if c := grpc.Code(err); c != errCode { + if st, ok := gstatus.FromError(err); !ok { + t.Errorf("got error %v, expected grpc error", err) + } else if c := st.Code(); c != errCode { t.Errorf("got error code %q, want %q", c, errCode) } _ = resp