1 /* 2 * Copyright 2022 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.cloud.bigqueryconnection.v1; 18 19 import static com.google.cloud.bigqueryconnection.v1.ConnectionServiceClient.ListConnectionsPagedResponse; 20 21 import com.google.api.gax.core.NoCredentialsProvider; 22 import com.google.api.gax.grpc.GaxGrpcProperties; 23 import com.google.api.gax.grpc.testing.LocalChannelProvider; 24 import com.google.api.gax.grpc.testing.MockGrpcService; 25 import com.google.api.gax.grpc.testing.MockServiceHelper; 26 import com.google.api.gax.rpc.ApiClientHeaderProvider; 27 import com.google.api.gax.rpc.InvalidArgumentException; 28 import com.google.api.resourcenames.ResourceName; 29 import com.google.cloud.bigquery.connection.v1.Connection; 30 import com.google.cloud.bigquery.connection.v1.ConnectionName; 31 import com.google.cloud.bigquery.connection.v1.CreateConnectionRequest; 32 import com.google.cloud.bigquery.connection.v1.DeleteConnectionRequest; 33 import com.google.cloud.bigquery.connection.v1.GetConnectionRequest; 34 import com.google.cloud.bigquery.connection.v1.ListConnectionsRequest; 35 import com.google.cloud.bigquery.connection.v1.ListConnectionsResponse; 36 import com.google.cloud.bigquery.connection.v1.LocationName; 37 import com.google.cloud.bigquery.connection.v1.UpdateConnectionRequest; 38 import com.google.common.collect.Lists; 39 import com.google.iam.v1.AuditConfig; 40 import com.google.iam.v1.Binding; 41 import com.google.iam.v1.GetIamPolicyRequest; 42 import com.google.iam.v1.GetPolicyOptions; 43 import com.google.iam.v1.Policy; 44 import com.google.iam.v1.SetIamPolicyRequest; 45 import com.google.iam.v1.TestIamPermissionsRequest; 46 import com.google.iam.v1.TestIamPermissionsResponse; 47 import com.google.protobuf.AbstractMessage; 48 import com.google.protobuf.ByteString; 49 import com.google.protobuf.Empty; 50 import com.google.protobuf.FieldMask; 51 import io.grpc.StatusRuntimeException; 52 import java.io.IOException; 53 import java.util.ArrayList; 54 import java.util.Arrays; 55 import java.util.List; 56 import java.util.UUID; 57 import javax.annotation.Generated; 58 import org.junit.After; 59 import org.junit.AfterClass; 60 import org.junit.Assert; 61 import org.junit.Before; 62 import org.junit.BeforeClass; 63 import org.junit.Test; 64 65 @Generated("by gapic-generator-java") 66 public class ConnectionServiceClientTest { 67 private static MockConnectionService mockConnectionService; 68 private static MockServiceHelper mockServiceHelper; 69 private LocalChannelProvider channelProvider; 70 private ConnectionServiceClient client; 71 72 @BeforeClass startStaticServer()73 public static void startStaticServer() { 74 mockConnectionService = new MockConnectionService(); 75 mockServiceHelper = 76 new MockServiceHelper( 77 UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockConnectionService)); 78 mockServiceHelper.start(); 79 } 80 81 @AfterClass stopServer()82 public static void stopServer() { 83 mockServiceHelper.stop(); 84 } 85 86 @Before setUp()87 public void setUp() throws IOException { 88 mockServiceHelper.reset(); 89 channelProvider = mockServiceHelper.createChannelProvider(); 90 ConnectionServiceSettings settings = 91 ConnectionServiceSettings.newBuilder() 92 .setTransportChannelProvider(channelProvider) 93 .setCredentialsProvider(NoCredentialsProvider.create()) 94 .build(); 95 client = ConnectionServiceClient.create(settings); 96 } 97 98 @After tearDown()99 public void tearDown() throws Exception { 100 client.close(); 101 } 102 103 @Test createConnectionTest()104 public void createConnectionTest() throws Exception { 105 Connection expectedResponse = 106 Connection.newBuilder() 107 .setName(ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]").toString()) 108 .setFriendlyName("friendlyName461933014") 109 .setDescription("description-1724546052") 110 .setCreationTime(1932333101) 111 .setLastModifiedTime(-671513446) 112 .setHasCredential(true) 113 .build(); 114 mockConnectionService.addResponse(expectedResponse); 115 116 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 117 Connection connection = Connection.newBuilder().build(); 118 String connectionId = "connectionId1923106969"; 119 120 Connection actualResponse = client.createConnection(parent, connection, connectionId); 121 Assert.assertEquals(expectedResponse, actualResponse); 122 123 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 124 Assert.assertEquals(1, actualRequests.size()); 125 CreateConnectionRequest actualRequest = ((CreateConnectionRequest) actualRequests.get(0)); 126 127 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 128 Assert.assertEquals(connection, actualRequest.getConnection()); 129 Assert.assertEquals(connectionId, actualRequest.getConnectionId()); 130 Assert.assertTrue( 131 channelProvider.isHeaderSent( 132 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 133 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 134 } 135 136 @Test createConnectionExceptionTest()137 public void createConnectionExceptionTest() throws Exception { 138 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 139 mockConnectionService.addException(exception); 140 141 try { 142 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 143 Connection connection = Connection.newBuilder().build(); 144 String connectionId = "connectionId1923106969"; 145 client.createConnection(parent, connection, connectionId); 146 Assert.fail("No exception raised"); 147 } catch (InvalidArgumentException e) { 148 // Expected exception. 149 } 150 } 151 152 @Test createConnectionTest2()153 public void createConnectionTest2() throws Exception { 154 Connection expectedResponse = 155 Connection.newBuilder() 156 .setName(ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]").toString()) 157 .setFriendlyName("friendlyName461933014") 158 .setDescription("description-1724546052") 159 .setCreationTime(1932333101) 160 .setLastModifiedTime(-671513446) 161 .setHasCredential(true) 162 .build(); 163 mockConnectionService.addResponse(expectedResponse); 164 165 String parent = "parent-995424086"; 166 Connection connection = Connection.newBuilder().build(); 167 String connectionId = "connectionId1923106969"; 168 169 Connection actualResponse = client.createConnection(parent, connection, connectionId); 170 Assert.assertEquals(expectedResponse, actualResponse); 171 172 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 173 Assert.assertEquals(1, actualRequests.size()); 174 CreateConnectionRequest actualRequest = ((CreateConnectionRequest) actualRequests.get(0)); 175 176 Assert.assertEquals(parent, actualRequest.getParent()); 177 Assert.assertEquals(connection, actualRequest.getConnection()); 178 Assert.assertEquals(connectionId, actualRequest.getConnectionId()); 179 Assert.assertTrue( 180 channelProvider.isHeaderSent( 181 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 182 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 183 } 184 185 @Test createConnectionExceptionTest2()186 public void createConnectionExceptionTest2() throws Exception { 187 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 188 mockConnectionService.addException(exception); 189 190 try { 191 String parent = "parent-995424086"; 192 Connection connection = Connection.newBuilder().build(); 193 String connectionId = "connectionId1923106969"; 194 client.createConnection(parent, connection, connectionId); 195 Assert.fail("No exception raised"); 196 } catch (InvalidArgumentException e) { 197 // Expected exception. 198 } 199 } 200 201 @Test getConnectionTest()202 public void getConnectionTest() throws Exception { 203 Connection expectedResponse = 204 Connection.newBuilder() 205 .setName(ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]").toString()) 206 .setFriendlyName("friendlyName461933014") 207 .setDescription("description-1724546052") 208 .setCreationTime(1932333101) 209 .setLastModifiedTime(-671513446) 210 .setHasCredential(true) 211 .build(); 212 mockConnectionService.addResponse(expectedResponse); 213 214 ConnectionName name = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 215 216 Connection actualResponse = client.getConnection(name); 217 Assert.assertEquals(expectedResponse, actualResponse); 218 219 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 220 Assert.assertEquals(1, actualRequests.size()); 221 GetConnectionRequest actualRequest = ((GetConnectionRequest) actualRequests.get(0)); 222 223 Assert.assertEquals(name.toString(), actualRequest.getName()); 224 Assert.assertTrue( 225 channelProvider.isHeaderSent( 226 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 227 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 228 } 229 230 @Test getConnectionExceptionTest()231 public void getConnectionExceptionTest() throws Exception { 232 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 233 mockConnectionService.addException(exception); 234 235 try { 236 ConnectionName name = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 237 client.getConnection(name); 238 Assert.fail("No exception raised"); 239 } catch (InvalidArgumentException e) { 240 // Expected exception. 241 } 242 } 243 244 @Test getConnectionTest2()245 public void getConnectionTest2() throws Exception { 246 Connection expectedResponse = 247 Connection.newBuilder() 248 .setName(ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]").toString()) 249 .setFriendlyName("friendlyName461933014") 250 .setDescription("description-1724546052") 251 .setCreationTime(1932333101) 252 .setLastModifiedTime(-671513446) 253 .setHasCredential(true) 254 .build(); 255 mockConnectionService.addResponse(expectedResponse); 256 257 String name = "name3373707"; 258 259 Connection actualResponse = client.getConnection(name); 260 Assert.assertEquals(expectedResponse, actualResponse); 261 262 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 263 Assert.assertEquals(1, actualRequests.size()); 264 GetConnectionRequest actualRequest = ((GetConnectionRequest) actualRequests.get(0)); 265 266 Assert.assertEquals(name, actualRequest.getName()); 267 Assert.assertTrue( 268 channelProvider.isHeaderSent( 269 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 270 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 271 } 272 273 @Test getConnectionExceptionTest2()274 public void getConnectionExceptionTest2() throws Exception { 275 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 276 mockConnectionService.addException(exception); 277 278 try { 279 String name = "name3373707"; 280 client.getConnection(name); 281 Assert.fail("No exception raised"); 282 } catch (InvalidArgumentException e) { 283 // Expected exception. 284 } 285 } 286 287 @Test listConnectionsTest()288 public void listConnectionsTest() throws Exception { 289 Connection responsesElement = Connection.newBuilder().build(); 290 ListConnectionsResponse expectedResponse = 291 ListConnectionsResponse.newBuilder() 292 .setNextPageToken("") 293 .addAllConnections(Arrays.asList(responsesElement)) 294 .build(); 295 mockConnectionService.addResponse(expectedResponse); 296 297 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 298 299 ListConnectionsPagedResponse pagedListResponse = client.listConnections(parent); 300 301 List<Connection> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 302 303 Assert.assertEquals(1, resources.size()); 304 Assert.assertEquals(expectedResponse.getConnectionsList().get(0), resources.get(0)); 305 306 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 307 Assert.assertEquals(1, actualRequests.size()); 308 ListConnectionsRequest actualRequest = ((ListConnectionsRequest) actualRequests.get(0)); 309 310 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 311 Assert.assertTrue( 312 channelProvider.isHeaderSent( 313 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 314 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 315 } 316 317 @Test listConnectionsExceptionTest()318 public void listConnectionsExceptionTest() throws Exception { 319 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 320 mockConnectionService.addException(exception); 321 322 try { 323 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 324 client.listConnections(parent); 325 Assert.fail("No exception raised"); 326 } catch (InvalidArgumentException e) { 327 // Expected exception. 328 } 329 } 330 331 @Test listConnectionsTest2()332 public void listConnectionsTest2() throws Exception { 333 Connection responsesElement = Connection.newBuilder().build(); 334 ListConnectionsResponse expectedResponse = 335 ListConnectionsResponse.newBuilder() 336 .setNextPageToken("") 337 .addAllConnections(Arrays.asList(responsesElement)) 338 .build(); 339 mockConnectionService.addResponse(expectedResponse); 340 341 String parent = "parent-995424086"; 342 343 ListConnectionsPagedResponse pagedListResponse = client.listConnections(parent); 344 345 List<Connection> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 346 347 Assert.assertEquals(1, resources.size()); 348 Assert.assertEquals(expectedResponse.getConnectionsList().get(0), resources.get(0)); 349 350 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 351 Assert.assertEquals(1, actualRequests.size()); 352 ListConnectionsRequest actualRequest = ((ListConnectionsRequest) actualRequests.get(0)); 353 354 Assert.assertEquals(parent, actualRequest.getParent()); 355 Assert.assertTrue( 356 channelProvider.isHeaderSent( 357 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 358 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 359 } 360 361 @Test listConnectionsExceptionTest2()362 public void listConnectionsExceptionTest2() throws Exception { 363 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 364 mockConnectionService.addException(exception); 365 366 try { 367 String parent = "parent-995424086"; 368 client.listConnections(parent); 369 Assert.fail("No exception raised"); 370 } catch (InvalidArgumentException e) { 371 // Expected exception. 372 } 373 } 374 375 @Test updateConnectionTest()376 public void updateConnectionTest() throws Exception { 377 Connection expectedResponse = 378 Connection.newBuilder() 379 .setName(ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]").toString()) 380 .setFriendlyName("friendlyName461933014") 381 .setDescription("description-1724546052") 382 .setCreationTime(1932333101) 383 .setLastModifiedTime(-671513446) 384 .setHasCredential(true) 385 .build(); 386 mockConnectionService.addResponse(expectedResponse); 387 388 ConnectionName name = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 389 Connection connection = Connection.newBuilder().build(); 390 FieldMask updateMask = FieldMask.newBuilder().build(); 391 392 Connection actualResponse = client.updateConnection(name, connection, updateMask); 393 Assert.assertEquals(expectedResponse, actualResponse); 394 395 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 396 Assert.assertEquals(1, actualRequests.size()); 397 UpdateConnectionRequest actualRequest = ((UpdateConnectionRequest) actualRequests.get(0)); 398 399 Assert.assertEquals(name.toString(), actualRequest.getName()); 400 Assert.assertEquals(connection, actualRequest.getConnection()); 401 Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); 402 Assert.assertTrue( 403 channelProvider.isHeaderSent( 404 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 405 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 406 } 407 408 @Test updateConnectionExceptionTest()409 public void updateConnectionExceptionTest() throws Exception { 410 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 411 mockConnectionService.addException(exception); 412 413 try { 414 ConnectionName name = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 415 Connection connection = Connection.newBuilder().build(); 416 FieldMask updateMask = FieldMask.newBuilder().build(); 417 client.updateConnection(name, connection, updateMask); 418 Assert.fail("No exception raised"); 419 } catch (InvalidArgumentException e) { 420 // Expected exception. 421 } 422 } 423 424 @Test updateConnectionTest2()425 public void updateConnectionTest2() throws Exception { 426 Connection expectedResponse = 427 Connection.newBuilder() 428 .setName(ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]").toString()) 429 .setFriendlyName("friendlyName461933014") 430 .setDescription("description-1724546052") 431 .setCreationTime(1932333101) 432 .setLastModifiedTime(-671513446) 433 .setHasCredential(true) 434 .build(); 435 mockConnectionService.addResponse(expectedResponse); 436 437 String name = "name3373707"; 438 Connection connection = Connection.newBuilder().build(); 439 FieldMask updateMask = FieldMask.newBuilder().build(); 440 441 Connection actualResponse = client.updateConnection(name, connection, updateMask); 442 Assert.assertEquals(expectedResponse, actualResponse); 443 444 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 445 Assert.assertEquals(1, actualRequests.size()); 446 UpdateConnectionRequest actualRequest = ((UpdateConnectionRequest) actualRequests.get(0)); 447 448 Assert.assertEquals(name, actualRequest.getName()); 449 Assert.assertEquals(connection, actualRequest.getConnection()); 450 Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); 451 Assert.assertTrue( 452 channelProvider.isHeaderSent( 453 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 454 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 455 } 456 457 @Test updateConnectionExceptionTest2()458 public void updateConnectionExceptionTest2() throws Exception { 459 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 460 mockConnectionService.addException(exception); 461 462 try { 463 String name = "name3373707"; 464 Connection connection = Connection.newBuilder().build(); 465 FieldMask updateMask = FieldMask.newBuilder().build(); 466 client.updateConnection(name, connection, updateMask); 467 Assert.fail("No exception raised"); 468 } catch (InvalidArgumentException e) { 469 // Expected exception. 470 } 471 } 472 473 @Test deleteConnectionTest()474 public void deleteConnectionTest() throws Exception { 475 Empty expectedResponse = Empty.newBuilder().build(); 476 mockConnectionService.addResponse(expectedResponse); 477 478 ConnectionName name = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 479 480 client.deleteConnection(name); 481 482 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 483 Assert.assertEquals(1, actualRequests.size()); 484 DeleteConnectionRequest actualRequest = ((DeleteConnectionRequest) actualRequests.get(0)); 485 486 Assert.assertEquals(name.toString(), actualRequest.getName()); 487 Assert.assertTrue( 488 channelProvider.isHeaderSent( 489 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 490 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 491 } 492 493 @Test deleteConnectionExceptionTest()494 public void deleteConnectionExceptionTest() throws Exception { 495 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 496 mockConnectionService.addException(exception); 497 498 try { 499 ConnectionName name = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 500 client.deleteConnection(name); 501 Assert.fail("No exception raised"); 502 } catch (InvalidArgumentException e) { 503 // Expected exception. 504 } 505 } 506 507 @Test deleteConnectionTest2()508 public void deleteConnectionTest2() throws Exception { 509 Empty expectedResponse = Empty.newBuilder().build(); 510 mockConnectionService.addResponse(expectedResponse); 511 512 String name = "name3373707"; 513 514 client.deleteConnection(name); 515 516 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 517 Assert.assertEquals(1, actualRequests.size()); 518 DeleteConnectionRequest actualRequest = ((DeleteConnectionRequest) actualRequests.get(0)); 519 520 Assert.assertEquals(name, actualRequest.getName()); 521 Assert.assertTrue( 522 channelProvider.isHeaderSent( 523 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 524 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 525 } 526 527 @Test deleteConnectionExceptionTest2()528 public void deleteConnectionExceptionTest2() throws Exception { 529 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 530 mockConnectionService.addException(exception); 531 532 try { 533 String name = "name3373707"; 534 client.deleteConnection(name); 535 Assert.fail("No exception raised"); 536 } catch (InvalidArgumentException e) { 537 // Expected exception. 538 } 539 } 540 541 @Test getIamPolicyTest()542 public void getIamPolicyTest() throws Exception { 543 Policy expectedResponse = 544 Policy.newBuilder() 545 .setVersion(351608024) 546 .addAllBindings(new ArrayList<Binding>()) 547 .addAllAuditConfigs(new ArrayList<AuditConfig>()) 548 .setEtag(ByteString.EMPTY) 549 .build(); 550 mockConnectionService.addResponse(expectedResponse); 551 552 ResourceName resource = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 553 GetPolicyOptions options = GetPolicyOptions.newBuilder().build(); 554 555 Policy actualResponse = client.getIamPolicy(resource, options); 556 Assert.assertEquals(expectedResponse, actualResponse); 557 558 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 559 Assert.assertEquals(1, actualRequests.size()); 560 GetIamPolicyRequest actualRequest = ((GetIamPolicyRequest) actualRequests.get(0)); 561 562 Assert.assertEquals(resource.toString(), actualRequest.getResource()); 563 Assert.assertEquals(options, actualRequest.getOptions()); 564 Assert.assertTrue( 565 channelProvider.isHeaderSent( 566 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 567 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 568 } 569 570 @Test getIamPolicyExceptionTest()571 public void getIamPolicyExceptionTest() throws Exception { 572 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 573 mockConnectionService.addException(exception); 574 575 try { 576 ResourceName resource = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 577 GetPolicyOptions options = GetPolicyOptions.newBuilder().build(); 578 client.getIamPolicy(resource, options); 579 Assert.fail("No exception raised"); 580 } catch (InvalidArgumentException e) { 581 // Expected exception. 582 } 583 } 584 585 @Test getIamPolicyTest2()586 public void getIamPolicyTest2() throws Exception { 587 Policy expectedResponse = 588 Policy.newBuilder() 589 .setVersion(351608024) 590 .addAllBindings(new ArrayList<Binding>()) 591 .addAllAuditConfigs(new ArrayList<AuditConfig>()) 592 .setEtag(ByteString.EMPTY) 593 .build(); 594 mockConnectionService.addResponse(expectedResponse); 595 596 String resource = "resource-341064690"; 597 GetPolicyOptions options = GetPolicyOptions.newBuilder().build(); 598 599 Policy actualResponse = client.getIamPolicy(resource, options); 600 Assert.assertEquals(expectedResponse, actualResponse); 601 602 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 603 Assert.assertEquals(1, actualRequests.size()); 604 GetIamPolicyRequest actualRequest = ((GetIamPolicyRequest) actualRequests.get(0)); 605 606 Assert.assertEquals(resource, actualRequest.getResource()); 607 Assert.assertEquals(options, actualRequest.getOptions()); 608 Assert.assertTrue( 609 channelProvider.isHeaderSent( 610 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 611 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 612 } 613 614 @Test getIamPolicyExceptionTest2()615 public void getIamPolicyExceptionTest2() throws Exception { 616 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 617 mockConnectionService.addException(exception); 618 619 try { 620 String resource = "resource-341064690"; 621 GetPolicyOptions options = GetPolicyOptions.newBuilder().build(); 622 client.getIamPolicy(resource, options); 623 Assert.fail("No exception raised"); 624 } catch (InvalidArgumentException e) { 625 // Expected exception. 626 } 627 } 628 629 @Test setIamPolicyTest()630 public void setIamPolicyTest() throws Exception { 631 Policy expectedResponse = 632 Policy.newBuilder() 633 .setVersion(351608024) 634 .addAllBindings(new ArrayList<Binding>()) 635 .addAllAuditConfigs(new ArrayList<AuditConfig>()) 636 .setEtag(ByteString.EMPTY) 637 .build(); 638 mockConnectionService.addResponse(expectedResponse); 639 640 ResourceName resource = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 641 Policy policy = Policy.newBuilder().build(); 642 643 Policy actualResponse = client.setIamPolicy(resource, policy); 644 Assert.assertEquals(expectedResponse, actualResponse); 645 646 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 647 Assert.assertEquals(1, actualRequests.size()); 648 SetIamPolicyRequest actualRequest = ((SetIamPolicyRequest) actualRequests.get(0)); 649 650 Assert.assertEquals(resource.toString(), actualRequest.getResource()); 651 Assert.assertEquals(policy, actualRequest.getPolicy()); 652 Assert.assertTrue( 653 channelProvider.isHeaderSent( 654 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 655 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 656 } 657 658 @Test setIamPolicyExceptionTest()659 public void setIamPolicyExceptionTest() throws Exception { 660 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 661 mockConnectionService.addException(exception); 662 663 try { 664 ResourceName resource = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 665 Policy policy = Policy.newBuilder().build(); 666 client.setIamPolicy(resource, policy); 667 Assert.fail("No exception raised"); 668 } catch (InvalidArgumentException e) { 669 // Expected exception. 670 } 671 } 672 673 @Test setIamPolicyTest2()674 public void setIamPolicyTest2() throws Exception { 675 Policy expectedResponse = 676 Policy.newBuilder() 677 .setVersion(351608024) 678 .addAllBindings(new ArrayList<Binding>()) 679 .addAllAuditConfigs(new ArrayList<AuditConfig>()) 680 .setEtag(ByteString.EMPTY) 681 .build(); 682 mockConnectionService.addResponse(expectedResponse); 683 684 String resource = "resource-341064690"; 685 Policy policy = Policy.newBuilder().build(); 686 687 Policy actualResponse = client.setIamPolicy(resource, policy); 688 Assert.assertEquals(expectedResponse, actualResponse); 689 690 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 691 Assert.assertEquals(1, actualRequests.size()); 692 SetIamPolicyRequest actualRequest = ((SetIamPolicyRequest) actualRequests.get(0)); 693 694 Assert.assertEquals(resource, actualRequest.getResource()); 695 Assert.assertEquals(policy, actualRequest.getPolicy()); 696 Assert.assertTrue( 697 channelProvider.isHeaderSent( 698 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 699 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 700 } 701 702 @Test setIamPolicyExceptionTest2()703 public void setIamPolicyExceptionTest2() throws Exception { 704 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 705 mockConnectionService.addException(exception); 706 707 try { 708 String resource = "resource-341064690"; 709 Policy policy = Policy.newBuilder().build(); 710 client.setIamPolicy(resource, policy); 711 Assert.fail("No exception raised"); 712 } catch (InvalidArgumentException e) { 713 // Expected exception. 714 } 715 } 716 717 @Test testIamPermissionsTest()718 public void testIamPermissionsTest() throws Exception { 719 TestIamPermissionsResponse expectedResponse = 720 TestIamPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build(); 721 mockConnectionService.addResponse(expectedResponse); 722 723 ResourceName resource = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 724 List<String> permissions = new ArrayList<>(); 725 726 TestIamPermissionsResponse actualResponse = client.testIamPermissions(resource, permissions); 727 Assert.assertEquals(expectedResponse, actualResponse); 728 729 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 730 Assert.assertEquals(1, actualRequests.size()); 731 TestIamPermissionsRequest actualRequest = ((TestIamPermissionsRequest) actualRequests.get(0)); 732 733 Assert.assertEquals(resource.toString(), actualRequest.getResource()); 734 Assert.assertEquals(permissions, actualRequest.getPermissionsList()); 735 Assert.assertTrue( 736 channelProvider.isHeaderSent( 737 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 738 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 739 } 740 741 @Test testIamPermissionsExceptionTest()742 public void testIamPermissionsExceptionTest() throws Exception { 743 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 744 mockConnectionService.addException(exception); 745 746 try { 747 ResourceName resource = ConnectionName.of("[PROJECT]", "[LOCATION]", "[CONNECTION]"); 748 List<String> permissions = new ArrayList<>(); 749 client.testIamPermissions(resource, permissions); 750 Assert.fail("No exception raised"); 751 } catch (InvalidArgumentException e) { 752 // Expected exception. 753 } 754 } 755 756 @Test testIamPermissionsTest2()757 public void testIamPermissionsTest2() throws Exception { 758 TestIamPermissionsResponse expectedResponse = 759 TestIamPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build(); 760 mockConnectionService.addResponse(expectedResponse); 761 762 String resource = "resource-341064690"; 763 List<String> permissions = new ArrayList<>(); 764 765 TestIamPermissionsResponse actualResponse = client.testIamPermissions(resource, permissions); 766 Assert.assertEquals(expectedResponse, actualResponse); 767 768 List<AbstractMessage> actualRequests = mockConnectionService.getRequests(); 769 Assert.assertEquals(1, actualRequests.size()); 770 TestIamPermissionsRequest actualRequest = ((TestIamPermissionsRequest) actualRequests.get(0)); 771 772 Assert.assertEquals(resource, actualRequest.getResource()); 773 Assert.assertEquals(permissions, actualRequest.getPermissionsList()); 774 Assert.assertTrue( 775 channelProvider.isHeaderSent( 776 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 777 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 778 } 779 780 @Test testIamPermissionsExceptionTest2()781 public void testIamPermissionsExceptionTest2() throws Exception { 782 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 783 mockConnectionService.addException(exception); 784 785 try { 786 String resource = "resource-341064690"; 787 List<String> permissions = new ArrayList<>(); 788 client.testIamPermissions(resource, permissions); 789 Assert.fail("No exception raised"); 790 } catch (InvalidArgumentException e) { 791 // Expected exception. 792 } 793 } 794 } 795