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 admin 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 adminpb "google.golang.org/genproto/googleapis/iam/admin/v1" 35 iampb "google.golang.org/genproto/googleapis/iam/v1" 36 37 status "google.golang.org/genproto/googleapis/rpc/status" 38 "google.golang.org/grpc" 39 "google.golang.org/grpc/codes" 40 "google.golang.org/grpc/metadata" 41 42 gstatus "google.golang.org/grpc/status" 43) 44 45var _ = io.EOF 46var _ = ptypes.MarshalAny 47var _ status.Status 48 49type mockIamServer struct { 50 // Embed for forward compatibility. 51 // Tests will keep working if more methods are added 52 // in the future. 53 adminpb.IAMServer 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 *mockIamServer) ListServiceAccounts(ctx context.Context, req *adminpb.ListServiceAccountsRequest) (*adminpb.ListServiceAccountsResponse, 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].(*adminpb.ListServiceAccountsResponse), nil 74} 75 76func (s *mockIamServer) GetServiceAccount(ctx context.Context, req *adminpb.GetServiceAccountRequest) (*adminpb.ServiceAccount, 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].(*adminpb.ServiceAccount), nil 86} 87 88func (s *mockIamServer) CreateServiceAccount(ctx context.Context, req *adminpb.CreateServiceAccountRequest) (*adminpb.ServiceAccount, 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].(*adminpb.ServiceAccount), nil 98} 99 100func (s *mockIamServer) UpdateServiceAccount(ctx context.Context, req *adminpb.ServiceAccount) (*adminpb.ServiceAccount, error) { 101 md, _ := metadata.FromIncomingContext(ctx) 102 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 103 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 104 } 105 s.reqs = append(s.reqs, req) 106 if s.err != nil { 107 return nil, s.err 108 } 109 return s.resps[0].(*adminpb.ServiceAccount), nil 110} 111 112func (s *mockIamServer) DeleteServiceAccount(ctx context.Context, req *adminpb.DeleteServiceAccountRequest) (*emptypb.Empty, error) { 113 md, _ := metadata.FromIncomingContext(ctx) 114 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 115 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 116 } 117 s.reqs = append(s.reqs, req) 118 if s.err != nil { 119 return nil, s.err 120 } 121 return s.resps[0].(*emptypb.Empty), nil 122} 123 124func (s *mockIamServer) ListServiceAccountKeys(ctx context.Context, req *adminpb.ListServiceAccountKeysRequest) (*adminpb.ListServiceAccountKeysResponse, error) { 125 md, _ := metadata.FromIncomingContext(ctx) 126 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 127 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 128 } 129 s.reqs = append(s.reqs, req) 130 if s.err != nil { 131 return nil, s.err 132 } 133 return s.resps[0].(*adminpb.ListServiceAccountKeysResponse), nil 134} 135 136func (s *mockIamServer) GetServiceAccountKey(ctx context.Context, req *adminpb.GetServiceAccountKeyRequest) (*adminpb.ServiceAccountKey, error) { 137 md, _ := metadata.FromIncomingContext(ctx) 138 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 139 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 140 } 141 s.reqs = append(s.reqs, req) 142 if s.err != nil { 143 return nil, s.err 144 } 145 return s.resps[0].(*adminpb.ServiceAccountKey), nil 146} 147 148func (s *mockIamServer) CreateServiceAccountKey(ctx context.Context, req *adminpb.CreateServiceAccountKeyRequest) (*adminpb.ServiceAccountKey, error) { 149 md, _ := metadata.FromIncomingContext(ctx) 150 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 151 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 152 } 153 s.reqs = append(s.reqs, req) 154 if s.err != nil { 155 return nil, s.err 156 } 157 return s.resps[0].(*adminpb.ServiceAccountKey), nil 158} 159 160func (s *mockIamServer) DeleteServiceAccountKey(ctx context.Context, req *adminpb.DeleteServiceAccountKeyRequest) (*emptypb.Empty, error) { 161 md, _ := metadata.FromIncomingContext(ctx) 162 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 163 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 164 } 165 s.reqs = append(s.reqs, req) 166 if s.err != nil { 167 return nil, s.err 168 } 169 return s.resps[0].(*emptypb.Empty), nil 170} 171 172func (s *mockIamServer) SignBlob(ctx context.Context, req *adminpb.SignBlobRequest) (*adminpb.SignBlobResponse, error) { 173 md, _ := metadata.FromIncomingContext(ctx) 174 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 175 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 176 } 177 s.reqs = append(s.reqs, req) 178 if s.err != nil { 179 return nil, s.err 180 } 181 return s.resps[0].(*adminpb.SignBlobResponse), nil 182} 183 184func (s *mockIamServer) SignJwt(ctx context.Context, req *adminpb.SignJwtRequest) (*adminpb.SignJwtResponse, error) { 185 md, _ := metadata.FromIncomingContext(ctx) 186 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 187 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 188 } 189 s.reqs = append(s.reqs, req) 190 if s.err != nil { 191 return nil, s.err 192 } 193 return s.resps[0].(*adminpb.SignJwtResponse), nil 194} 195 196func (s *mockIamServer) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, error) { 197 md, _ := metadata.FromIncomingContext(ctx) 198 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 199 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 200 } 201 s.reqs = append(s.reqs, req) 202 if s.err != nil { 203 return nil, s.err 204 } 205 return s.resps[0].(*iampb.Policy), nil 206} 207 208func (s *mockIamServer) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, error) { 209 md, _ := metadata.FromIncomingContext(ctx) 210 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 211 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 212 } 213 s.reqs = append(s.reqs, req) 214 if s.err != nil { 215 return nil, s.err 216 } 217 return s.resps[0].(*iampb.Policy), nil 218} 219 220func (s *mockIamServer) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) { 221 md, _ := metadata.FromIncomingContext(ctx) 222 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 223 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 224 } 225 s.reqs = append(s.reqs, req) 226 if s.err != nil { 227 return nil, s.err 228 } 229 return s.resps[0].(*iampb.TestIamPermissionsResponse), nil 230} 231 232func (s *mockIamServer) QueryGrantableRoles(ctx context.Context, req *adminpb.QueryGrantableRolesRequest) (*adminpb.QueryGrantableRolesResponse, error) { 233 md, _ := metadata.FromIncomingContext(ctx) 234 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 235 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 236 } 237 s.reqs = append(s.reqs, req) 238 if s.err != nil { 239 return nil, s.err 240 } 241 return s.resps[0].(*adminpb.QueryGrantableRolesResponse), nil 242} 243 244func (s *mockIamServer) ListRoles(ctx context.Context, req *adminpb.ListRolesRequest) (*adminpb.ListRolesResponse, error) { 245 md, _ := metadata.FromIncomingContext(ctx) 246 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 247 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 248 } 249 s.reqs = append(s.reqs, req) 250 if s.err != nil { 251 return nil, s.err 252 } 253 return s.resps[0].(*adminpb.ListRolesResponse), nil 254} 255 256func (s *mockIamServer) GetRole(ctx context.Context, req *adminpb.GetRoleRequest) (*adminpb.Role, error) { 257 md, _ := metadata.FromIncomingContext(ctx) 258 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 259 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 260 } 261 s.reqs = append(s.reqs, req) 262 if s.err != nil { 263 return nil, s.err 264 } 265 return s.resps[0].(*adminpb.Role), nil 266} 267 268func (s *mockIamServer) CreateRole(ctx context.Context, req *adminpb.CreateRoleRequest) (*adminpb.Role, error) { 269 md, _ := metadata.FromIncomingContext(ctx) 270 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 271 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 272 } 273 s.reqs = append(s.reqs, req) 274 if s.err != nil { 275 return nil, s.err 276 } 277 return s.resps[0].(*adminpb.Role), nil 278} 279 280func (s *mockIamServer) UpdateRole(ctx context.Context, req *adminpb.UpdateRoleRequest) (*adminpb.Role, error) { 281 md, _ := metadata.FromIncomingContext(ctx) 282 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 283 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 284 } 285 s.reqs = append(s.reqs, req) 286 if s.err != nil { 287 return nil, s.err 288 } 289 return s.resps[0].(*adminpb.Role), nil 290} 291 292func (s *mockIamServer) DeleteRole(ctx context.Context, req *adminpb.DeleteRoleRequest) (*adminpb.Role, error) { 293 md, _ := metadata.FromIncomingContext(ctx) 294 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 295 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 296 } 297 s.reqs = append(s.reqs, req) 298 if s.err != nil { 299 return nil, s.err 300 } 301 return s.resps[0].(*adminpb.Role), nil 302} 303 304func (s *mockIamServer) UndeleteRole(ctx context.Context, req *adminpb.UndeleteRoleRequest) (*adminpb.Role, error) { 305 md, _ := metadata.FromIncomingContext(ctx) 306 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 307 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 308 } 309 s.reqs = append(s.reqs, req) 310 if s.err != nil { 311 return nil, s.err 312 } 313 return s.resps[0].(*adminpb.Role), nil 314} 315 316func (s *mockIamServer) QueryTestablePermissions(ctx context.Context, req *adminpb.QueryTestablePermissionsRequest) (*adminpb.QueryTestablePermissionsResponse, error) { 317 md, _ := metadata.FromIncomingContext(ctx) 318 if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") { 319 return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg) 320 } 321 s.reqs = append(s.reqs, req) 322 if s.err != nil { 323 return nil, s.err 324 } 325 return s.resps[0].(*adminpb.QueryTestablePermissionsResponse), nil 326} 327 328// clientOpt is the option tests should use to connect to the test server. 329// It is initialized by TestMain. 330var clientOpt option.ClientOption 331 332var ( 333 mockIam mockIamServer 334) 335 336func TestMain(m *testing.M) { 337 flag.Parse() 338 339 serv := grpc.NewServer() 340 adminpb.RegisterIAMServer(serv, &mockIam) 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 TestIamListServiceAccounts(t *testing.T) { 358 var nextPageToken string = "" 359 var accountsElement *adminpb.ServiceAccount = &adminpb.ServiceAccount{} 360 var accounts = []*adminpb.ServiceAccount{accountsElement} 361 var expectedResponse = &adminpb.ListServiceAccountsResponse{ 362 NextPageToken: nextPageToken, 363 Accounts: accounts, 364 } 365 366 mockIam.err = nil 367 mockIam.reqs = nil 368 369 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 370 371 var formattedName string = fmt.Sprintf("projects/%s", "[PROJECT]") 372 var request = &adminpb.ListServiceAccountsRequest{ 373 Name: formattedName, 374 } 375 376 c, err := NewIamClient(context.Background(), clientOpt) 377 if err != nil { 378 t.Fatal(err) 379 } 380 381 resp, err := c.ListServiceAccounts(context.Background(), request).Next() 382 383 if err != nil { 384 t.Fatal(err) 385 } 386 387 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 388 t.Errorf("wrong request %q, want %q", got, want) 389 } 390 391 want := (interface{})(expectedResponse.Accounts[0]) 392 got := (interface{})(resp) 393 var ok bool 394 395 switch want := (want).(type) { 396 case proto.Message: 397 ok = proto.Equal(want, got.(proto.Message)) 398 default: 399 ok = want == got 400 } 401 if !ok { 402 t.Errorf("wrong response %q, want %q)", got, want) 403 } 404} 405 406func TestIamListServiceAccountsError(t *testing.T) { 407 errCode := codes.PermissionDenied 408 mockIam.err = gstatus.Error(errCode, "test error") 409 410 var formattedName string = fmt.Sprintf("projects/%s", "[PROJECT]") 411 var request = &adminpb.ListServiceAccountsRequest{ 412 Name: formattedName, 413 } 414 415 c, err := NewIamClient(context.Background(), clientOpt) 416 if err != nil { 417 t.Fatal(err) 418 } 419 420 resp, err := c.ListServiceAccounts(context.Background(), request).Next() 421 422 if st, ok := gstatus.FromError(err); !ok { 423 t.Errorf("got error %v, expected grpc error", err) 424 } else if c := st.Code(); c != errCode { 425 t.Errorf("got error code %q, want %q", c, errCode) 426 } 427 _ = resp 428} 429func TestIamGetServiceAccount(t *testing.T) { 430 var name2 string = "name2-1052831874" 431 var projectId string = "projectId-1969970175" 432 var uniqueId string = "uniqueId-538310583" 433 var email string = "email96619420" 434 var displayName string = "displayName1615086568" 435 var etag []byte = []byte("21") 436 var oauth2ClientId string = "oauth2ClientId-1833466037" 437 var expectedResponse = &adminpb.ServiceAccount{ 438 Name: name2, 439 ProjectId: projectId, 440 UniqueId: uniqueId, 441 Email: email, 442 DisplayName: displayName, 443 Etag: etag, 444 Oauth2ClientId: oauth2ClientId, 445 } 446 447 mockIam.err = nil 448 mockIam.reqs = nil 449 450 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 451 452 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 453 var request = &adminpb.GetServiceAccountRequest{ 454 Name: formattedName, 455 } 456 457 c, err := NewIamClient(context.Background(), clientOpt) 458 if err != nil { 459 t.Fatal(err) 460 } 461 462 resp, err := c.GetServiceAccount(context.Background(), request) 463 464 if err != nil { 465 t.Fatal(err) 466 } 467 468 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 469 t.Errorf("wrong request %q, want %q", got, want) 470 } 471 472 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 473 t.Errorf("wrong response %q, want %q)", got, want) 474 } 475} 476 477func TestIamGetServiceAccountError(t *testing.T) { 478 errCode := codes.PermissionDenied 479 mockIam.err = gstatus.Error(errCode, "test error") 480 481 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 482 var request = &adminpb.GetServiceAccountRequest{ 483 Name: formattedName, 484 } 485 486 c, err := NewIamClient(context.Background(), clientOpt) 487 if err != nil { 488 t.Fatal(err) 489 } 490 491 resp, err := c.GetServiceAccount(context.Background(), request) 492 493 if st, ok := gstatus.FromError(err); !ok { 494 t.Errorf("got error %v, expected grpc error", err) 495 } else if c := st.Code(); c != errCode { 496 t.Errorf("got error code %q, want %q", c, errCode) 497 } 498 _ = resp 499} 500func TestIamCreateServiceAccount(t *testing.T) { 501 var name2 string = "name2-1052831874" 502 var projectId string = "projectId-1969970175" 503 var uniqueId string = "uniqueId-538310583" 504 var email string = "email96619420" 505 var displayName string = "displayName1615086568" 506 var etag []byte = []byte("21") 507 var oauth2ClientId string = "oauth2ClientId-1833466037" 508 var expectedResponse = &adminpb.ServiceAccount{ 509 Name: name2, 510 ProjectId: projectId, 511 UniqueId: uniqueId, 512 Email: email, 513 DisplayName: displayName, 514 Etag: etag, 515 Oauth2ClientId: oauth2ClientId, 516 } 517 518 mockIam.err = nil 519 mockIam.reqs = nil 520 521 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 522 523 var formattedName string = fmt.Sprintf("projects/%s", "[PROJECT]") 524 var accountId string = "accountId-803333011" 525 var request = &adminpb.CreateServiceAccountRequest{ 526 Name: formattedName, 527 AccountId: accountId, 528 } 529 530 c, err := NewIamClient(context.Background(), clientOpt) 531 if err != nil { 532 t.Fatal(err) 533 } 534 535 resp, err := c.CreateServiceAccount(context.Background(), request) 536 537 if err != nil { 538 t.Fatal(err) 539 } 540 541 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 542 t.Errorf("wrong request %q, want %q", got, want) 543 } 544 545 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 546 t.Errorf("wrong response %q, want %q)", got, want) 547 } 548} 549 550func TestIamCreateServiceAccountError(t *testing.T) { 551 errCode := codes.PermissionDenied 552 mockIam.err = gstatus.Error(errCode, "test error") 553 554 var formattedName string = fmt.Sprintf("projects/%s", "[PROJECT]") 555 var accountId string = "accountId-803333011" 556 var request = &adminpb.CreateServiceAccountRequest{ 557 Name: formattedName, 558 AccountId: accountId, 559 } 560 561 c, err := NewIamClient(context.Background(), clientOpt) 562 if err != nil { 563 t.Fatal(err) 564 } 565 566 resp, err := c.CreateServiceAccount(context.Background(), request) 567 568 if st, ok := gstatus.FromError(err); !ok { 569 t.Errorf("got error %v, expected grpc error", err) 570 } else if c := st.Code(); c != errCode { 571 t.Errorf("got error code %q, want %q", c, errCode) 572 } 573 _ = resp 574} 575func TestIamUpdateServiceAccount(t *testing.T) { 576 var name string = "name3373707" 577 var projectId string = "projectId-1969970175" 578 var uniqueId string = "uniqueId-538310583" 579 var email string = "email96619420" 580 var displayName string = "displayName1615086568" 581 var etag2 []byte = []byte("-120") 582 var oauth2ClientId string = "oauth2ClientId-1833466037" 583 var expectedResponse = &adminpb.ServiceAccount{ 584 Name: name, 585 ProjectId: projectId, 586 UniqueId: uniqueId, 587 Email: email, 588 DisplayName: displayName, 589 Etag: etag2, 590 Oauth2ClientId: oauth2ClientId, 591 } 592 593 mockIam.err = nil 594 mockIam.reqs = nil 595 596 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 597 598 var etag []byte = []byte("21") 599 var request = &adminpb.ServiceAccount{ 600 Etag: etag, 601 } 602 603 c, err := NewIamClient(context.Background(), clientOpt) 604 if err != nil { 605 t.Fatal(err) 606 } 607 608 resp, err := c.UpdateServiceAccount(context.Background(), request) 609 610 if err != nil { 611 t.Fatal(err) 612 } 613 614 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 615 t.Errorf("wrong request %q, want %q", got, want) 616 } 617 618 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 619 t.Errorf("wrong response %q, want %q)", got, want) 620 } 621} 622 623func TestIamUpdateServiceAccountError(t *testing.T) { 624 errCode := codes.PermissionDenied 625 mockIam.err = gstatus.Error(errCode, "test error") 626 627 var etag []byte = []byte("21") 628 var request = &adminpb.ServiceAccount{ 629 Etag: etag, 630 } 631 632 c, err := NewIamClient(context.Background(), clientOpt) 633 if err != nil { 634 t.Fatal(err) 635 } 636 637 resp, err := c.UpdateServiceAccount(context.Background(), request) 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 _ = resp 645} 646func TestIamDeleteServiceAccount(t *testing.T) { 647 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 648 649 mockIam.err = nil 650 mockIam.reqs = nil 651 652 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 653 654 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 655 var request = &adminpb.DeleteServiceAccountRequest{ 656 Name: formattedName, 657 } 658 659 c, err := NewIamClient(context.Background(), clientOpt) 660 if err != nil { 661 t.Fatal(err) 662 } 663 664 err = c.DeleteServiceAccount(context.Background(), request) 665 666 if err != nil { 667 t.Fatal(err) 668 } 669 670 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 671 t.Errorf("wrong request %q, want %q", got, want) 672 } 673 674} 675 676func TestIamDeleteServiceAccountError(t *testing.T) { 677 errCode := codes.PermissionDenied 678 mockIam.err = gstatus.Error(errCode, "test error") 679 680 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 681 var request = &adminpb.DeleteServiceAccountRequest{ 682 Name: formattedName, 683 } 684 685 c, err := NewIamClient(context.Background(), clientOpt) 686 if err != nil { 687 t.Fatal(err) 688 } 689 690 err = c.DeleteServiceAccount(context.Background(), request) 691 692 if st, ok := gstatus.FromError(err); !ok { 693 t.Errorf("got error %v, expected grpc error", err) 694 } else if c := st.Code(); c != errCode { 695 t.Errorf("got error code %q, want %q", c, errCode) 696 } 697} 698func TestIamListServiceAccountKeys(t *testing.T) { 699 var expectedResponse *adminpb.ListServiceAccountKeysResponse = &adminpb.ListServiceAccountKeysResponse{} 700 701 mockIam.err = nil 702 mockIam.reqs = nil 703 704 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 705 706 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 707 var request = &adminpb.ListServiceAccountKeysRequest{ 708 Name: formattedName, 709 } 710 711 c, err := NewIamClient(context.Background(), clientOpt) 712 if err != nil { 713 t.Fatal(err) 714 } 715 716 resp, err := c.ListServiceAccountKeys(context.Background(), request) 717 718 if err != nil { 719 t.Fatal(err) 720 } 721 722 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 723 t.Errorf("wrong request %q, want %q", got, want) 724 } 725 726 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 727 t.Errorf("wrong response %q, want %q)", got, want) 728 } 729} 730 731func TestIamListServiceAccountKeysError(t *testing.T) { 732 errCode := codes.PermissionDenied 733 mockIam.err = gstatus.Error(errCode, "test error") 734 735 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 736 var request = &adminpb.ListServiceAccountKeysRequest{ 737 Name: formattedName, 738 } 739 740 c, err := NewIamClient(context.Background(), clientOpt) 741 if err != nil { 742 t.Fatal(err) 743 } 744 745 resp, err := c.ListServiceAccountKeys(context.Background(), request) 746 747 if st, ok := gstatus.FromError(err); !ok { 748 t.Errorf("got error %v, expected grpc error", err) 749 } else if c := st.Code(); c != errCode { 750 t.Errorf("got error code %q, want %q", c, errCode) 751 } 752 _ = resp 753} 754func TestIamGetServiceAccountKey(t *testing.T) { 755 var name2 string = "name2-1052831874" 756 var privateKeyData []byte = []byte("-58") 757 var publicKeyData []byte = []byte("-96") 758 var expectedResponse = &adminpb.ServiceAccountKey{ 759 Name: name2, 760 PrivateKeyData: privateKeyData, 761 PublicKeyData: publicKeyData, 762 } 763 764 mockIam.err = nil 765 mockIam.reqs = nil 766 767 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 768 769 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s/keys/%s", "[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]") 770 var request = &adminpb.GetServiceAccountKeyRequest{ 771 Name: formattedName, 772 } 773 774 c, err := NewIamClient(context.Background(), clientOpt) 775 if err != nil { 776 t.Fatal(err) 777 } 778 779 resp, err := c.GetServiceAccountKey(context.Background(), request) 780 781 if err != nil { 782 t.Fatal(err) 783 } 784 785 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 786 t.Errorf("wrong request %q, want %q", got, want) 787 } 788 789 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 790 t.Errorf("wrong response %q, want %q)", got, want) 791 } 792} 793 794func TestIamGetServiceAccountKeyError(t *testing.T) { 795 errCode := codes.PermissionDenied 796 mockIam.err = gstatus.Error(errCode, "test error") 797 798 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s/keys/%s", "[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]") 799 var request = &adminpb.GetServiceAccountKeyRequest{ 800 Name: formattedName, 801 } 802 803 c, err := NewIamClient(context.Background(), clientOpt) 804 if err != nil { 805 t.Fatal(err) 806 } 807 808 resp, err := c.GetServiceAccountKey(context.Background(), request) 809 810 if st, ok := gstatus.FromError(err); !ok { 811 t.Errorf("got error %v, expected grpc error", err) 812 } else if c := st.Code(); c != errCode { 813 t.Errorf("got error code %q, want %q", c, errCode) 814 } 815 _ = resp 816} 817func TestIamCreateServiceAccountKey(t *testing.T) { 818 var name2 string = "name2-1052831874" 819 var privateKeyData []byte = []byte("-58") 820 var publicKeyData []byte = []byte("-96") 821 var expectedResponse = &adminpb.ServiceAccountKey{ 822 Name: name2, 823 PrivateKeyData: privateKeyData, 824 PublicKeyData: publicKeyData, 825 } 826 827 mockIam.err = nil 828 mockIam.reqs = nil 829 830 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 831 832 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 833 var request = &adminpb.CreateServiceAccountKeyRequest{ 834 Name: formattedName, 835 } 836 837 c, err := NewIamClient(context.Background(), clientOpt) 838 if err != nil { 839 t.Fatal(err) 840 } 841 842 resp, err := c.CreateServiceAccountKey(context.Background(), request) 843 844 if err != nil { 845 t.Fatal(err) 846 } 847 848 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 849 t.Errorf("wrong request %q, want %q", got, want) 850 } 851 852 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 853 t.Errorf("wrong response %q, want %q)", got, want) 854 } 855} 856 857func TestIamCreateServiceAccountKeyError(t *testing.T) { 858 errCode := codes.PermissionDenied 859 mockIam.err = gstatus.Error(errCode, "test error") 860 861 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 862 var request = &adminpb.CreateServiceAccountKeyRequest{ 863 Name: formattedName, 864 } 865 866 c, err := NewIamClient(context.Background(), clientOpt) 867 if err != nil { 868 t.Fatal(err) 869 } 870 871 resp, err := c.CreateServiceAccountKey(context.Background(), request) 872 873 if st, ok := gstatus.FromError(err); !ok { 874 t.Errorf("got error %v, expected grpc error", err) 875 } else if c := st.Code(); c != errCode { 876 t.Errorf("got error code %q, want %q", c, errCode) 877 } 878 _ = resp 879} 880func TestIamDeleteServiceAccountKey(t *testing.T) { 881 var expectedResponse *emptypb.Empty = &emptypb.Empty{} 882 883 mockIam.err = nil 884 mockIam.reqs = nil 885 886 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 887 888 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s/keys/%s", "[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]") 889 var request = &adminpb.DeleteServiceAccountKeyRequest{ 890 Name: formattedName, 891 } 892 893 c, err := NewIamClient(context.Background(), clientOpt) 894 if err != nil { 895 t.Fatal(err) 896 } 897 898 err = c.DeleteServiceAccountKey(context.Background(), request) 899 900 if err != nil { 901 t.Fatal(err) 902 } 903 904 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 905 t.Errorf("wrong request %q, want %q", got, want) 906 } 907 908} 909 910func TestIamDeleteServiceAccountKeyError(t *testing.T) { 911 errCode := codes.PermissionDenied 912 mockIam.err = gstatus.Error(errCode, "test error") 913 914 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s/keys/%s", "[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]") 915 var request = &adminpb.DeleteServiceAccountKeyRequest{ 916 Name: formattedName, 917 } 918 919 c, err := NewIamClient(context.Background(), clientOpt) 920 if err != nil { 921 t.Fatal(err) 922 } 923 924 err = c.DeleteServiceAccountKey(context.Background(), request) 925 926 if st, ok := gstatus.FromError(err); !ok { 927 t.Errorf("got error %v, expected grpc error", err) 928 } else if c := st.Code(); c != errCode { 929 t.Errorf("got error code %q, want %q", c, errCode) 930 } 931} 932func TestIamSignBlob(t *testing.T) { 933 var keyId string = "keyId-1134673157" 934 var signature []byte = []byte("-72") 935 var expectedResponse = &adminpb.SignBlobResponse{ 936 KeyId: keyId, 937 Signature: signature, 938 } 939 940 mockIam.err = nil 941 mockIam.reqs = nil 942 943 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 944 945 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 946 var bytesToSign []byte = []byte("45") 947 var request = &adminpb.SignBlobRequest{ 948 Name: formattedName, 949 BytesToSign: bytesToSign, 950 } 951 952 c, err := NewIamClient(context.Background(), clientOpt) 953 if err != nil { 954 t.Fatal(err) 955 } 956 957 resp, err := c.SignBlob(context.Background(), request) 958 959 if err != nil { 960 t.Fatal(err) 961 } 962 963 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 964 t.Errorf("wrong request %q, want %q", got, want) 965 } 966 967 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 968 t.Errorf("wrong response %q, want %q)", got, want) 969 } 970} 971 972func TestIamSignBlobError(t *testing.T) { 973 errCode := codes.PermissionDenied 974 mockIam.err = gstatus.Error(errCode, "test error") 975 976 var formattedName string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 977 var bytesToSign []byte = []byte("45") 978 var request = &adminpb.SignBlobRequest{ 979 Name: formattedName, 980 BytesToSign: bytesToSign, 981 } 982 983 c, err := NewIamClient(context.Background(), clientOpt) 984 if err != nil { 985 t.Fatal(err) 986 } 987 988 resp, err := c.SignBlob(context.Background(), request) 989 990 if st, ok := gstatus.FromError(err); !ok { 991 t.Errorf("got error %v, expected grpc error", err) 992 } else if c := st.Code(); c != errCode { 993 t.Errorf("got error code %q, want %q", c, errCode) 994 } 995 _ = resp 996} 997func TestIamGetIamPolicy(t *testing.T) { 998 var version int32 = 351608024 999 var etag []byte = []byte("21") 1000 var expectedResponse = &iampb.Policy{ 1001 Version: version, 1002 Etag: etag, 1003 } 1004 1005 mockIam.err = nil 1006 mockIam.reqs = nil 1007 1008 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1009 1010 var formattedResource string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 1011 var request = &iampb.GetIamPolicyRequest{ 1012 Resource: formattedResource, 1013 } 1014 1015 c, err := NewIamClient(context.Background(), clientOpt) 1016 if err != nil { 1017 t.Fatal(err) 1018 } 1019 1020 resp, err := c.getIamPolicy(context.Background(), request) 1021 1022 if err != nil { 1023 t.Fatal(err) 1024 } 1025 1026 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1027 t.Errorf("wrong request %q, want %q", got, want) 1028 } 1029 1030 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1031 t.Errorf("wrong response %q, want %q)", got, want) 1032 } 1033} 1034 1035func TestIamGetIamPolicyError(t *testing.T) { 1036 errCode := codes.PermissionDenied 1037 mockIam.err = gstatus.Error(errCode, "test error") 1038 1039 var formattedResource string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 1040 var request = &iampb.GetIamPolicyRequest{ 1041 Resource: formattedResource, 1042 } 1043 1044 c, err := NewIamClient(context.Background(), clientOpt) 1045 if err != nil { 1046 t.Fatal(err) 1047 } 1048 1049 resp, err := c.getIamPolicy(context.Background(), request) 1050 1051 if st, ok := gstatus.FromError(err); !ok { 1052 t.Errorf("got error %v, expected grpc error", err) 1053 } else if c := st.Code(); c != errCode { 1054 t.Errorf("got error code %q, want %q", c, errCode) 1055 } 1056 _ = resp 1057} 1058func TestIamSetIamPolicy(t *testing.T) { 1059 var version int32 = 351608024 1060 var etag []byte = []byte("21") 1061 var expectedResponse = &iampb.Policy{ 1062 Version: version, 1063 Etag: etag, 1064 } 1065 1066 mockIam.err = nil 1067 mockIam.reqs = nil 1068 1069 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1070 1071 var formattedResource string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 1072 var policy *iampb.Policy = &iampb.Policy{} 1073 var request = &iampb.SetIamPolicyRequest{ 1074 Resource: formattedResource, 1075 Policy: policy, 1076 } 1077 1078 c, err := NewIamClient(context.Background(), clientOpt) 1079 if err != nil { 1080 t.Fatal(err) 1081 } 1082 1083 resp, err := c.setIamPolicy(context.Background(), request) 1084 1085 if err != nil { 1086 t.Fatal(err) 1087 } 1088 1089 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1090 t.Errorf("wrong request %q, want %q", got, want) 1091 } 1092 1093 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1094 t.Errorf("wrong response %q, want %q)", got, want) 1095 } 1096} 1097 1098func TestIamSetIamPolicyError(t *testing.T) { 1099 errCode := codes.PermissionDenied 1100 mockIam.err = gstatus.Error(errCode, "test error") 1101 1102 var formattedResource string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 1103 var policy *iampb.Policy = &iampb.Policy{} 1104 var request = &iampb.SetIamPolicyRequest{ 1105 Resource: formattedResource, 1106 Policy: policy, 1107 } 1108 1109 c, err := NewIamClient(context.Background(), clientOpt) 1110 if err != nil { 1111 t.Fatal(err) 1112 } 1113 1114 resp, err := c.setIamPolicy(context.Background(), request) 1115 1116 if st, ok := gstatus.FromError(err); !ok { 1117 t.Errorf("got error %v, expected grpc error", err) 1118 } else if c := st.Code(); c != errCode { 1119 t.Errorf("got error code %q, want %q", c, errCode) 1120 } 1121 _ = resp 1122} 1123func TestIamTestIamPermissions(t *testing.T) { 1124 var expectedResponse *iampb.TestIamPermissionsResponse = &iampb.TestIamPermissionsResponse{} 1125 1126 mockIam.err = nil 1127 mockIam.reqs = nil 1128 1129 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1130 1131 var formattedResource string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 1132 var permissions []string = nil 1133 var request = &iampb.TestIamPermissionsRequest{ 1134 Resource: formattedResource, 1135 Permissions: permissions, 1136 } 1137 1138 c, err := NewIamClient(context.Background(), clientOpt) 1139 if err != nil { 1140 t.Fatal(err) 1141 } 1142 1143 resp, err := c.TestIamPermissions(context.Background(), request) 1144 1145 if err != nil { 1146 t.Fatal(err) 1147 } 1148 1149 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1150 t.Errorf("wrong request %q, want %q", got, want) 1151 } 1152 1153 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1154 t.Errorf("wrong response %q, want %q)", got, want) 1155 } 1156} 1157 1158func TestIamTestIamPermissionsError(t *testing.T) { 1159 errCode := codes.PermissionDenied 1160 mockIam.err = gstatus.Error(errCode, "test error") 1161 1162 var formattedResource string = fmt.Sprintf("projects/%s/serviceAccounts/%s", "[PROJECT]", "[SERVICE_ACCOUNT]") 1163 var permissions []string = nil 1164 var request = &iampb.TestIamPermissionsRequest{ 1165 Resource: formattedResource, 1166 Permissions: permissions, 1167 } 1168 1169 c, err := NewIamClient(context.Background(), clientOpt) 1170 if err != nil { 1171 t.Fatal(err) 1172 } 1173 1174 resp, err := c.TestIamPermissions(context.Background(), request) 1175 1176 if st, ok := gstatus.FromError(err); !ok { 1177 t.Errorf("got error %v, expected grpc error", err) 1178 } else if c := st.Code(); c != errCode { 1179 t.Errorf("got error code %q, want %q", c, errCode) 1180 } 1181 _ = resp 1182} 1183func TestIamQueryGrantableRoles(t *testing.T) { 1184 var nextPageToken string = "nextPageToken-1530815211" 1185 var expectedResponse = &adminpb.QueryGrantableRolesResponse{ 1186 NextPageToken: nextPageToken, 1187 } 1188 1189 mockIam.err = nil 1190 mockIam.reqs = nil 1191 1192 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1193 1194 var fullResourceName string = "fullResourceName1300993644" 1195 var request = &adminpb.QueryGrantableRolesRequest{ 1196 FullResourceName: fullResourceName, 1197 } 1198 1199 c, err := NewIamClient(context.Background(), clientOpt) 1200 if err != nil { 1201 t.Fatal(err) 1202 } 1203 1204 resp, err := c.QueryGrantableRoles(context.Background(), request) 1205 1206 if err != nil { 1207 t.Fatal(err) 1208 } 1209 1210 if want, got := request, mockIam.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 TestIamQueryGrantableRolesError(t *testing.T) { 1220 errCode := codes.PermissionDenied 1221 mockIam.err = gstatus.Error(errCode, "test error") 1222 1223 var fullResourceName string = "fullResourceName1300993644" 1224 var request = &adminpb.QueryGrantableRolesRequest{ 1225 FullResourceName: fullResourceName, 1226 } 1227 1228 c, err := NewIamClient(context.Background(), clientOpt) 1229 if err != nil { 1230 t.Fatal(err) 1231 } 1232 1233 resp, err := c.QueryGrantableRoles(context.Background(), request) 1234 1235 if st, ok := gstatus.FromError(err); !ok { 1236 t.Errorf("got error %v, expected grpc error", err) 1237 } else if c := st.Code(); c != errCode { 1238 t.Errorf("got error code %q, want %q", c, errCode) 1239 } 1240 _ = resp 1241} 1242func TestIamSignJwt(t *testing.T) { 1243 var keyId string = "keyId-1134673157" 1244 var signedJwt string = "signedJwt-979546844" 1245 var expectedResponse = &adminpb.SignJwtResponse{ 1246 KeyId: keyId, 1247 SignedJwt: signedJwt, 1248 } 1249 1250 mockIam.err = nil 1251 mockIam.reqs = nil 1252 1253 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1254 1255 var name string = "name3373707" 1256 var payload string = "payload-786701938" 1257 var request = &adminpb.SignJwtRequest{ 1258 Name: name, 1259 Payload: payload, 1260 } 1261 1262 c, err := NewIamClient(context.Background(), clientOpt) 1263 if err != nil { 1264 t.Fatal(err) 1265 } 1266 1267 resp, err := c.SignJwt(context.Background(), request) 1268 1269 if err != nil { 1270 t.Fatal(err) 1271 } 1272 1273 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1274 t.Errorf("wrong request %q, want %q", got, want) 1275 } 1276 1277 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1278 t.Errorf("wrong response %q, want %q)", got, want) 1279 } 1280} 1281 1282func TestIamSignJwtError(t *testing.T) { 1283 errCode := codes.PermissionDenied 1284 mockIam.err = gstatus.Error(errCode, "test error") 1285 1286 var name string = "name3373707" 1287 var payload string = "payload-786701938" 1288 var request = &adminpb.SignJwtRequest{ 1289 Name: name, 1290 Payload: payload, 1291 } 1292 1293 c, err := NewIamClient(context.Background(), clientOpt) 1294 if err != nil { 1295 t.Fatal(err) 1296 } 1297 1298 resp, err := c.SignJwt(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 _ = resp 1306} 1307func TestIamListRoles(t *testing.T) { 1308 var nextPageToken string = "nextPageToken-1530815211" 1309 var expectedResponse = &adminpb.ListRolesResponse{ 1310 NextPageToken: nextPageToken, 1311 } 1312 1313 mockIam.err = nil 1314 mockIam.reqs = nil 1315 1316 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1317 1318 var request *adminpb.ListRolesRequest = &adminpb.ListRolesRequest{} 1319 1320 c, err := NewIamClient(context.Background(), clientOpt) 1321 if err != nil { 1322 t.Fatal(err) 1323 } 1324 1325 resp, err := c.ListRoles(context.Background(), request) 1326 1327 if err != nil { 1328 t.Fatal(err) 1329 } 1330 1331 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1332 t.Errorf("wrong request %q, want %q", got, want) 1333 } 1334 1335 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1336 t.Errorf("wrong response %q, want %q)", got, want) 1337 } 1338} 1339 1340func TestIamListRolesError(t *testing.T) { 1341 errCode := codes.PermissionDenied 1342 mockIam.err = gstatus.Error(errCode, "test error") 1343 1344 var request *adminpb.ListRolesRequest = &adminpb.ListRolesRequest{} 1345 1346 c, err := NewIamClient(context.Background(), clientOpt) 1347 if err != nil { 1348 t.Fatal(err) 1349 } 1350 1351 resp, err := c.ListRoles(context.Background(), request) 1352 1353 if st, ok := gstatus.FromError(err); !ok { 1354 t.Errorf("got error %v, expected grpc error", err) 1355 } else if c := st.Code(); c != errCode { 1356 t.Errorf("got error code %q, want %q", c, errCode) 1357 } 1358 _ = resp 1359} 1360func TestIamGetRole(t *testing.T) { 1361 var name string = "name3373707" 1362 var title string = "title110371416" 1363 var description string = "description-1724546052" 1364 var etag []byte = []byte("21") 1365 var deleted bool = false 1366 var expectedResponse = &adminpb.Role{ 1367 Name: name, 1368 Title: title, 1369 Description: description, 1370 Etag: etag, 1371 Deleted: deleted, 1372 } 1373 1374 mockIam.err = nil 1375 mockIam.reqs = nil 1376 1377 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1378 1379 var request *adminpb.GetRoleRequest = &adminpb.GetRoleRequest{} 1380 1381 c, err := NewIamClient(context.Background(), clientOpt) 1382 if err != nil { 1383 t.Fatal(err) 1384 } 1385 1386 resp, err := c.GetRole(context.Background(), request) 1387 1388 if err != nil { 1389 t.Fatal(err) 1390 } 1391 1392 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1393 t.Errorf("wrong request %q, want %q", got, want) 1394 } 1395 1396 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1397 t.Errorf("wrong response %q, want %q)", got, want) 1398 } 1399} 1400 1401func TestIamGetRoleError(t *testing.T) { 1402 errCode := codes.PermissionDenied 1403 mockIam.err = gstatus.Error(errCode, "test error") 1404 1405 var request *adminpb.GetRoleRequest = &adminpb.GetRoleRequest{} 1406 1407 c, err := NewIamClient(context.Background(), clientOpt) 1408 if err != nil { 1409 t.Fatal(err) 1410 } 1411 1412 resp, err := c.GetRole(context.Background(), request) 1413 1414 if st, ok := gstatus.FromError(err); !ok { 1415 t.Errorf("got error %v, expected grpc error", err) 1416 } else if c := st.Code(); c != errCode { 1417 t.Errorf("got error code %q, want %q", c, errCode) 1418 } 1419 _ = resp 1420} 1421func TestIamCreateRole(t *testing.T) { 1422 var name string = "name3373707" 1423 var title string = "title110371416" 1424 var description string = "description-1724546052" 1425 var etag []byte = []byte("21") 1426 var deleted bool = false 1427 var expectedResponse = &adminpb.Role{ 1428 Name: name, 1429 Title: title, 1430 Description: description, 1431 Etag: etag, 1432 Deleted: deleted, 1433 } 1434 1435 mockIam.err = nil 1436 mockIam.reqs = nil 1437 1438 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1439 1440 var request *adminpb.CreateRoleRequest = &adminpb.CreateRoleRequest{} 1441 1442 c, err := NewIamClient(context.Background(), clientOpt) 1443 if err != nil { 1444 t.Fatal(err) 1445 } 1446 1447 resp, err := c.CreateRole(context.Background(), request) 1448 1449 if err != nil { 1450 t.Fatal(err) 1451 } 1452 1453 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1454 t.Errorf("wrong request %q, want %q", got, want) 1455 } 1456 1457 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1458 t.Errorf("wrong response %q, want %q)", got, want) 1459 } 1460} 1461 1462func TestIamCreateRoleError(t *testing.T) { 1463 errCode := codes.PermissionDenied 1464 mockIam.err = gstatus.Error(errCode, "test error") 1465 1466 var request *adminpb.CreateRoleRequest = &adminpb.CreateRoleRequest{} 1467 1468 c, err := NewIamClient(context.Background(), clientOpt) 1469 if err != nil { 1470 t.Fatal(err) 1471 } 1472 1473 resp, err := c.CreateRole(context.Background(), request) 1474 1475 if st, ok := gstatus.FromError(err); !ok { 1476 t.Errorf("got error %v, expected grpc error", err) 1477 } else if c := st.Code(); c != errCode { 1478 t.Errorf("got error code %q, want %q", c, errCode) 1479 } 1480 _ = resp 1481} 1482func TestIamUpdateRole(t *testing.T) { 1483 var name string = "name3373707" 1484 var title string = "title110371416" 1485 var description string = "description-1724546052" 1486 var etag []byte = []byte("21") 1487 var deleted bool = false 1488 var expectedResponse = &adminpb.Role{ 1489 Name: name, 1490 Title: title, 1491 Description: description, 1492 Etag: etag, 1493 Deleted: deleted, 1494 } 1495 1496 mockIam.err = nil 1497 mockIam.reqs = nil 1498 1499 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1500 1501 var request *adminpb.UpdateRoleRequest = &adminpb.UpdateRoleRequest{} 1502 1503 c, err := NewIamClient(context.Background(), clientOpt) 1504 if err != nil { 1505 t.Fatal(err) 1506 } 1507 1508 resp, err := c.UpdateRole(context.Background(), request) 1509 1510 if err != nil { 1511 t.Fatal(err) 1512 } 1513 1514 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1515 t.Errorf("wrong request %q, want %q", got, want) 1516 } 1517 1518 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1519 t.Errorf("wrong response %q, want %q)", got, want) 1520 } 1521} 1522 1523func TestIamUpdateRoleError(t *testing.T) { 1524 errCode := codes.PermissionDenied 1525 mockIam.err = gstatus.Error(errCode, "test error") 1526 1527 var request *adminpb.UpdateRoleRequest = &adminpb.UpdateRoleRequest{} 1528 1529 c, err := NewIamClient(context.Background(), clientOpt) 1530 if err != nil { 1531 t.Fatal(err) 1532 } 1533 1534 resp, err := c.UpdateRole(context.Background(), request) 1535 1536 if st, ok := gstatus.FromError(err); !ok { 1537 t.Errorf("got error %v, expected grpc error", err) 1538 } else if c := st.Code(); c != errCode { 1539 t.Errorf("got error code %q, want %q", c, errCode) 1540 } 1541 _ = resp 1542} 1543func TestIamDeleteRole(t *testing.T) { 1544 var name string = "name3373707" 1545 var title string = "title110371416" 1546 var description string = "description-1724546052" 1547 var etag []byte = []byte("21") 1548 var deleted bool = false 1549 var expectedResponse = &adminpb.Role{ 1550 Name: name, 1551 Title: title, 1552 Description: description, 1553 Etag: etag, 1554 Deleted: deleted, 1555 } 1556 1557 mockIam.err = nil 1558 mockIam.reqs = nil 1559 1560 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1561 1562 var request *adminpb.DeleteRoleRequest = &adminpb.DeleteRoleRequest{} 1563 1564 c, err := NewIamClient(context.Background(), clientOpt) 1565 if err != nil { 1566 t.Fatal(err) 1567 } 1568 1569 resp, err := c.DeleteRole(context.Background(), request) 1570 1571 if err != nil { 1572 t.Fatal(err) 1573 } 1574 1575 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1576 t.Errorf("wrong request %q, want %q", got, want) 1577 } 1578 1579 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1580 t.Errorf("wrong response %q, want %q)", got, want) 1581 } 1582} 1583 1584func TestIamDeleteRoleError(t *testing.T) { 1585 errCode := codes.PermissionDenied 1586 mockIam.err = gstatus.Error(errCode, "test error") 1587 1588 var request *adminpb.DeleteRoleRequest = &adminpb.DeleteRoleRequest{} 1589 1590 c, err := NewIamClient(context.Background(), clientOpt) 1591 if err != nil { 1592 t.Fatal(err) 1593 } 1594 1595 resp, err := c.DeleteRole(context.Background(), request) 1596 1597 if st, ok := gstatus.FromError(err); !ok { 1598 t.Errorf("got error %v, expected grpc error", err) 1599 } else if c := st.Code(); c != errCode { 1600 t.Errorf("got error code %q, want %q", c, errCode) 1601 } 1602 _ = resp 1603} 1604func TestIamUndeleteRole(t *testing.T) { 1605 var name string = "name3373707" 1606 var title string = "title110371416" 1607 var description string = "description-1724546052" 1608 var etag []byte = []byte("21") 1609 var deleted bool = false 1610 var expectedResponse = &adminpb.Role{ 1611 Name: name, 1612 Title: title, 1613 Description: description, 1614 Etag: etag, 1615 Deleted: deleted, 1616 } 1617 1618 mockIam.err = nil 1619 mockIam.reqs = nil 1620 1621 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1622 1623 var request *adminpb.UndeleteRoleRequest = &adminpb.UndeleteRoleRequest{} 1624 1625 c, err := NewIamClient(context.Background(), clientOpt) 1626 if err != nil { 1627 t.Fatal(err) 1628 } 1629 1630 resp, err := c.UndeleteRole(context.Background(), request) 1631 1632 if err != nil { 1633 t.Fatal(err) 1634 } 1635 1636 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1637 t.Errorf("wrong request %q, want %q", got, want) 1638 } 1639 1640 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1641 t.Errorf("wrong response %q, want %q)", got, want) 1642 } 1643} 1644 1645func TestIamUndeleteRoleError(t *testing.T) { 1646 errCode := codes.PermissionDenied 1647 mockIam.err = gstatus.Error(errCode, "test error") 1648 1649 var request *adminpb.UndeleteRoleRequest = &adminpb.UndeleteRoleRequest{} 1650 1651 c, err := NewIamClient(context.Background(), clientOpt) 1652 if err != nil { 1653 t.Fatal(err) 1654 } 1655 1656 resp, err := c.UndeleteRole(context.Background(), request) 1657 1658 if st, ok := gstatus.FromError(err); !ok { 1659 t.Errorf("got error %v, expected grpc error", err) 1660 } else if c := st.Code(); c != errCode { 1661 t.Errorf("got error code %q, want %q", c, errCode) 1662 } 1663 _ = resp 1664} 1665func TestIamQueryTestablePermissions(t *testing.T) { 1666 var nextPageToken string = "nextPageToken-1530815211" 1667 var expectedResponse = &adminpb.QueryTestablePermissionsResponse{ 1668 NextPageToken: nextPageToken, 1669 } 1670 1671 mockIam.err = nil 1672 mockIam.reqs = nil 1673 1674 mockIam.resps = append(mockIam.resps[:0], expectedResponse) 1675 1676 var request *adminpb.QueryTestablePermissionsRequest = &adminpb.QueryTestablePermissionsRequest{} 1677 1678 c, err := NewIamClient(context.Background(), clientOpt) 1679 if err != nil { 1680 t.Fatal(err) 1681 } 1682 1683 resp, err := c.QueryTestablePermissions(context.Background(), request) 1684 1685 if err != nil { 1686 t.Fatal(err) 1687 } 1688 1689 if want, got := request, mockIam.reqs[0]; !proto.Equal(want, got) { 1690 t.Errorf("wrong request %q, want %q", got, want) 1691 } 1692 1693 if want, got := expectedResponse, resp; !proto.Equal(want, got) { 1694 t.Errorf("wrong response %q, want %q)", got, want) 1695 } 1696} 1697 1698func TestIamQueryTestablePermissionsError(t *testing.T) { 1699 errCode := codes.PermissionDenied 1700 mockIam.err = gstatus.Error(errCode, "test error") 1701 1702 var request *adminpb.QueryTestablePermissionsRequest = &adminpb.QueryTestablePermissionsRequest{} 1703 1704 c, err := NewIamClient(context.Background(), clientOpt) 1705 if err != nil { 1706 t.Fatal(err) 1707 } 1708 1709 resp, err := c.QueryTestablePermissions(context.Background(), request) 1710 1711 if st, ok := gstatus.FromError(err); !ok { 1712 t.Errorf("got error %v, expected grpc error", err) 1713 } else if c := st.Code(); c != errCode { 1714 t.Errorf("got error code %q, want %q", c, errCode) 1715 } 1716 _ = resp 1717} 1718