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