1// Copyright 2019 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// https://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by gapic-generator. DO NOT EDIT. 16 17package debugger 18 19import ( 20 emptypb "github.com/golang/protobuf/ptypes/empty" 21 clouddebuggerpb "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2" 22) 23 24import ( 25 "context" 26 "flag" 27 "fmt" 28 "io" 29 "log" 30 "net" 31 "os" 32 "strings" 33 "testing" 34 35 "github.com/golang/protobuf/proto" 36 "github.com/golang/protobuf/ptypes" 37 "google.golang.org/api/option" 38 status "google.golang.org/genproto/googleapis/rpc/status" 39 "google.golang.org/grpc" 40 "google.golang.org/grpc/codes" 41 "google.golang.org/grpc/metadata" 42 gstatus "google.golang.org/grpc/status" 43) 44 45var _ = io.EOF 46var _ = ptypes.MarshalAny 47var _ status.Status 48 49type mockController2Server struct { 50 // Embed for forward compatibility. 51 // Tests will keep working if more methods are added 52 // in the future. 53 clouddebuggerpb.Controller2Server 54 55 reqs []proto.Message 56 57 // If set, all calls return this error. 58 err error 59 60 // responses to return if err == nil 61 resps []proto.Message 62} 63 64func (s *mockController2Server) RegisterDebuggee(ctx context.Context, req *clouddebuggerpb.RegisterDebuggeeRequest) (*clouddebuggerpb.RegisterDebuggeeResponse, error) { 65 md, _ := metadata.FromIncomingContext(ctx) 66 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 67 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 68 } 69 s.reqs = append(s.reqs, req) 70 if s.err != nil { 71 return nil, s.err 72 } 73 return s.resps[0].(*clouddebuggerpb.RegisterDebuggeeResponse), nil 74} 75 76func (s *mockController2Server) ListActiveBreakpoints(ctx context.Context, req *clouddebuggerpb.ListActiveBreakpointsRequest) (*clouddebuggerpb.ListActiveBreakpointsResponse, error) { 77 md, _ := metadata.FromIncomingContext(ctx) 78 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 79 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 80 } 81 s.reqs = append(s.reqs, req) 82 if s.err != nil { 83 return nil, s.err 84 } 85 return s.resps[0].(*clouddebuggerpb.ListActiveBreakpointsResponse), nil 86} 87 88func (s *mockController2Server) UpdateActiveBreakpoint(ctx context.Context, req *clouddebuggerpb.UpdateActiveBreakpointRequest) (*clouddebuggerpb.UpdateActiveBreakpointResponse, error) { 89 md, _ := metadata.FromIncomingContext(ctx) 90 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 91 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 92 } 93 s.reqs = append(s.reqs, req) 94 if s.err != nil { 95 return nil, s.err 96 } 97 return s.resps[0].(*clouddebuggerpb.UpdateActiveBreakpointResponse), nil 98} 99 100type mockDebugger2Server struct { 101 // Embed for forward compatibility. 102 // Tests will keep working if more methods are added 103 // in the future. 104 clouddebuggerpb.Debugger2Server 105 106 reqs []proto.Message 107 108 // If set, all calls return this error. 109 err error 110 111 // responses to return if err == nil 112 resps []proto.Message 113} 114 115func (s *mockDebugger2Server) SetBreakpoint(ctx context.Context, req *clouddebuggerpb.SetBreakpointRequest) (*clouddebuggerpb.SetBreakpointResponse, error) { 116 md, _ := metadata.FromIncomingContext(ctx) 117 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 118 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 119 } 120 s.reqs = append(s.reqs, req) 121 if s.err != nil { 122 return nil, s.err 123 } 124 return s.resps[0].(*clouddebuggerpb.SetBreakpointResponse), nil 125} 126 127func (s *mockDebugger2Server) GetBreakpoint(ctx context.Context, req *clouddebuggerpb.GetBreakpointRequest) (*clouddebuggerpb.GetBreakpointResponse, error) { 128 md, _ := metadata.FromIncomingContext(ctx) 129 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 130 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 131 } 132 s.reqs = append(s.reqs, req) 133 if s.err != nil { 134 return nil, s.err 135 } 136 return s.resps[0].(*clouddebuggerpb.GetBreakpointResponse), nil 137} 138 139func (s *mockDebugger2Server) DeleteBreakpoint(ctx context.Context, req *clouddebuggerpb.DeleteBreakpointRequest) (*emptypb.Empty, error) { 140 md, _ := metadata.FromIncomingContext(ctx) 141 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 142 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 143 } 144 s.reqs = append(s.reqs, req) 145 if s.err != nil { 146 return nil, s.err 147 } 148 return s.resps[0].(*emptypb.Empty), nil 149} 150 151func (s *mockDebugger2Server) ListBreakpoints(ctx context.Context, req *clouddebuggerpb.ListBreakpointsRequest) (*clouddebuggerpb.ListBreakpointsResponse, error) { 152 md, _ := metadata.FromIncomingContext(ctx) 153 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 154 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 155 } 156 s.reqs = append(s.reqs, req) 157 if s.err != nil { 158 return nil, s.err 159 } 160 return s.resps[0].(*clouddebuggerpb.ListBreakpointsResponse), nil 161} 162 163func (s *mockDebugger2Server) ListDebuggees(ctx context.Context, req *clouddebuggerpb.ListDebuggeesRequest) (*clouddebuggerpb.ListDebuggeesResponse, error) { 164 md, _ := metadata.FromIncomingContext(ctx) 165 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 166 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 167 } 168 s.reqs = append(s.reqs, req) 169 if s.err != nil { 170 return nil, s.err 171 } 172 return s.resps[0].(*clouddebuggerpb.ListDebuggeesResponse), nil 173} 174 175// clientOpt is the option tests should use to connect to the test server. 176// It is initialized by TestMain. 177var clientOpt option.ClientOption 178 179var ( 180 mockController2 mockController2Server 181 mockDebugger2 mockDebugger2Server 182) 183 184func TestMain(m *testing.M) { 185 flag.Parse() 186 187 serv := grpc.NewServer() 188 clouddebuggerpb.RegisterController2Server(serv, &mockController2) 189 clouddebuggerpb.RegisterDebugger2Server(serv, &mockDebugger2) 190 191 lis, err := net.Listen("tcp", "localhost:0") 192 if err != nil { 193 log.Fatal(err) 194 } 195 go serv.Serve(lis) 196 197 conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure()) 198 if err != nil { 199 log.Fatal(err) 200 } 201 clientOpt = option.WithGRPCConn(conn) 202 203 os.Exit(m.Run()) 204} 205 206func TestController2RegisterDebuggee(t *testing.T) { 207 var expectedResponse *clouddebuggerpb.RegisterDebuggeeResponse = &clouddebuggerpb.RegisterDebuggeeResponse{} 208 209 mockController2.err = nil 210 mockController2.reqs = nil 211 212 mockController2.resps = append(mockController2.resps[:0], expectedResponse) 213 214 var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{} 215 var request = &clouddebuggerpb.RegisterDebuggeeRequest{ 216 Debuggee: debuggee, 217 } 218 219 c, err := NewController2Client(context.Background(), clientOpt) 220 if err != nil { 221 t.Fatal(err) 222 } 223 224 resp, err := c.RegisterDebuggee(context.Background(), request) 225 226 if err != nil { 227 t.Fatal(err) 228 } 229 230 if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) { 231 t.Errorf("wrong request %q, want %q", got, want) 232 } 233 234 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 235 t.Errorf("wrong response %q, want %q)", got, want) 236 } 237} 238 239func TestController2RegisterDebuggeeError(t *testing.T) { 240 errCode := codes.PermissionDenied 241 mockController2.err = gstatus.Error(errCode, "test error") 242 243 var debuggee *clouddebuggerpb.Debuggee = &clouddebuggerpb.Debuggee{} 244 var request = &clouddebuggerpb.RegisterDebuggeeRequest{ 245 Debuggee: debuggee, 246 } 247 248 c, err := NewController2Client(context.Background(), clientOpt) 249 if err != nil { 250 t.Fatal(err) 251 } 252 253 resp, err := c.RegisterDebuggee(context.Background(), request) 254 255 if st, ok := gstatus.FromError(err); !ok { 256 t.Errorf("got error %v, expected grpc error", err) 257 } else if c := st.Code(); c != errCode { 258 t.Errorf("got error code %q, want %q", c, errCode) 259 } 260 _ = resp 261} 262func TestController2ListActiveBreakpoints(t *testing.T) { 263 var nextWaitToken string = "nextWaitToken1006864251" 264 var waitExpired bool = false 265 var expectedResponse = &clouddebuggerpb.ListActiveBreakpointsResponse{ 266 NextWaitToken: nextWaitToken, 267 WaitExpired: waitExpired, 268 } 269 270 mockController2.err = nil 271 mockController2.reqs = nil 272 273 mockController2.resps = append(mockController2.resps[:0], expectedResponse) 274 275 var debuggeeId string = "debuggeeId-997255898" 276 var request = &clouddebuggerpb.ListActiveBreakpointsRequest{ 277 DebuggeeId: debuggeeId, 278 } 279 280 c, err := NewController2Client(context.Background(), clientOpt) 281 if err != nil { 282 t.Fatal(err) 283 } 284 285 resp, err := c.ListActiveBreakpoints(context.Background(), request) 286 287 if err != nil { 288 t.Fatal(err) 289 } 290 291 if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) { 292 t.Errorf("wrong request %q, want %q", got, want) 293 } 294 295 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 296 t.Errorf("wrong response %q, want %q)", got, want) 297 } 298} 299 300func TestController2ListActiveBreakpointsError(t *testing.T) { 301 errCode := codes.PermissionDenied 302 mockController2.err = gstatus.Error(errCode, "test error") 303 304 var debuggeeId string = "debuggeeId-997255898" 305 var request = &clouddebuggerpb.ListActiveBreakpointsRequest{ 306 DebuggeeId: debuggeeId, 307 } 308 309 c, err := NewController2Client(context.Background(), clientOpt) 310 if err != nil { 311 t.Fatal(err) 312 } 313 314 resp, err := c.ListActiveBreakpoints(context.Background(), request) 315 316 if st, ok := gstatus.FromError(err); !ok { 317 t.Errorf("got error %v, expected grpc error", err) 318 } else if c := st.Code(); c != errCode { 319 t.Errorf("got error code %q, want %q", c, errCode) 320 } 321 _ = resp 322} 323func TestController2UpdateActiveBreakpoint(t *testing.T) { 324 var expectedResponse *clouddebuggerpb.UpdateActiveBreakpointResponse = &clouddebuggerpb.UpdateActiveBreakpointResponse{} 325 326 mockController2.err = nil 327 mockController2.reqs = nil 328 329 mockController2.resps = append(mockController2.resps[:0], expectedResponse) 330 331 var debuggeeId string = "debuggeeId-997255898" 332 var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{} 333 var request = &clouddebuggerpb.UpdateActiveBreakpointRequest{ 334 DebuggeeId: debuggeeId, 335 Breakpoint: breakpoint, 336 } 337 338 c, err := NewController2Client(context.Background(), clientOpt) 339 if err != nil { 340 t.Fatal(err) 341 } 342 343 resp, err := c.UpdateActiveBreakpoint(context.Background(), request) 344 345 if err != nil { 346 t.Fatal(err) 347 } 348 349 if want, got := request, mockController2.reqs[0]; !proto.Equal(want, got) { 350 t.Errorf("wrong request %q, want %q", got, want) 351 } 352 353 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 354 t.Errorf("wrong response %q, want %q)", got, want) 355 } 356} 357 358func TestController2UpdateActiveBreakpointError(t *testing.T) { 359 errCode := codes.PermissionDenied 360 mockController2.err = gstatus.Error(errCode, "test error") 361 362 var debuggeeId string = "debuggeeId-997255898" 363 var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{} 364 var request = &clouddebuggerpb.UpdateActiveBreakpointRequest{ 365 DebuggeeId: debuggeeId, 366 Breakpoint: breakpoint, 367 } 368 369 c, err := NewController2Client(context.Background(), clientOpt) 370 if err != nil { 371 t.Fatal(err) 372 } 373 374 resp, err := c.UpdateActiveBreakpoint(context.Background(), request) 375 376 if st, ok := gstatus.FromError(err); !ok { 377 t.Errorf("got error %v, expected grpc error", err) 378 } else if c := st.Code(); c != errCode { 379 t.Errorf("got error code %q, want %q", c, errCode) 380 } 381 _ = resp 382} 383func TestDebugger2SetBreakpoint(t *testing.T) { 384 var expectedResponse *clouddebuggerpb.SetBreakpointResponse = &clouddebuggerpb.SetBreakpointResponse{} 385 386 mockDebugger2.err = nil 387 mockDebugger2.reqs = nil 388 389 mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse) 390 391 var debuggeeId string = "debuggeeId-997255898" 392 var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{} 393 var clientVersion string = "clientVersion-1506231196" 394 var request = &clouddebuggerpb.SetBreakpointRequest{ 395 DebuggeeId: debuggeeId, 396 Breakpoint: breakpoint, 397 ClientVersion: clientVersion, 398 } 399 400 c, err := NewDebugger2Client(context.Background(), clientOpt) 401 if err != nil { 402 t.Fatal(err) 403 } 404 405 resp, err := c.SetBreakpoint(context.Background(), request) 406 407 if err != nil { 408 t.Fatal(err) 409 } 410 411 if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) { 412 t.Errorf("wrong request %q, want %q", got, want) 413 } 414 415 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 416 t.Errorf("wrong response %q, want %q)", got, want) 417 } 418} 419 420func TestDebugger2SetBreakpointError(t *testing.T) { 421 errCode := codes.PermissionDenied 422 mockDebugger2.err = gstatus.Error(errCode, "test error") 423 424 var debuggeeId string = "debuggeeId-997255898" 425 var breakpoint *clouddebuggerpb.Breakpoint = &clouddebuggerpb.Breakpoint{} 426 var clientVersion string = "clientVersion-1506231196" 427 var request = &clouddebuggerpb.SetBreakpointRequest{ 428 DebuggeeId: debuggeeId, 429 Breakpoint: breakpoint, 430 ClientVersion: clientVersion, 431 } 432 433 c, err := NewDebugger2Client(context.Background(), clientOpt) 434 if err != nil { 435 t.Fatal(err) 436 } 437 438 resp, err := c.SetBreakpoint(context.Background(), request) 439 440 if st, ok := gstatus.FromError(err); !ok { 441 t.Errorf("got error %v, expected grpc error", err) 442 } else if c := st.Code(); c != errCode { 443 t.Errorf("got error code %q, want %q", c, errCode) 444 } 445 _ = resp 446} 447func TestDebugger2GetBreakpoint(t *testing.T) { 448 var expectedResponse *clouddebuggerpb.GetBreakpointResponse = &clouddebuggerpb.GetBreakpointResponse{} 449 450 mockDebugger2.err = nil 451 mockDebugger2.reqs = nil 452 453 mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse) 454 455 var debuggeeId string = "debuggeeId-997255898" 456 var breakpointId string = "breakpointId498424873" 457 var clientVersion string = "clientVersion-1506231196" 458 var request = &clouddebuggerpb.GetBreakpointRequest{ 459 DebuggeeId: debuggeeId, 460 BreakpointId: breakpointId, 461 ClientVersion: clientVersion, 462 } 463 464 c, err := NewDebugger2Client(context.Background(), clientOpt) 465 if err != nil { 466 t.Fatal(err) 467 } 468 469 resp, err := c.GetBreakpoint(context.Background(), request) 470 471 if err != nil { 472 t.Fatal(err) 473 } 474 475 if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) { 476 t.Errorf("wrong request %q, want %q", got, want) 477 } 478 479 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 480 t.Errorf("wrong response %q, want %q)", got, want) 481 } 482} 483 484func TestDebugger2GetBreakpointError(t *testing.T) { 485 errCode := codes.PermissionDenied 486 mockDebugger2.err = gstatus.Error(errCode, "test error") 487 488 var debuggeeId string = "debuggeeId-997255898" 489 var breakpointId string = "breakpointId498424873" 490 var clientVersion string = "clientVersion-1506231196" 491 var request = &clouddebuggerpb.GetBreakpointRequest{ 492 DebuggeeId: debuggeeId, 493 BreakpointId: breakpointId, 494 ClientVersion: clientVersion, 495 } 496 497 c, err := NewDebugger2Client(context.Background(), clientOpt) 498 if err != nil { 499 t.Fatal(err) 500 } 501 502 resp, err := c.GetBreakpoint(context.Background(), request) 503 504 if st, ok := gstatus.FromError(err); !ok { 505 t.Errorf("got error %v, expected grpc error", err) 506 } else if c := st.Code(); c != errCode { 507 t.Errorf("got error code %q, want %q", c, errCode) 508 } 509 _ = resp 510} 511func TestDebugger2DeleteBreakpoint(t *testing.T) { 512 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 513 514 mockDebugger2.err = nil 515 mockDebugger2.reqs = nil 516 517 mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse) 518 519 var debuggeeId string = "debuggeeId-997255898" 520 var breakpointId string = "breakpointId498424873" 521 var clientVersion string = "clientVersion-1506231196" 522 var request = &clouddebuggerpb.DeleteBreakpointRequest{ 523 DebuggeeId: debuggeeId, 524 BreakpointId: breakpointId, 525 ClientVersion: clientVersion, 526 } 527 528 c, err := NewDebugger2Client(context.Background(), clientOpt) 529 if err != nil { 530 t.Fatal(err) 531 } 532 533 err = c.DeleteBreakpoint(context.Background(), request) 534 535 if err != nil { 536 t.Fatal(err) 537 } 538 539 if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) { 540 t.Errorf("wrong request %q, want %q", got, want) 541 } 542 543} 544 545func TestDebugger2DeleteBreakpointError(t *testing.T) { 546 errCode := codes.PermissionDenied 547 mockDebugger2.err = gstatus.Error(errCode, "test error") 548 549 var debuggeeId string = "debuggeeId-997255898" 550 var breakpointId string = "breakpointId498424873" 551 var clientVersion string = "clientVersion-1506231196" 552 var request = &clouddebuggerpb.DeleteBreakpointRequest{ 553 DebuggeeId: debuggeeId, 554 BreakpointId: breakpointId, 555 ClientVersion: clientVersion, 556 } 557 558 c, err := NewDebugger2Client(context.Background(), clientOpt) 559 if err != nil { 560 t.Fatal(err) 561 } 562 563 err = c.DeleteBreakpoint(context.Background(), request) 564 565 if st, ok := gstatus.FromError(err); !ok { 566 t.Errorf("got error %v, expected grpc error", err) 567 } else if c := st.Code(); c != errCode { 568 t.Errorf("got error code %q, want %q", c, errCode) 569 } 570} 571func TestDebugger2ListBreakpoints(t *testing.T) { 572 var nextWaitToken string = "nextWaitToken1006864251" 573 var expectedResponse = &clouddebuggerpb.ListBreakpointsResponse{ 574 NextWaitToken: nextWaitToken, 575 } 576 577 mockDebugger2.err = nil 578 mockDebugger2.reqs = nil 579 580 mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse) 581 582 var debuggeeId string = "debuggeeId-997255898" 583 var clientVersion string = "clientVersion-1506231196" 584 var request = &clouddebuggerpb.ListBreakpointsRequest{ 585 DebuggeeId: debuggeeId, 586 ClientVersion: clientVersion, 587 } 588 589 c, err := NewDebugger2Client(context.Background(), clientOpt) 590 if err != nil { 591 t.Fatal(err) 592 } 593 594 resp, err := c.ListBreakpoints(context.Background(), request) 595 596 if err != nil { 597 t.Fatal(err) 598 } 599 600 if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) { 601 t.Errorf("wrong request %q, want %q", got, want) 602 } 603 604 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 605 t.Errorf("wrong response %q, want %q)", got, want) 606 } 607} 608 609func TestDebugger2ListBreakpointsError(t *testing.T) { 610 errCode := codes.PermissionDenied 611 mockDebugger2.err = gstatus.Error(errCode, "test error") 612 613 var debuggeeId string = "debuggeeId-997255898" 614 var clientVersion string = "clientVersion-1506231196" 615 var request = &clouddebuggerpb.ListBreakpointsRequest{ 616 DebuggeeId: debuggeeId, 617 ClientVersion: clientVersion, 618 } 619 620 c, err := NewDebugger2Client(context.Background(), clientOpt) 621 if err != nil { 622 t.Fatal(err) 623 } 624 625 resp, err := c.ListBreakpoints(context.Background(), request) 626 627 if st, ok := gstatus.FromError(err); !ok { 628 t.Errorf("got error %v, expected grpc error", err) 629 } else if c := st.Code(); c != errCode { 630 t.Errorf("got error code %q, want %q", c, errCode) 631 } 632 _ = resp 633} 634func TestDebugger2ListDebuggees(t *testing.T) { 635 var expectedResponse *clouddebuggerpb.ListDebuggeesResponse = &clouddebuggerpb.ListDebuggeesResponse{} 636 637 mockDebugger2.err = nil 638 mockDebugger2.reqs = nil 639 640 mockDebugger2.resps = append(mockDebugger2.resps[:0], expectedResponse) 641 642 var project string = "project-309310695" 643 var clientVersion string = "clientVersion-1506231196" 644 var request = &clouddebuggerpb.ListDebuggeesRequest{ 645 Project: project, 646 ClientVersion: clientVersion, 647 } 648 649 c, err := NewDebugger2Client(context.Background(), clientOpt) 650 if err != nil { 651 t.Fatal(err) 652 } 653 654 resp, err := c.ListDebuggees(context.Background(), request) 655 656 if err != nil { 657 t.Fatal(err) 658 } 659 660 if want, got := request, mockDebugger2.reqs[0]; !proto.Equal(want, got) { 661 t.Errorf("wrong request %q, want %q", got, want) 662 } 663 664 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 665 t.Errorf("wrong response %q, want %q)", got, want) 666 } 667} 668 669func TestDebugger2ListDebuggeesError(t *testing.T) { 670 errCode := codes.PermissionDenied 671 mockDebugger2.err = gstatus.Error(errCode, "test error") 672 673 var project string = "project-309310695" 674 var clientVersion string = "clientVersion-1506231196" 675 var request = &clouddebuggerpb.ListDebuggeesRequest{ 676 Project: project, 677 ClientVersion: clientVersion, 678 } 679 680 c, err := NewDebugger2Client(context.Background(), clientOpt) 681 if err != nil { 682 t.Fatal(err) 683 } 684 685 resp, err := c.ListDebuggees(context.Background(), request) 686 687 if st, ok := gstatus.FromError(err); !ok { 688 t.Errorf("got error %v, expected grpc error", err) 689 } else if c := st.Code(); c != errCode { 690 t.Errorf("got error code %q, want %q", c, errCode) 691 } 692 _ = resp 693} 694