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 dataproc 18 19import ( 20 emptypb "github.com/golang/protobuf/ptypes/empty" 21 dataprocpb "google.golang.org/genproto/googleapis/cloud/dataproc/v1" 22 longrunningpb "google.golang.org/genproto/googleapis/longrunning" 23 field_maskpb "google.golang.org/genproto/protobuf/field_mask" 24) 25 26import ( 27 "context" 28 "flag" 29 "fmt" 30 "io" 31 "log" 32 "net" 33 "os" 34 "strings" 35 "testing" 36 37 "github.com/golang/protobuf/proto" 38 "github.com/golang/protobuf/ptypes" 39 "google.golang.org/api/option" 40 status "google.golang.org/genproto/googleapis/rpc/status" 41 "google.golang.org/grpc" 42 "google.golang.org/grpc/codes" 43 "google.golang.org/grpc/metadata" 44 gstatus "google.golang.org/grpc/status" 45) 46 47var _ = io.EOF 48var _ = ptypes.MarshalAny 49var _ status.Status 50 51type mockClusterControllerServer struct { 52 // Embed for forward compatibility. 53 // Tests will keep working if more methods are added 54 // in the future. 55 dataprocpb.ClusterControllerServer 56 57 reqs []proto.Message 58 59 // If set, all calls return this error. 60 err error 61 62 // responses to return if err == nil 63 resps []proto.Message 64} 65 66func (s *mockClusterControllerServer) CreateCluster(ctx context.Context, req *dataprocpb.CreateClusterRequest) (*longrunningpb.Operation, error) { 67 md, _ := metadata.FromIncomingContext(ctx) 68 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 69 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 70 } 71 s.reqs = append(s.reqs, req) 72 if s.err != nil { 73 return nil, s.err 74 } 75 return s.resps[0].(*longrunningpb.Operation), nil 76} 77 78func (s *mockClusterControllerServer) UpdateCluster(ctx context.Context, req *dataprocpb.UpdateClusterRequest) (*longrunningpb.Operation, error) { 79 md, _ := metadata.FromIncomingContext(ctx) 80 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 81 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 82 } 83 s.reqs = append(s.reqs, req) 84 if s.err != nil { 85 return nil, s.err 86 } 87 return s.resps[0].(*longrunningpb.Operation), nil 88} 89 90func (s *mockClusterControllerServer) DeleteCluster(ctx context.Context, req *dataprocpb.DeleteClusterRequest) (*longrunningpb.Operation, error) { 91 md, _ := metadata.FromIncomingContext(ctx) 92 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 93 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 94 } 95 s.reqs = append(s.reqs, req) 96 if s.err != nil { 97 return nil, s.err 98 } 99 return s.resps[0].(*longrunningpb.Operation), nil 100} 101 102func (s *mockClusterControllerServer) GetCluster(ctx context.Context, req *dataprocpb.GetClusterRequest) (*dataprocpb.Cluster, error) { 103 md, _ := metadata.FromIncomingContext(ctx) 104 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 105 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 106 } 107 s.reqs = append(s.reqs, req) 108 if s.err != nil { 109 return nil, s.err 110 } 111 return s.resps[0].(*dataprocpb.Cluster), nil 112} 113 114func (s *mockClusterControllerServer) ListClusters(ctx context.Context, req *dataprocpb.ListClustersRequest) (*dataprocpb.ListClustersResponse, error) { 115 md, _ := metadata.FromIncomingContext(ctx) 116 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 117 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 118 } 119 s.reqs = append(s.reqs, req) 120 if s.err != nil { 121 return nil, s.err 122 } 123 return s.resps[0].(*dataprocpb.ListClustersResponse), nil 124} 125 126func (s *mockClusterControllerServer) DiagnoseCluster(ctx context.Context, req *dataprocpb.DiagnoseClusterRequest) (*longrunningpb.Operation, error) { 127 md, _ := metadata.FromIncomingContext(ctx) 128 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 129 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 130 } 131 s.reqs = append(s.reqs, req) 132 if s.err != nil { 133 return nil, s.err 134 } 135 return s.resps[0].(*longrunningpb.Operation), nil 136} 137 138type mockJobControllerServer struct { 139 // Embed for forward compatibility. 140 // Tests will keep working if more methods are added 141 // in the future. 142 dataprocpb.JobControllerServer 143 144 reqs []proto.Message 145 146 // If set, all calls return this error. 147 err error 148 149 // responses to return if err == nil 150 resps []proto.Message 151} 152 153func (s *mockJobControllerServer) SubmitJob(ctx context.Context, req *dataprocpb.SubmitJobRequest) (*dataprocpb.Job, error) { 154 md, _ := metadata.FromIncomingContext(ctx) 155 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 156 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 157 } 158 s.reqs = append(s.reqs, req) 159 if s.err != nil { 160 return nil, s.err 161 } 162 return s.resps[0].(*dataprocpb.Job), nil 163} 164 165func (s *mockJobControllerServer) GetJob(ctx context.Context, req *dataprocpb.GetJobRequest) (*dataprocpb.Job, error) { 166 md, _ := metadata.FromIncomingContext(ctx) 167 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 168 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 169 } 170 s.reqs = append(s.reqs, req) 171 if s.err != nil { 172 return nil, s.err 173 } 174 return s.resps[0].(*dataprocpb.Job), nil 175} 176 177func (s *mockJobControllerServer) ListJobs(ctx context.Context, req *dataprocpb.ListJobsRequest) (*dataprocpb.ListJobsResponse, error) { 178 md, _ := metadata.FromIncomingContext(ctx) 179 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 180 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 181 } 182 s.reqs = append(s.reqs, req) 183 if s.err != nil { 184 return nil, s.err 185 } 186 return s.resps[0].(*dataprocpb.ListJobsResponse), nil 187} 188 189func (s *mockJobControllerServer) UpdateJob(ctx context.Context, req *dataprocpb.UpdateJobRequest) (*dataprocpb.Job, error) { 190 md, _ := metadata.FromIncomingContext(ctx) 191 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 192 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 193 } 194 s.reqs = append(s.reqs, req) 195 if s.err != nil { 196 return nil, s.err 197 } 198 return s.resps[0].(*dataprocpb.Job), nil 199} 200 201func (s *mockJobControllerServer) CancelJob(ctx context.Context, req *dataprocpb.CancelJobRequest) (*dataprocpb.Job, error) { 202 md, _ := metadata.FromIncomingContext(ctx) 203 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 204 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 205 } 206 s.reqs = append(s.reqs, req) 207 if s.err != nil { 208 return nil, s.err 209 } 210 return s.resps[0].(*dataprocpb.Job), nil 211} 212 213func (s *mockJobControllerServer) DeleteJob(ctx context.Context, req *dataprocpb.DeleteJobRequest) (*emptypb.Empty, error) { 214 md, _ := metadata.FromIncomingContext(ctx) 215 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 216 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 217 } 218 s.reqs = append(s.reqs, req) 219 if s.err != nil { 220 return nil, s.err 221 } 222 return s.resps[0].(*emptypb.Empty), nil 223} 224 225type mockWorkflowTemplateServer struct { 226 // Embed for forward compatibility. 227 // Tests will keep working if more methods are added 228 // in the future. 229 dataprocpb.WorkflowTemplateServiceServer 230 231 reqs []proto.Message 232 233 // If set, all calls return this error. 234 err error 235 236 // responses to return if err == nil 237 resps []proto.Message 238} 239 240func (s *mockWorkflowTemplateServer) CreateWorkflowTemplate(ctx context.Context, req *dataprocpb.CreateWorkflowTemplateRequest) (*dataprocpb.WorkflowTemplate, error) { 241 md, _ := metadata.FromIncomingContext(ctx) 242 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 243 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 244 } 245 s.reqs = append(s.reqs, req) 246 if s.err != nil { 247 return nil, s.err 248 } 249 return s.resps[0].(*dataprocpb.WorkflowTemplate), nil 250} 251 252func (s *mockWorkflowTemplateServer) GetWorkflowTemplate(ctx context.Context, req *dataprocpb.GetWorkflowTemplateRequest) (*dataprocpb.WorkflowTemplate, error) { 253 md, _ := metadata.FromIncomingContext(ctx) 254 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 255 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 256 } 257 s.reqs = append(s.reqs, req) 258 if s.err != nil { 259 return nil, s.err 260 } 261 return s.resps[0].(*dataprocpb.WorkflowTemplate), nil 262} 263 264func (s *mockWorkflowTemplateServer) InstantiateWorkflowTemplate(ctx context.Context, req *dataprocpb.InstantiateWorkflowTemplateRequest) (*longrunningpb.Operation, error) { 265 md, _ := metadata.FromIncomingContext(ctx) 266 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 267 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 268 } 269 s.reqs = append(s.reqs, req) 270 if s.err != nil { 271 return nil, s.err 272 } 273 return s.resps[0].(*longrunningpb.Operation), nil 274} 275 276func (s *mockWorkflowTemplateServer) InstantiateInlineWorkflowTemplate(ctx context.Context, req *dataprocpb.InstantiateInlineWorkflowTemplateRequest) (*longrunningpb.Operation, error) { 277 md, _ := metadata.FromIncomingContext(ctx) 278 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 279 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 280 } 281 s.reqs = append(s.reqs, req) 282 if s.err != nil { 283 return nil, s.err 284 } 285 return s.resps[0].(*longrunningpb.Operation), nil 286} 287 288func (s *mockWorkflowTemplateServer) UpdateWorkflowTemplate(ctx context.Context, req *dataprocpb.UpdateWorkflowTemplateRequest) (*dataprocpb.WorkflowTemplate, error) { 289 md, _ := metadata.FromIncomingContext(ctx) 290 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 291 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 292 } 293 s.reqs = append(s.reqs, req) 294 if s.err != nil { 295 return nil, s.err 296 } 297 return s.resps[0].(*dataprocpb.WorkflowTemplate), nil 298} 299 300func (s *mockWorkflowTemplateServer) ListWorkflowTemplates(ctx context.Context, req *dataprocpb.ListWorkflowTemplatesRequest) (*dataprocpb.ListWorkflowTemplatesResponse, error) { 301 md, _ := metadata.FromIncomingContext(ctx) 302 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 303 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 304 } 305 s.reqs = append(s.reqs, req) 306 if s.err != nil { 307 return nil, s.err 308 } 309 return s.resps[0].(*dataprocpb.ListWorkflowTemplatesResponse), nil 310} 311 312func (s *mockWorkflowTemplateServer) DeleteWorkflowTemplate(ctx context.Context, req *dataprocpb.DeleteWorkflowTemplateRequest) (*emptypb.Empty, error) { 313 md, _ := metadata.FromIncomingContext(ctx) 314 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 315 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 316 } 317 s.reqs = append(s.reqs, req) 318 if s.err != nil { 319 return nil, s.err 320 } 321 return s.resps[0].(*emptypb.Empty), nil 322} 323 324// clientOpt is the option tests should use to connect to the test server. 325// It is initialized by TestMain. 326var clientOpt option.ClientOption 327 328var ( 329 mockClusterController mockClusterControllerServer 330 mockJobController mockJobControllerServer 331 mockWorkflowTemplate mockWorkflowTemplateServer 332) 333 334func TestMain(m *testing.M) { 335 flag.Parse() 336 337 serv := grpc.NewServer() 338 dataprocpb.RegisterClusterControllerServer(serv, &mockClusterController) 339 dataprocpb.RegisterJobControllerServer(serv, &mockJobController) 340 dataprocpb.RegisterWorkflowTemplateServiceServer(serv, &mockWorkflowTemplate) 341 342 lis, err := net.Listen("tcp", "localhost:0") 343 if err != nil { 344 log.Fatal(err) 345 } 346 go serv.Serve(lis) 347 348 conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure()) 349 if err != nil { 350 log.Fatal(err) 351 } 352 clientOpt = option.WithGRPCConn(conn) 353 354 os.Exit(m.Run()) 355} 356 357func TestClusterControllerCreateCluster(t *testing.T) { 358 var projectId2 string = "projectId2939242356" 359 var clusterName string = "clusterName-1018081872" 360 var clusterUuid string = "clusterUuid-1017854240" 361 var expectedResponse = &dataprocpb.Cluster{ 362 ProjectId: projectId2, 363 ClusterName: clusterName, 364 ClusterUuid: clusterUuid, 365 } 366 367 mockClusterController.err = nil 368 mockClusterController.reqs = nil 369 370 any, err := ptypes.MarshalAny(expectedResponse) 371 if err != nil { 372 t.Fatal(err) 373 } 374 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 375 Name: "longrunning-test", 376 Done: true, 377 Result: &longrunningpb.Operation_Response{Response: any}, 378 }) 379 380 var projectId string = "projectId-1969970175" 381 var region string = "region-934795532" 382 var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{} 383 var request = &dataprocpb.CreateClusterRequest{ 384 ProjectId: projectId, 385 Region: region, 386 Cluster: cluster, 387 } 388 389 c, err := NewClusterControllerClient(context.Background(), clientOpt) 390 if err != nil { 391 t.Fatal(err) 392 } 393 394 respLRO, err := c.CreateCluster(context.Background(), request) 395 if err != nil { 396 t.Fatal(err) 397 } 398 resp, err := respLRO.Wait(context.Background()) 399 400 if err != nil { 401 t.Fatal(err) 402 } 403 404 if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) { 405 t.Errorf("wrong request %q, want %q", got, want) 406 } 407 408 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 409 t.Errorf("wrong response %q, want %q)", got, want) 410 } 411} 412 413func TestClusterControllerCreateClusterError(t *testing.T) { 414 errCode := codes.PermissionDenied 415 mockClusterController.err = nil 416 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 417 Name: "longrunning-test", 418 Done: true, 419 Result: &longrunningpb.Operation_Error{ 420 Error: &status.Status{ 421 Code: int32(errCode), 422 Message: "test error", 423 }, 424 }, 425 }) 426 427 var projectId string = "projectId-1969970175" 428 var region string = "region-934795532" 429 var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{} 430 var request = &dataprocpb.CreateClusterRequest{ 431 ProjectId: projectId, 432 Region: region, 433 Cluster: cluster, 434 } 435 436 c, err := NewClusterControllerClient(context.Background(), clientOpt) 437 if err != nil { 438 t.Fatal(err) 439 } 440 441 respLRO, err := c.CreateCluster(context.Background(), request) 442 if err != nil { 443 t.Fatal(err) 444 } 445 resp, err := respLRO.Wait(context.Background()) 446 447 if st, ok := gstatus.FromError(err); !ok { 448 t.Errorf("got error %v, expected grpc error", err) 449 } else if c := st.Code(); c != errCode { 450 t.Errorf("got error code %q, want %q", c, errCode) 451 } 452 _ = resp 453} 454func TestClusterControllerUpdateCluster(t *testing.T) { 455 var projectId2 string = "projectId2939242356" 456 var clusterName2 string = "clusterName2875867491" 457 var clusterUuid string = "clusterUuid-1017854240" 458 var expectedResponse = &dataprocpb.Cluster{ 459 ProjectId: projectId2, 460 ClusterName: clusterName2, 461 ClusterUuid: clusterUuid, 462 } 463 464 mockClusterController.err = nil 465 mockClusterController.reqs = nil 466 467 any, err := ptypes.MarshalAny(expectedResponse) 468 if err != nil { 469 t.Fatal(err) 470 } 471 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 472 Name: "longrunning-test", 473 Done: true, 474 Result: &longrunningpb.Operation_Response{Response: any}, 475 }) 476 477 var projectId string = "projectId-1969970175" 478 var region string = "region-934795532" 479 var clusterName string = "clusterName-1018081872" 480 var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{} 481 var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} 482 var request = &dataprocpb.UpdateClusterRequest{ 483 ProjectId: projectId, 484 Region: region, 485 ClusterName: clusterName, 486 Cluster: cluster, 487 UpdateMask: updateMask, 488 } 489 490 c, err := NewClusterControllerClient(context.Background(), clientOpt) 491 if err != nil { 492 t.Fatal(err) 493 } 494 495 respLRO, err := c.UpdateCluster(context.Background(), request) 496 if err != nil { 497 t.Fatal(err) 498 } 499 resp, err := respLRO.Wait(context.Background()) 500 501 if err != nil { 502 t.Fatal(err) 503 } 504 505 if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) { 506 t.Errorf("wrong request %q, want %q", got, want) 507 } 508 509 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 510 t.Errorf("wrong response %q, want %q)", got, want) 511 } 512} 513 514func TestClusterControllerUpdateClusterError(t *testing.T) { 515 errCode := codes.PermissionDenied 516 mockClusterController.err = nil 517 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 518 Name: "longrunning-test", 519 Done: true, 520 Result: &longrunningpb.Operation_Error{ 521 Error: &status.Status{ 522 Code: int32(errCode), 523 Message: "test error", 524 }, 525 }, 526 }) 527 528 var projectId string = "projectId-1969970175" 529 var region string = "region-934795532" 530 var clusterName string = "clusterName-1018081872" 531 var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{} 532 var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} 533 var request = &dataprocpb.UpdateClusterRequest{ 534 ProjectId: projectId, 535 Region: region, 536 ClusterName: clusterName, 537 Cluster: cluster, 538 UpdateMask: updateMask, 539 } 540 541 c, err := NewClusterControllerClient(context.Background(), clientOpt) 542 if err != nil { 543 t.Fatal(err) 544 } 545 546 respLRO, err := c.UpdateCluster(context.Background(), request) 547 if err != nil { 548 t.Fatal(err) 549 } 550 resp, err := respLRO.Wait(context.Background()) 551 552 if st, ok := gstatus.FromError(err); !ok { 553 t.Errorf("got error %v, expected grpc error", err) 554 } else if c := st.Code(); c != errCode { 555 t.Errorf("got error code %q, want %q", c, errCode) 556 } 557 _ = resp 558} 559func TestClusterControllerDeleteCluster(t *testing.T) { 560 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 561 562 mockClusterController.err = nil 563 mockClusterController.reqs = nil 564 565 any, err := ptypes.MarshalAny(expectedResponse) 566 if err != nil { 567 t.Fatal(err) 568 } 569 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 570 Name: "longrunning-test", 571 Done: true, 572 Result: &longrunningpb.Operation_Response{Response: any}, 573 }) 574 575 var projectId string = "projectId-1969970175" 576 var region string = "region-934795532" 577 var clusterName string = "clusterName-1018081872" 578 var request = &dataprocpb.DeleteClusterRequest{ 579 ProjectId: projectId, 580 Region: region, 581 ClusterName: clusterName, 582 } 583 584 c, err := NewClusterControllerClient(context.Background(), clientOpt) 585 if err != nil { 586 t.Fatal(err) 587 } 588 589 respLRO, err := c.DeleteCluster(context.Background(), request) 590 if err != nil { 591 t.Fatal(err) 592 } 593 err = respLRO.Wait(context.Background()) 594 595 if err != nil { 596 t.Fatal(err) 597 } 598 599 if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) { 600 t.Errorf("wrong request %q, want %q", got, want) 601 } 602 603} 604 605func TestClusterControllerDeleteClusterError(t *testing.T) { 606 errCode := codes.PermissionDenied 607 mockClusterController.err = nil 608 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 609 Name: "longrunning-test", 610 Done: true, 611 Result: &longrunningpb.Operation_Error{ 612 Error: &status.Status{ 613 Code: int32(errCode), 614 Message: "test error", 615 }, 616 }, 617 }) 618 619 var projectId string = "projectId-1969970175" 620 var region string = "region-934795532" 621 var clusterName string = "clusterName-1018081872" 622 var request = &dataprocpb.DeleteClusterRequest{ 623 ProjectId: projectId, 624 Region: region, 625 ClusterName: clusterName, 626 } 627 628 c, err := NewClusterControllerClient(context.Background(), clientOpt) 629 if err != nil { 630 t.Fatal(err) 631 } 632 633 respLRO, err := c.DeleteCluster(context.Background(), request) 634 if err != nil { 635 t.Fatal(err) 636 } 637 err = respLRO.Wait(context.Background()) 638 639 if st, ok := gstatus.FromError(err); !ok { 640 t.Errorf("got error %v, expected grpc error", err) 641 } else if c := st.Code(); c != errCode { 642 t.Errorf("got error code %q, want %q", c, errCode) 643 } 644} 645func TestClusterControllerGetCluster(t *testing.T) { 646 var projectId2 string = "projectId2939242356" 647 var clusterName2 string = "clusterName2875867491" 648 var clusterUuid string = "clusterUuid-1017854240" 649 var expectedResponse = &dataprocpb.Cluster{ 650 ProjectId: projectId2, 651 ClusterName: clusterName2, 652 ClusterUuid: clusterUuid, 653 } 654 655 mockClusterController.err = nil 656 mockClusterController.reqs = nil 657 658 mockClusterController.resps = append(mockClusterController.resps[:0], expectedResponse) 659 660 var projectId string = "projectId-1969970175" 661 var region string = "region-934795532" 662 var clusterName string = "clusterName-1018081872" 663 var request = &dataprocpb.GetClusterRequest{ 664 ProjectId: projectId, 665 Region: region, 666 ClusterName: clusterName, 667 } 668 669 c, err := NewClusterControllerClient(context.Background(), clientOpt) 670 if err != nil { 671 t.Fatal(err) 672 } 673 674 resp, err := c.GetCluster(context.Background(), request) 675 676 if err != nil { 677 t.Fatal(err) 678 } 679 680 if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) { 681 t.Errorf("wrong request %q, want %q", got, want) 682 } 683 684 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 685 t.Errorf("wrong response %q, want %q)", got, want) 686 } 687} 688 689func TestClusterControllerGetClusterError(t *testing.T) { 690 errCode := codes.PermissionDenied 691 mockClusterController.err = gstatus.Error(errCode, "test error") 692 693 var projectId string = "projectId-1969970175" 694 var region string = "region-934795532" 695 var clusterName string = "clusterName-1018081872" 696 var request = &dataprocpb.GetClusterRequest{ 697 ProjectId: projectId, 698 Region: region, 699 ClusterName: clusterName, 700 } 701 702 c, err := NewClusterControllerClient(context.Background(), clientOpt) 703 if err != nil { 704 t.Fatal(err) 705 } 706 707 resp, err := c.GetCluster(context.Background(), request) 708 709 if st, ok := gstatus.FromError(err); !ok { 710 t.Errorf("got error %v, expected grpc error", err) 711 } else if c := st.Code(); c != errCode { 712 t.Errorf("got error code %q, want %q", c, errCode) 713 } 714 _ = resp 715} 716func TestClusterControllerListClusters(t *testing.T) { 717 var nextPageToken string = "" 718 var clustersElement *dataprocpb.Cluster = &dataprocpb.Cluster{} 719 var clusters = []*dataprocpb.Cluster{clustersElement} 720 var expectedResponse = &dataprocpb.ListClustersResponse{ 721 NextPageToken: nextPageToken, 722 Clusters: clusters, 723 } 724 725 mockClusterController.err = nil 726 mockClusterController.reqs = nil 727 728 mockClusterController.resps = append(mockClusterController.resps[:0], expectedResponse) 729 730 var projectId string = "projectId-1969970175" 731 var region string = "region-934795532" 732 var request = &dataprocpb.ListClustersRequest{ 733 ProjectId: projectId, 734 Region: region, 735 } 736 737 c, err := NewClusterControllerClient(context.Background(), clientOpt) 738 if err != nil { 739 t.Fatal(err) 740 } 741 742 resp, err := c.ListClusters(context.Background(), request).Next() 743 744 if err != nil { 745 t.Fatal(err) 746 } 747 748 if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) { 749 t.Errorf("wrong request %q, want %q", got, want) 750 } 751 752 want := (interface{})(expectedResponse.Clusters[0]) 753 got := (interface{})(resp) 754 var ok bool 755 756 switch want := (want).(type) { 757 case proto.Message: 758 ok = proto.Equal(want, got.(proto.Message)) 759 default: 760 ok = want == got 761 } 762 if !ok { 763 t.Errorf("wrong response %q, want %q)", got, want) 764 } 765} 766 767func TestClusterControllerListClustersError(t *testing.T) { 768 errCode := codes.PermissionDenied 769 mockClusterController.err = gstatus.Error(errCode, "test error") 770 771 var projectId string = "projectId-1969970175" 772 var region string = "region-934795532" 773 var request = &dataprocpb.ListClustersRequest{ 774 ProjectId: projectId, 775 Region: region, 776 } 777 778 c, err := NewClusterControllerClient(context.Background(), clientOpt) 779 if err != nil { 780 t.Fatal(err) 781 } 782 783 resp, err := c.ListClusters(context.Background(), request).Next() 784 785 if st, ok := gstatus.FromError(err); !ok { 786 t.Errorf("got error %v, expected grpc error", err) 787 } else if c := st.Code(); c != errCode { 788 t.Errorf("got error code %q, want %q", c, errCode) 789 } 790 _ = resp 791} 792func TestClusterControllerDiagnoseCluster(t *testing.T) { 793 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 794 795 mockClusterController.err = nil 796 mockClusterController.reqs = nil 797 798 any, err := ptypes.MarshalAny(expectedResponse) 799 if err != nil { 800 t.Fatal(err) 801 } 802 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 803 Name: "longrunning-test", 804 Done: true, 805 Result: &longrunningpb.Operation_Response{Response: any}, 806 }) 807 808 var projectId string = "projectId-1969970175" 809 var region string = "region-934795532" 810 var clusterName string = "clusterName-1018081872" 811 var request = &dataprocpb.DiagnoseClusterRequest{ 812 ProjectId: projectId, 813 Region: region, 814 ClusterName: clusterName, 815 } 816 817 c, err := NewClusterControllerClient(context.Background(), clientOpt) 818 if err != nil { 819 t.Fatal(err) 820 } 821 822 respLRO, err := c.DiagnoseCluster(context.Background(), request) 823 if err != nil { 824 t.Fatal(err) 825 } 826 err = respLRO.Wait(context.Background()) 827 828 if err != nil { 829 t.Fatal(err) 830 } 831 832 if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) { 833 t.Errorf("wrong request %q, want %q", got, want) 834 } 835 836} 837 838func TestClusterControllerDiagnoseClusterError(t *testing.T) { 839 errCode := codes.PermissionDenied 840 mockClusterController.err = nil 841 mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{ 842 Name: "longrunning-test", 843 Done: true, 844 Result: &longrunningpb.Operation_Error{ 845 Error: &status.Status{ 846 Code: int32(errCode), 847 Message: "test error", 848 }, 849 }, 850 }) 851 852 var projectId string = "projectId-1969970175" 853 var region string = "region-934795532" 854 var clusterName string = "clusterName-1018081872" 855 var request = &dataprocpb.DiagnoseClusterRequest{ 856 ProjectId: projectId, 857 Region: region, 858 ClusterName: clusterName, 859 } 860 861 c, err := NewClusterControllerClient(context.Background(), clientOpt) 862 if err != nil { 863 t.Fatal(err) 864 } 865 866 respLRO, err := c.DiagnoseCluster(context.Background(), request) 867 if err != nil { 868 t.Fatal(err) 869 } 870 err = respLRO.Wait(context.Background()) 871 872 if st, ok := gstatus.FromError(err); !ok { 873 t.Errorf("got error %v, expected grpc error", err) 874 } else if c := st.Code(); c != errCode { 875 t.Errorf("got error code %q, want %q", c, errCode) 876 } 877} 878func TestJobControllerSubmitJob(t *testing.T) { 879 var driverOutputResourceUri string = "driverOutputResourceUri-542229086" 880 var driverControlFilesUri string = "driverControlFilesUri207057643" 881 var jobUuid string = "jobUuid-1615012099" 882 var expectedResponse = &dataprocpb.Job{ 883 DriverOutputResourceUri: driverOutputResourceUri, 884 DriverControlFilesUri: driverControlFilesUri, 885 JobUuid: jobUuid, 886 } 887 888 mockJobController.err = nil 889 mockJobController.reqs = nil 890 891 mockJobController.resps = append(mockJobController.resps[:0], expectedResponse) 892 893 var projectId string = "projectId-1969970175" 894 var region string = "region-934795532" 895 var job *dataprocpb.Job = &dataprocpb.Job{} 896 var request = &dataprocpb.SubmitJobRequest{ 897 ProjectId: projectId, 898 Region: region, 899 Job: job, 900 } 901 902 c, err := NewJobControllerClient(context.Background(), clientOpt) 903 if err != nil { 904 t.Fatal(err) 905 } 906 907 resp, err := c.SubmitJob(context.Background(), request) 908 909 if err != nil { 910 t.Fatal(err) 911 } 912 913 if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) { 914 t.Errorf("wrong request %q, want %q", got, want) 915 } 916 917 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 918 t.Errorf("wrong response %q, want %q)", got, want) 919 } 920} 921 922func TestJobControllerSubmitJobError(t *testing.T) { 923 errCode := codes.PermissionDenied 924 mockJobController.err = gstatus.Error(errCode, "test error") 925 926 var projectId string = "projectId-1969970175" 927 var region string = "region-934795532" 928 var job *dataprocpb.Job = &dataprocpb.Job{} 929 var request = &dataprocpb.SubmitJobRequest{ 930 ProjectId: projectId, 931 Region: region, 932 Job: job, 933 } 934 935 c, err := NewJobControllerClient(context.Background(), clientOpt) 936 if err != nil { 937 t.Fatal(err) 938 } 939 940 resp, err := c.SubmitJob(context.Background(), request) 941 942 if st, ok := gstatus.FromError(err); !ok { 943 t.Errorf("got error %v, expected grpc error", err) 944 } else if c := st.Code(); c != errCode { 945 t.Errorf("got error code %q, want %q", c, errCode) 946 } 947 _ = resp 948} 949func TestJobControllerGetJob(t *testing.T) { 950 var driverOutputResourceUri string = "driverOutputResourceUri-542229086" 951 var driverControlFilesUri string = "driverControlFilesUri207057643" 952 var jobUuid string = "jobUuid-1615012099" 953 var expectedResponse = &dataprocpb.Job{ 954 DriverOutputResourceUri: driverOutputResourceUri, 955 DriverControlFilesUri: driverControlFilesUri, 956 JobUuid: jobUuid, 957 } 958 959 mockJobController.err = nil 960 mockJobController.reqs = nil 961 962 mockJobController.resps = append(mockJobController.resps[:0], expectedResponse) 963 964 var projectId string = "projectId-1969970175" 965 var region string = "region-934795532" 966 var jobId string = "jobId-1154752291" 967 var request = &dataprocpb.GetJobRequest{ 968 ProjectId: projectId, 969 Region: region, 970 JobId: jobId, 971 } 972 973 c, err := NewJobControllerClient(context.Background(), clientOpt) 974 if err != nil { 975 t.Fatal(err) 976 } 977 978 resp, err := c.GetJob(context.Background(), request) 979 980 if err != nil { 981 t.Fatal(err) 982 } 983 984 if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) { 985 t.Errorf("wrong request %q, want %q", got, want) 986 } 987 988 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 989 t.Errorf("wrong response %q, want %q)", got, want) 990 } 991} 992 993func TestJobControllerGetJobError(t *testing.T) { 994 errCode := codes.PermissionDenied 995 mockJobController.err = gstatus.Error(errCode, "test error") 996 997 var projectId string = "projectId-1969970175" 998 var region string = "region-934795532" 999 var jobId string = "jobId-1154752291" 1000 var request = &dataprocpb.GetJobRequest{ 1001 ProjectId: projectId, 1002 Region: region, 1003 JobId: jobId, 1004 } 1005 1006 c, err := NewJobControllerClient(context.Background(), clientOpt) 1007 if err != nil { 1008 t.Fatal(err) 1009 } 1010 1011 resp, err := c.GetJob(context.Background(), request) 1012 1013 if st, ok := gstatus.FromError(err); !ok { 1014 t.Errorf("got error %v, expected grpc error", err) 1015 } else if c := st.Code(); c != errCode { 1016 t.Errorf("got error code %q, want %q", c, errCode) 1017 } 1018 _ = resp 1019} 1020func TestJobControllerListJobs(t *testing.T) { 1021 var nextPageToken string = "" 1022 var jobsElement *dataprocpb.Job = &dataprocpb.Job{} 1023 var jobs = []*dataprocpb.Job{jobsElement} 1024 var expectedResponse = &dataprocpb.ListJobsResponse{ 1025 NextPageToken: nextPageToken, 1026 Jobs: jobs, 1027 } 1028 1029 mockJobController.err = nil 1030 mockJobController.reqs = nil 1031 1032 mockJobController.resps = append(mockJobController.resps[:0], expectedResponse) 1033 1034 var projectId string = "projectId-1969970175" 1035 var region string = "region-934795532" 1036 var request = &dataprocpb.ListJobsRequest{ 1037 ProjectId: projectId, 1038 Region: region, 1039 } 1040 1041 c, err := NewJobControllerClient(context.Background(), clientOpt) 1042 if err != nil { 1043 t.Fatal(err) 1044 } 1045 1046 resp, err := c.ListJobs(context.Background(), request).Next() 1047 1048 if err != nil { 1049 t.Fatal(err) 1050 } 1051 1052 if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) { 1053 t.Errorf("wrong request %q, want %q", got, want) 1054 } 1055 1056 want := (interface{})(expectedResponse.Jobs[0]) 1057 got := (interface{})(resp) 1058 var ok bool 1059 1060 switch want := (want).(type) { 1061 case proto.Message: 1062 ok = proto.Equal(want, got.(proto.Message)) 1063 default: 1064 ok = want == got 1065 } 1066 if !ok { 1067 t.Errorf("wrong response %q, want %q)", got, want) 1068 } 1069} 1070 1071func TestJobControllerListJobsError(t *testing.T) { 1072 errCode := codes.PermissionDenied 1073 mockJobController.err = gstatus.Error(errCode, "test error") 1074 1075 var projectId string = "projectId-1969970175" 1076 var region string = "region-934795532" 1077 var request = &dataprocpb.ListJobsRequest{ 1078 ProjectId: projectId, 1079 Region: region, 1080 } 1081 1082 c, err := NewJobControllerClient(context.Background(), clientOpt) 1083 if err != nil { 1084 t.Fatal(err) 1085 } 1086 1087 resp, err := c.ListJobs(context.Background(), request).Next() 1088 1089 if st, ok := gstatus.FromError(err); !ok { 1090 t.Errorf("got error %v, expected grpc error", err) 1091 } else if c := st.Code(); c != errCode { 1092 t.Errorf("got error code %q, want %q", c, errCode) 1093 } 1094 _ = resp 1095} 1096func TestJobControllerUpdateJob(t *testing.T) { 1097 var driverOutputResourceUri string = "driverOutputResourceUri-542229086" 1098 var driverControlFilesUri string = "driverControlFilesUri207057643" 1099 var jobUuid string = "jobUuid-1615012099" 1100 var expectedResponse = &dataprocpb.Job{ 1101 DriverOutputResourceUri: driverOutputResourceUri, 1102 DriverControlFilesUri: driverControlFilesUri, 1103 JobUuid: jobUuid, 1104 } 1105 1106 mockJobController.err = nil 1107 mockJobController.reqs = nil 1108 1109 mockJobController.resps = append(mockJobController.resps[:0], expectedResponse) 1110 1111 var projectId string = "projectId-1969970175" 1112 var region string = "region-934795532" 1113 var jobId string = "jobId-1154752291" 1114 var job *dataprocpb.Job = &dataprocpb.Job{} 1115 var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} 1116 var request = &dataprocpb.UpdateJobRequest{ 1117 ProjectId: projectId, 1118 Region: region, 1119 JobId: jobId, 1120 Job: job, 1121 UpdateMask: updateMask, 1122 } 1123 1124 c, err := NewJobControllerClient(context.Background(), clientOpt) 1125 if err != nil { 1126 t.Fatal(err) 1127 } 1128 1129 resp, err := c.UpdateJob(context.Background(), request) 1130 1131 if err != nil { 1132 t.Fatal(err) 1133 } 1134 1135 if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) { 1136 t.Errorf("wrong request %q, want %q", got, want) 1137 } 1138 1139 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1140 t.Errorf("wrong response %q, want %q)", got, want) 1141 } 1142} 1143 1144func TestJobControllerUpdateJobError(t *testing.T) { 1145 errCode := codes.PermissionDenied 1146 mockJobController.err = gstatus.Error(errCode, "test error") 1147 1148 var projectId string = "projectId-1969970175" 1149 var region string = "region-934795532" 1150 var jobId string = "jobId-1154752291" 1151 var job *dataprocpb.Job = &dataprocpb.Job{} 1152 var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{} 1153 var request = &dataprocpb.UpdateJobRequest{ 1154 ProjectId: projectId, 1155 Region: region, 1156 JobId: jobId, 1157 Job: job, 1158 UpdateMask: updateMask, 1159 } 1160 1161 c, err := NewJobControllerClient(context.Background(), clientOpt) 1162 if err != nil { 1163 t.Fatal(err) 1164 } 1165 1166 resp, err := c.UpdateJob(context.Background(), request) 1167 1168 if st, ok := gstatus.FromError(err); !ok { 1169 t.Errorf("got error %v, expected grpc error", err) 1170 } else if c := st.Code(); c != errCode { 1171 t.Errorf("got error code %q, want %q", c, errCode) 1172 } 1173 _ = resp 1174} 1175func TestJobControllerCancelJob(t *testing.T) { 1176 var driverOutputResourceUri string = "driverOutputResourceUri-542229086" 1177 var driverControlFilesUri string = "driverControlFilesUri207057643" 1178 var jobUuid string = "jobUuid-1615012099" 1179 var expectedResponse = &dataprocpb.Job{ 1180 DriverOutputResourceUri: driverOutputResourceUri, 1181 DriverControlFilesUri: driverControlFilesUri, 1182 JobUuid: jobUuid, 1183 } 1184 1185 mockJobController.err = nil 1186 mockJobController.reqs = nil 1187 1188 mockJobController.resps = append(mockJobController.resps[:0], expectedResponse) 1189 1190 var projectId string = "projectId-1969970175" 1191 var region string = "region-934795532" 1192 var jobId string = "jobId-1154752291" 1193 var request = &dataprocpb.CancelJobRequest{ 1194 ProjectId: projectId, 1195 Region: region, 1196 JobId: jobId, 1197 } 1198 1199 c, err := NewJobControllerClient(context.Background(), clientOpt) 1200 if err != nil { 1201 t.Fatal(err) 1202 } 1203 1204 resp, err := c.CancelJob(context.Background(), request) 1205 1206 if err != nil { 1207 t.Fatal(err) 1208 } 1209 1210 if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) { 1211 t.Errorf("wrong request %q, want %q", got, want) 1212 } 1213 1214 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1215 t.Errorf("wrong response %q, want %q)", got, want) 1216 } 1217} 1218 1219func TestJobControllerCancelJobError(t *testing.T) { 1220 errCode := codes.PermissionDenied 1221 mockJobController.err = gstatus.Error(errCode, "test error") 1222 1223 var projectId string = "projectId-1969970175" 1224 var region string = "region-934795532" 1225 var jobId string = "jobId-1154752291" 1226 var request = &dataprocpb.CancelJobRequest{ 1227 ProjectId: projectId, 1228 Region: region, 1229 JobId: jobId, 1230 } 1231 1232 c, err := NewJobControllerClient(context.Background(), clientOpt) 1233 if err != nil { 1234 t.Fatal(err) 1235 } 1236 1237 resp, err := c.CancelJob(context.Background(), request) 1238 1239 if st, ok := gstatus.FromError(err); !ok { 1240 t.Errorf("got error %v, expected grpc error", err) 1241 } else if c := st.Code(); c != errCode { 1242 t.Errorf("got error code %q, want %q", c, errCode) 1243 } 1244 _ = resp 1245} 1246func TestJobControllerDeleteJob(t *testing.T) { 1247 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 1248 1249 mockJobController.err = nil 1250 mockJobController.reqs = nil 1251 1252 mockJobController.resps = append(mockJobController.resps[:0], expectedResponse) 1253 1254 var projectId string = "projectId-1969970175" 1255 var region string = "region-934795532" 1256 var jobId string = "jobId-1154752291" 1257 var request = &dataprocpb.DeleteJobRequest{ 1258 ProjectId: projectId, 1259 Region: region, 1260 JobId: jobId, 1261 } 1262 1263 c, err := NewJobControllerClient(context.Background(), clientOpt) 1264 if err != nil { 1265 t.Fatal(err) 1266 } 1267 1268 err = c.DeleteJob(context.Background(), request) 1269 1270 if err != nil { 1271 t.Fatal(err) 1272 } 1273 1274 if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) { 1275 t.Errorf("wrong request %q, want %q", got, want) 1276 } 1277 1278} 1279 1280func TestJobControllerDeleteJobError(t *testing.T) { 1281 errCode := codes.PermissionDenied 1282 mockJobController.err = gstatus.Error(errCode, "test error") 1283 1284 var projectId string = "projectId-1969970175" 1285 var region string = "region-934795532" 1286 var jobId string = "jobId-1154752291" 1287 var request = &dataprocpb.DeleteJobRequest{ 1288 ProjectId: projectId, 1289 Region: region, 1290 JobId: jobId, 1291 } 1292 1293 c, err := NewJobControllerClient(context.Background(), clientOpt) 1294 if err != nil { 1295 t.Fatal(err) 1296 } 1297 1298 err = c.DeleteJob(context.Background(), request) 1299 1300 if st, ok := gstatus.FromError(err); !ok { 1301 t.Errorf("got error %v, expected grpc error", err) 1302 } else if c := st.Code(); c != errCode { 1303 t.Errorf("got error code %q, want %q", c, errCode) 1304 } 1305} 1306func TestWorkflowTemplateServiceCreateWorkflowTemplate(t *testing.T) { 1307 var id string = "id3355" 1308 var name string = "name3373707" 1309 var version int32 = 351608024 1310 var expectedResponse = &dataprocpb.WorkflowTemplate{ 1311 Id: id, 1312 Name: name, 1313 Version: version, 1314 } 1315 1316 mockWorkflowTemplate.err = nil 1317 mockWorkflowTemplate.reqs = nil 1318 1319 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse) 1320 1321 var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]") 1322 var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1323 var request = &dataprocpb.CreateWorkflowTemplateRequest{ 1324 Parent: formattedParent, 1325 Template: template, 1326 } 1327 1328 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1329 if err != nil { 1330 t.Fatal(err) 1331 } 1332 1333 resp, err := c.CreateWorkflowTemplate(context.Background(), request) 1334 1335 if err != nil { 1336 t.Fatal(err) 1337 } 1338 1339 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1340 t.Errorf("wrong request %q, want %q", got, want) 1341 } 1342 1343 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1344 t.Errorf("wrong response %q, want %q)", got, want) 1345 } 1346} 1347 1348func TestWorkflowTemplateServiceCreateWorkflowTemplateError(t *testing.T) { 1349 errCode := codes.PermissionDenied 1350 mockWorkflowTemplate.err = gstatus.Error(errCode, "test error") 1351 1352 var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]") 1353 var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1354 var request = &dataprocpb.CreateWorkflowTemplateRequest{ 1355 Parent: formattedParent, 1356 Template: template, 1357 } 1358 1359 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1360 if err != nil { 1361 t.Fatal(err) 1362 } 1363 1364 resp, err := c.CreateWorkflowTemplate(context.Background(), request) 1365 1366 if st, ok := gstatus.FromError(err); !ok { 1367 t.Errorf("got error %v, expected grpc error", err) 1368 } else if c := st.Code(); c != errCode { 1369 t.Errorf("got error code %q, want %q", c, errCode) 1370 } 1371 _ = resp 1372} 1373func TestWorkflowTemplateServiceGetWorkflowTemplate(t *testing.T) { 1374 var id string = "id3355" 1375 var name2 string = "name2-1052831874" 1376 var version int32 = 351608024 1377 var expectedResponse = &dataprocpb.WorkflowTemplate{ 1378 Id: id, 1379 Name: name2, 1380 Version: version, 1381 } 1382 1383 mockWorkflowTemplate.err = nil 1384 mockWorkflowTemplate.reqs = nil 1385 1386 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse) 1387 1388 var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]") 1389 var request = &dataprocpb.GetWorkflowTemplateRequest{ 1390 Name: formattedName, 1391 } 1392 1393 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1394 if err != nil { 1395 t.Fatal(err) 1396 } 1397 1398 resp, err := c.GetWorkflowTemplate(context.Background(), request) 1399 1400 if err != nil { 1401 t.Fatal(err) 1402 } 1403 1404 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1405 t.Errorf("wrong request %q, want %q", got, want) 1406 } 1407 1408 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1409 t.Errorf("wrong response %q, want %q)", got, want) 1410 } 1411} 1412 1413func TestWorkflowTemplateServiceGetWorkflowTemplateError(t *testing.T) { 1414 errCode := codes.PermissionDenied 1415 mockWorkflowTemplate.err = gstatus.Error(errCode, "test error") 1416 1417 var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]") 1418 var request = &dataprocpb.GetWorkflowTemplateRequest{ 1419 Name: formattedName, 1420 } 1421 1422 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1423 if err != nil { 1424 t.Fatal(err) 1425 } 1426 1427 resp, err := c.GetWorkflowTemplate(context.Background(), request) 1428 1429 if st, ok := gstatus.FromError(err); !ok { 1430 t.Errorf("got error %v, expected grpc error", err) 1431 } else if c := st.Code(); c != errCode { 1432 t.Errorf("got error code %q, want %q", c, errCode) 1433 } 1434 _ = resp 1435} 1436func TestWorkflowTemplateServiceInstantiateWorkflowTemplate(t *testing.T) { 1437 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 1438 1439 mockWorkflowTemplate.err = nil 1440 mockWorkflowTemplate.reqs = nil 1441 1442 any, err := ptypes.MarshalAny(expectedResponse) 1443 if err != nil { 1444 t.Fatal(err) 1445 } 1446 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{ 1447 Name: "longrunning-test", 1448 Done: true, 1449 Result: &longrunningpb.Operation_Response{Response: any}, 1450 }) 1451 1452 var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]") 1453 var request = &dataprocpb.InstantiateWorkflowTemplateRequest{ 1454 Name: formattedName, 1455 } 1456 1457 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1458 if err != nil { 1459 t.Fatal(err) 1460 } 1461 1462 respLRO, err := c.InstantiateWorkflowTemplate(context.Background(), request) 1463 if err != nil { 1464 t.Fatal(err) 1465 } 1466 err = respLRO.Wait(context.Background()) 1467 1468 if err != nil { 1469 t.Fatal(err) 1470 } 1471 1472 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1473 t.Errorf("wrong request %q, want %q", got, want) 1474 } 1475 1476} 1477 1478func TestWorkflowTemplateServiceInstantiateWorkflowTemplateError(t *testing.T) { 1479 errCode := codes.PermissionDenied 1480 mockWorkflowTemplate.err = nil 1481 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{ 1482 Name: "longrunning-test", 1483 Done: true, 1484 Result: &longrunningpb.Operation_Error{ 1485 Error: &status.Status{ 1486 Code: int32(errCode), 1487 Message: "test error", 1488 }, 1489 }, 1490 }) 1491 1492 var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]") 1493 var request = &dataprocpb.InstantiateWorkflowTemplateRequest{ 1494 Name: formattedName, 1495 } 1496 1497 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1498 if err != nil { 1499 t.Fatal(err) 1500 } 1501 1502 respLRO, err := c.InstantiateWorkflowTemplate(context.Background(), request) 1503 if err != nil { 1504 t.Fatal(err) 1505 } 1506 err = respLRO.Wait(context.Background()) 1507 1508 if st, ok := gstatus.FromError(err); !ok { 1509 t.Errorf("got error %v, expected grpc error", err) 1510 } else if c := st.Code(); c != errCode { 1511 t.Errorf("got error code %q, want %q", c, errCode) 1512 } 1513} 1514func TestWorkflowTemplateServiceInstantiateInlineWorkflowTemplate(t *testing.T) { 1515 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 1516 1517 mockWorkflowTemplate.err = nil 1518 mockWorkflowTemplate.reqs = nil 1519 1520 any, err := ptypes.MarshalAny(expectedResponse) 1521 if err != nil { 1522 t.Fatal(err) 1523 } 1524 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{ 1525 Name: "longrunning-test", 1526 Done: true, 1527 Result: &longrunningpb.Operation_Response{Response: any}, 1528 }) 1529 1530 var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]") 1531 var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1532 var request = &dataprocpb.InstantiateInlineWorkflowTemplateRequest{ 1533 Parent: formattedParent, 1534 Template: template, 1535 } 1536 1537 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1538 if err != nil { 1539 t.Fatal(err) 1540 } 1541 1542 respLRO, err := c.InstantiateInlineWorkflowTemplate(context.Background(), request) 1543 if err != nil { 1544 t.Fatal(err) 1545 } 1546 err = respLRO.Wait(context.Background()) 1547 1548 if err != nil { 1549 t.Fatal(err) 1550 } 1551 1552 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1553 t.Errorf("wrong request %q, want %q", got, want) 1554 } 1555 1556} 1557 1558func TestWorkflowTemplateServiceInstantiateInlineWorkflowTemplateError(t *testing.T) { 1559 errCode := codes.PermissionDenied 1560 mockWorkflowTemplate.err = nil 1561 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{ 1562 Name: "longrunning-test", 1563 Done: true, 1564 Result: &longrunningpb.Operation_Error{ 1565 Error: &status.Status{ 1566 Code: int32(errCode), 1567 Message: "test error", 1568 }, 1569 }, 1570 }) 1571 1572 var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]") 1573 var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1574 var request = &dataprocpb.InstantiateInlineWorkflowTemplateRequest{ 1575 Parent: formattedParent, 1576 Template: template, 1577 } 1578 1579 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1580 if err != nil { 1581 t.Fatal(err) 1582 } 1583 1584 respLRO, err := c.InstantiateInlineWorkflowTemplate(context.Background(), request) 1585 if err != nil { 1586 t.Fatal(err) 1587 } 1588 err = respLRO.Wait(context.Background()) 1589 1590 if st, ok := gstatus.FromError(err); !ok { 1591 t.Errorf("got error %v, expected grpc error", err) 1592 } else if c := st.Code(); c != errCode { 1593 t.Errorf("got error code %q, want %q", c, errCode) 1594 } 1595} 1596func TestWorkflowTemplateServiceUpdateWorkflowTemplate(t *testing.T) { 1597 var id string = "id3355" 1598 var name string = "name3373707" 1599 var version int32 = 351608024 1600 var expectedResponse = &dataprocpb.WorkflowTemplate{ 1601 Id: id, 1602 Name: name, 1603 Version: version, 1604 } 1605 1606 mockWorkflowTemplate.err = nil 1607 mockWorkflowTemplate.reqs = nil 1608 1609 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse) 1610 1611 var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1612 var request = &dataprocpb.UpdateWorkflowTemplateRequest{ 1613 Template: template, 1614 } 1615 1616 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1617 if err != nil { 1618 t.Fatal(err) 1619 } 1620 1621 resp, err := c.UpdateWorkflowTemplate(context.Background(), request) 1622 1623 if err != nil { 1624 t.Fatal(err) 1625 } 1626 1627 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1628 t.Errorf("wrong request %q, want %q", got, want) 1629 } 1630 1631 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1632 t.Errorf("wrong response %q, want %q)", got, want) 1633 } 1634} 1635 1636func TestWorkflowTemplateServiceUpdateWorkflowTemplateError(t *testing.T) { 1637 errCode := codes.PermissionDenied 1638 mockWorkflowTemplate.err = gstatus.Error(errCode, "test error") 1639 1640 var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1641 var request = &dataprocpb.UpdateWorkflowTemplateRequest{ 1642 Template: template, 1643 } 1644 1645 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1646 if err != nil { 1647 t.Fatal(err) 1648 } 1649 1650 resp, err := c.UpdateWorkflowTemplate(context.Background(), request) 1651 1652 if st, ok := gstatus.FromError(err); !ok { 1653 t.Errorf("got error %v, expected grpc error", err) 1654 } else if c := st.Code(); c != errCode { 1655 t.Errorf("got error code %q, want %q", c, errCode) 1656 } 1657 _ = resp 1658} 1659func TestWorkflowTemplateServiceListWorkflowTemplates(t *testing.T) { 1660 var nextPageToken string = "" 1661 var templatesElement *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{} 1662 var templates = []*dataprocpb.WorkflowTemplate{templatesElement} 1663 var expectedResponse = &dataprocpb.ListWorkflowTemplatesResponse{ 1664 NextPageToken: nextPageToken, 1665 Templates: templates, 1666 } 1667 1668 mockWorkflowTemplate.err = nil 1669 mockWorkflowTemplate.reqs = nil 1670 1671 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse) 1672 1673 var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]") 1674 var request = &dataprocpb.ListWorkflowTemplatesRequest{ 1675 Parent: formattedParent, 1676 } 1677 1678 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1679 if err != nil { 1680 t.Fatal(err) 1681 } 1682 1683 resp, err := c.ListWorkflowTemplates(context.Background(), request).Next() 1684 1685 if err != nil { 1686 t.Fatal(err) 1687 } 1688 1689 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1690 t.Errorf("wrong request %q, want %q", got, want) 1691 } 1692 1693 want := (interface{})(expectedResponse.Templates[0]) 1694 got := (interface{})(resp) 1695 var ok bool 1696 1697 switch want := (want).(type) { 1698 case proto.Message: 1699 ok = proto.Equal(want, got.(proto.Message)) 1700 default: 1701 ok = want == got 1702 } 1703 if !ok { 1704 t.Errorf("wrong response %q, want %q)", got, want) 1705 } 1706} 1707 1708func TestWorkflowTemplateServiceListWorkflowTemplatesError(t *testing.T) { 1709 errCode := codes.PermissionDenied 1710 mockWorkflowTemplate.err = gstatus.Error(errCode, "test error") 1711 1712 var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]") 1713 var request = &dataprocpb.ListWorkflowTemplatesRequest{ 1714 Parent: formattedParent, 1715 } 1716 1717 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1718 if err != nil { 1719 t.Fatal(err) 1720 } 1721 1722 resp, err := c.ListWorkflowTemplates(context.Background(), request).Next() 1723 1724 if st, ok := gstatus.FromError(err); !ok { 1725 t.Errorf("got error %v, expected grpc error", err) 1726 } else if c := st.Code(); c != errCode { 1727 t.Errorf("got error code %q, want %q", c, errCode) 1728 } 1729 _ = resp 1730} 1731func TestWorkflowTemplateServiceDeleteWorkflowTemplate(t *testing.T) { 1732 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 1733 1734 mockWorkflowTemplate.err = nil 1735 mockWorkflowTemplate.reqs = nil 1736 1737 mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse) 1738 1739 var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]") 1740 var request = &dataprocpb.DeleteWorkflowTemplateRequest{ 1741 Name: formattedName, 1742 } 1743 1744 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1745 if err != nil { 1746 t.Fatal(err) 1747 } 1748 1749 err = c.DeleteWorkflowTemplate(context.Background(), request) 1750 1751 if err != nil { 1752 t.Fatal(err) 1753 } 1754 1755 if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) { 1756 t.Errorf("wrong request %q, want %q", got, want) 1757 } 1758 1759} 1760 1761func TestWorkflowTemplateServiceDeleteWorkflowTemplateError(t *testing.T) { 1762 errCode := codes.PermissionDenied 1763 mockWorkflowTemplate.err = gstatus.Error(errCode, "test error") 1764 1765 var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]") 1766 var request = &dataprocpb.DeleteWorkflowTemplateRequest{ 1767 Name: formattedName, 1768 } 1769 1770 c, err := NewWorkflowTemplateClient(context.Background(), clientOpt) 1771 if err != nil { 1772 t.Fatal(err) 1773 } 1774 1775 err = c.DeleteWorkflowTemplate(context.Background(), request) 1776 1777 if st, ok := gstatus.FromError(err); !ok { 1778 t.Errorf("got error %v, expected grpc error", err) 1779 } else if c := st.Code(); c != errCode { 1780 t.Errorf("got error code %q, want %q", c, errCode) 1781 } 1782} 1783