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.aiplatform.v1beta1; 18 19 import static com.google.cloud.aiplatform.v1beta1.SpecialistPoolServiceClient.ListLocationsPagedResponse; 20 import static com.google.cloud.aiplatform.v1beta1.SpecialistPoolServiceClient.ListSpecialistPoolsPagedResponse; 21 22 import com.google.api.gax.core.NoCredentialsProvider; 23 import com.google.api.gax.grpc.GaxGrpcProperties; 24 import com.google.api.gax.grpc.testing.LocalChannelProvider; 25 import com.google.api.gax.grpc.testing.MockGrpcService; 26 import com.google.api.gax.grpc.testing.MockServiceHelper; 27 import com.google.api.gax.rpc.ApiClientHeaderProvider; 28 import com.google.api.gax.rpc.InvalidArgumentException; 29 import com.google.api.gax.rpc.StatusCode; 30 import com.google.cloud.location.GetLocationRequest; 31 import com.google.cloud.location.ListLocationsRequest; 32 import com.google.cloud.location.ListLocationsResponse; 33 import com.google.cloud.location.Location; 34 import com.google.common.collect.Lists; 35 import com.google.iam.v1.AuditConfig; 36 import com.google.iam.v1.Binding; 37 import com.google.iam.v1.GetIamPolicyRequest; 38 import com.google.iam.v1.GetPolicyOptions; 39 import com.google.iam.v1.Policy; 40 import com.google.iam.v1.SetIamPolicyRequest; 41 import com.google.iam.v1.TestIamPermissionsRequest; 42 import com.google.iam.v1.TestIamPermissionsResponse; 43 import com.google.longrunning.Operation; 44 import com.google.protobuf.AbstractMessage; 45 import com.google.protobuf.Any; 46 import com.google.protobuf.ByteString; 47 import com.google.protobuf.Empty; 48 import com.google.protobuf.FieldMask; 49 import io.grpc.StatusRuntimeException; 50 import java.io.IOException; 51 import java.util.ArrayList; 52 import java.util.Arrays; 53 import java.util.HashMap; 54 import java.util.List; 55 import java.util.UUID; 56 import java.util.concurrent.ExecutionException; 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 SpecialistPoolServiceClientTest { 67 private static MockIAMPolicy mockIAMPolicy; 68 private static MockLocations mockLocations; 69 private static MockServiceHelper mockServiceHelper; 70 private static MockSpecialistPoolService mockSpecialistPoolService; 71 private LocalChannelProvider channelProvider; 72 private SpecialistPoolServiceClient client; 73 74 @BeforeClass startStaticServer()75 public static void startStaticServer() { 76 mockSpecialistPoolService = new MockSpecialistPoolService(); 77 mockLocations = new MockLocations(); 78 mockIAMPolicy = new MockIAMPolicy(); 79 mockServiceHelper = 80 new MockServiceHelper( 81 UUID.randomUUID().toString(), 82 Arrays.<MockGrpcService>asList( 83 mockSpecialistPoolService, mockLocations, mockIAMPolicy)); 84 mockServiceHelper.start(); 85 } 86 87 @AfterClass stopServer()88 public static void stopServer() { 89 mockServiceHelper.stop(); 90 } 91 92 @Before setUp()93 public void setUp() throws IOException { 94 mockServiceHelper.reset(); 95 channelProvider = mockServiceHelper.createChannelProvider(); 96 SpecialistPoolServiceSettings settings = 97 SpecialistPoolServiceSettings.newBuilder() 98 .setTransportChannelProvider(channelProvider) 99 .setCredentialsProvider(NoCredentialsProvider.create()) 100 .build(); 101 client = SpecialistPoolServiceClient.create(settings); 102 } 103 104 @After tearDown()105 public void tearDown() throws Exception { 106 client.close(); 107 } 108 109 @Test createSpecialistPoolTest()110 public void createSpecialistPoolTest() throws Exception { 111 SpecialistPool expectedResponse = 112 SpecialistPool.newBuilder() 113 .setName( 114 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]").toString()) 115 .setDisplayName("displayName1714148973") 116 .setSpecialistManagersCount(-984151356) 117 .addAllSpecialistManagerEmails(new ArrayList<String>()) 118 .addAllPendingDataLabelingJobs(new ArrayList<String>()) 119 .addAllSpecialistWorkerEmails(new ArrayList<String>()) 120 .build(); 121 Operation resultOperation = 122 Operation.newBuilder() 123 .setName("createSpecialistPoolTest") 124 .setDone(true) 125 .setResponse(Any.pack(expectedResponse)) 126 .build(); 127 mockSpecialistPoolService.addResponse(resultOperation); 128 129 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 130 SpecialistPool specialistPool = SpecialistPool.newBuilder().build(); 131 132 SpecialistPool actualResponse = client.createSpecialistPoolAsync(parent, specialistPool).get(); 133 Assert.assertEquals(expectedResponse, actualResponse); 134 135 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 136 Assert.assertEquals(1, actualRequests.size()); 137 CreateSpecialistPoolRequest actualRequest = 138 ((CreateSpecialistPoolRequest) actualRequests.get(0)); 139 140 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 141 Assert.assertEquals(specialistPool, actualRequest.getSpecialistPool()); 142 Assert.assertTrue( 143 channelProvider.isHeaderSent( 144 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 145 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 146 } 147 148 @Test createSpecialistPoolExceptionTest()149 public void createSpecialistPoolExceptionTest() throws Exception { 150 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 151 mockSpecialistPoolService.addException(exception); 152 153 try { 154 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 155 SpecialistPool specialistPool = SpecialistPool.newBuilder().build(); 156 client.createSpecialistPoolAsync(parent, specialistPool).get(); 157 Assert.fail("No exception raised"); 158 } catch (ExecutionException e) { 159 Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); 160 InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); 161 Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); 162 } 163 } 164 165 @Test createSpecialistPoolTest2()166 public void createSpecialistPoolTest2() throws Exception { 167 SpecialistPool expectedResponse = 168 SpecialistPool.newBuilder() 169 .setName( 170 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]").toString()) 171 .setDisplayName("displayName1714148973") 172 .setSpecialistManagersCount(-984151356) 173 .addAllSpecialistManagerEmails(new ArrayList<String>()) 174 .addAllPendingDataLabelingJobs(new ArrayList<String>()) 175 .addAllSpecialistWorkerEmails(new ArrayList<String>()) 176 .build(); 177 Operation resultOperation = 178 Operation.newBuilder() 179 .setName("createSpecialistPoolTest") 180 .setDone(true) 181 .setResponse(Any.pack(expectedResponse)) 182 .build(); 183 mockSpecialistPoolService.addResponse(resultOperation); 184 185 String parent = "parent-995424086"; 186 SpecialistPool specialistPool = SpecialistPool.newBuilder().build(); 187 188 SpecialistPool actualResponse = client.createSpecialistPoolAsync(parent, specialistPool).get(); 189 Assert.assertEquals(expectedResponse, actualResponse); 190 191 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 192 Assert.assertEquals(1, actualRequests.size()); 193 CreateSpecialistPoolRequest actualRequest = 194 ((CreateSpecialistPoolRequest) actualRequests.get(0)); 195 196 Assert.assertEquals(parent, actualRequest.getParent()); 197 Assert.assertEquals(specialistPool, actualRequest.getSpecialistPool()); 198 Assert.assertTrue( 199 channelProvider.isHeaderSent( 200 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 201 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 202 } 203 204 @Test createSpecialistPoolExceptionTest2()205 public void createSpecialistPoolExceptionTest2() throws Exception { 206 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 207 mockSpecialistPoolService.addException(exception); 208 209 try { 210 String parent = "parent-995424086"; 211 SpecialistPool specialistPool = SpecialistPool.newBuilder().build(); 212 client.createSpecialistPoolAsync(parent, specialistPool).get(); 213 Assert.fail("No exception raised"); 214 } catch (ExecutionException e) { 215 Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); 216 InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); 217 Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); 218 } 219 } 220 221 @Test getSpecialistPoolTest()222 public void getSpecialistPoolTest() throws Exception { 223 SpecialistPool expectedResponse = 224 SpecialistPool.newBuilder() 225 .setName( 226 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]").toString()) 227 .setDisplayName("displayName1714148973") 228 .setSpecialistManagersCount(-984151356) 229 .addAllSpecialistManagerEmails(new ArrayList<String>()) 230 .addAllPendingDataLabelingJobs(new ArrayList<String>()) 231 .addAllSpecialistWorkerEmails(new ArrayList<String>()) 232 .build(); 233 mockSpecialistPoolService.addResponse(expectedResponse); 234 235 SpecialistPoolName name = SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]"); 236 237 SpecialistPool actualResponse = client.getSpecialistPool(name); 238 Assert.assertEquals(expectedResponse, actualResponse); 239 240 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 241 Assert.assertEquals(1, actualRequests.size()); 242 GetSpecialistPoolRequest actualRequest = ((GetSpecialistPoolRequest) actualRequests.get(0)); 243 244 Assert.assertEquals(name.toString(), actualRequest.getName()); 245 Assert.assertTrue( 246 channelProvider.isHeaderSent( 247 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 248 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 249 } 250 251 @Test getSpecialistPoolExceptionTest()252 public void getSpecialistPoolExceptionTest() throws Exception { 253 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 254 mockSpecialistPoolService.addException(exception); 255 256 try { 257 SpecialistPoolName name = 258 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]"); 259 client.getSpecialistPool(name); 260 Assert.fail("No exception raised"); 261 } catch (InvalidArgumentException e) { 262 // Expected exception. 263 } 264 } 265 266 @Test getSpecialistPoolTest2()267 public void getSpecialistPoolTest2() throws Exception { 268 SpecialistPool expectedResponse = 269 SpecialistPool.newBuilder() 270 .setName( 271 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]").toString()) 272 .setDisplayName("displayName1714148973") 273 .setSpecialistManagersCount(-984151356) 274 .addAllSpecialistManagerEmails(new ArrayList<String>()) 275 .addAllPendingDataLabelingJobs(new ArrayList<String>()) 276 .addAllSpecialistWorkerEmails(new ArrayList<String>()) 277 .build(); 278 mockSpecialistPoolService.addResponse(expectedResponse); 279 280 String name = "name3373707"; 281 282 SpecialistPool actualResponse = client.getSpecialistPool(name); 283 Assert.assertEquals(expectedResponse, actualResponse); 284 285 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 286 Assert.assertEquals(1, actualRequests.size()); 287 GetSpecialistPoolRequest actualRequest = ((GetSpecialistPoolRequest) actualRequests.get(0)); 288 289 Assert.assertEquals(name, actualRequest.getName()); 290 Assert.assertTrue( 291 channelProvider.isHeaderSent( 292 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 293 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 294 } 295 296 @Test getSpecialistPoolExceptionTest2()297 public void getSpecialistPoolExceptionTest2() throws Exception { 298 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 299 mockSpecialistPoolService.addException(exception); 300 301 try { 302 String name = "name3373707"; 303 client.getSpecialistPool(name); 304 Assert.fail("No exception raised"); 305 } catch (InvalidArgumentException e) { 306 // Expected exception. 307 } 308 } 309 310 @Test listSpecialistPoolsTest()311 public void listSpecialistPoolsTest() throws Exception { 312 SpecialistPool responsesElement = SpecialistPool.newBuilder().build(); 313 ListSpecialistPoolsResponse expectedResponse = 314 ListSpecialistPoolsResponse.newBuilder() 315 .setNextPageToken("") 316 .addAllSpecialistPools(Arrays.asList(responsesElement)) 317 .build(); 318 mockSpecialistPoolService.addResponse(expectedResponse); 319 320 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 321 322 ListSpecialistPoolsPagedResponse pagedListResponse = client.listSpecialistPools(parent); 323 324 List<SpecialistPool> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 325 326 Assert.assertEquals(1, resources.size()); 327 Assert.assertEquals(expectedResponse.getSpecialistPoolsList().get(0), resources.get(0)); 328 329 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 330 Assert.assertEquals(1, actualRequests.size()); 331 ListSpecialistPoolsRequest actualRequest = ((ListSpecialistPoolsRequest) actualRequests.get(0)); 332 333 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 334 Assert.assertTrue( 335 channelProvider.isHeaderSent( 336 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 337 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 338 } 339 340 @Test listSpecialistPoolsExceptionTest()341 public void listSpecialistPoolsExceptionTest() throws Exception { 342 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 343 mockSpecialistPoolService.addException(exception); 344 345 try { 346 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 347 client.listSpecialistPools(parent); 348 Assert.fail("No exception raised"); 349 } catch (InvalidArgumentException e) { 350 // Expected exception. 351 } 352 } 353 354 @Test listSpecialistPoolsTest2()355 public void listSpecialistPoolsTest2() throws Exception { 356 SpecialistPool responsesElement = SpecialistPool.newBuilder().build(); 357 ListSpecialistPoolsResponse expectedResponse = 358 ListSpecialistPoolsResponse.newBuilder() 359 .setNextPageToken("") 360 .addAllSpecialistPools(Arrays.asList(responsesElement)) 361 .build(); 362 mockSpecialistPoolService.addResponse(expectedResponse); 363 364 String parent = "parent-995424086"; 365 366 ListSpecialistPoolsPagedResponse pagedListResponse = client.listSpecialistPools(parent); 367 368 List<SpecialistPool> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 369 370 Assert.assertEquals(1, resources.size()); 371 Assert.assertEquals(expectedResponse.getSpecialistPoolsList().get(0), resources.get(0)); 372 373 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 374 Assert.assertEquals(1, actualRequests.size()); 375 ListSpecialistPoolsRequest actualRequest = ((ListSpecialistPoolsRequest) actualRequests.get(0)); 376 377 Assert.assertEquals(parent, actualRequest.getParent()); 378 Assert.assertTrue( 379 channelProvider.isHeaderSent( 380 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 381 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 382 } 383 384 @Test listSpecialistPoolsExceptionTest2()385 public void listSpecialistPoolsExceptionTest2() throws Exception { 386 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 387 mockSpecialistPoolService.addException(exception); 388 389 try { 390 String parent = "parent-995424086"; 391 client.listSpecialistPools(parent); 392 Assert.fail("No exception raised"); 393 } catch (InvalidArgumentException e) { 394 // Expected exception. 395 } 396 } 397 398 @Test deleteSpecialistPoolTest()399 public void deleteSpecialistPoolTest() throws Exception { 400 Empty expectedResponse = Empty.newBuilder().build(); 401 Operation resultOperation = 402 Operation.newBuilder() 403 .setName("deleteSpecialistPoolTest") 404 .setDone(true) 405 .setResponse(Any.pack(expectedResponse)) 406 .build(); 407 mockSpecialistPoolService.addResponse(resultOperation); 408 409 SpecialistPoolName name = SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]"); 410 411 client.deleteSpecialistPoolAsync(name).get(); 412 413 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 414 Assert.assertEquals(1, actualRequests.size()); 415 DeleteSpecialistPoolRequest actualRequest = 416 ((DeleteSpecialistPoolRequest) actualRequests.get(0)); 417 418 Assert.assertEquals(name.toString(), actualRequest.getName()); 419 Assert.assertTrue( 420 channelProvider.isHeaderSent( 421 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 422 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 423 } 424 425 @Test deleteSpecialistPoolExceptionTest()426 public void deleteSpecialistPoolExceptionTest() throws Exception { 427 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 428 mockSpecialistPoolService.addException(exception); 429 430 try { 431 SpecialistPoolName name = 432 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]"); 433 client.deleteSpecialistPoolAsync(name).get(); 434 Assert.fail("No exception raised"); 435 } catch (ExecutionException e) { 436 Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); 437 InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); 438 Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); 439 } 440 } 441 442 @Test deleteSpecialistPoolTest2()443 public void deleteSpecialistPoolTest2() throws Exception { 444 Empty expectedResponse = Empty.newBuilder().build(); 445 Operation resultOperation = 446 Operation.newBuilder() 447 .setName("deleteSpecialistPoolTest") 448 .setDone(true) 449 .setResponse(Any.pack(expectedResponse)) 450 .build(); 451 mockSpecialistPoolService.addResponse(resultOperation); 452 453 String name = "name3373707"; 454 455 client.deleteSpecialistPoolAsync(name).get(); 456 457 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 458 Assert.assertEquals(1, actualRequests.size()); 459 DeleteSpecialistPoolRequest actualRequest = 460 ((DeleteSpecialistPoolRequest) actualRequests.get(0)); 461 462 Assert.assertEquals(name, actualRequest.getName()); 463 Assert.assertTrue( 464 channelProvider.isHeaderSent( 465 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 466 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 467 } 468 469 @Test deleteSpecialistPoolExceptionTest2()470 public void deleteSpecialistPoolExceptionTest2() throws Exception { 471 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 472 mockSpecialistPoolService.addException(exception); 473 474 try { 475 String name = "name3373707"; 476 client.deleteSpecialistPoolAsync(name).get(); 477 Assert.fail("No exception raised"); 478 } catch (ExecutionException e) { 479 Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); 480 InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); 481 Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); 482 } 483 } 484 485 @Test updateSpecialistPoolTest()486 public void updateSpecialistPoolTest() throws Exception { 487 SpecialistPool expectedResponse = 488 SpecialistPool.newBuilder() 489 .setName( 490 SpecialistPoolName.of("[PROJECT]", "[LOCATION]", "[SPECIALIST_POOL]").toString()) 491 .setDisplayName("displayName1714148973") 492 .setSpecialistManagersCount(-984151356) 493 .addAllSpecialistManagerEmails(new ArrayList<String>()) 494 .addAllPendingDataLabelingJobs(new ArrayList<String>()) 495 .addAllSpecialistWorkerEmails(new ArrayList<String>()) 496 .build(); 497 Operation resultOperation = 498 Operation.newBuilder() 499 .setName("updateSpecialistPoolTest") 500 .setDone(true) 501 .setResponse(Any.pack(expectedResponse)) 502 .build(); 503 mockSpecialistPoolService.addResponse(resultOperation); 504 505 SpecialistPool specialistPool = SpecialistPool.newBuilder().build(); 506 FieldMask updateMask = FieldMask.newBuilder().build(); 507 508 SpecialistPool actualResponse = 509 client.updateSpecialistPoolAsync(specialistPool, updateMask).get(); 510 Assert.assertEquals(expectedResponse, actualResponse); 511 512 List<AbstractMessage> actualRequests = mockSpecialistPoolService.getRequests(); 513 Assert.assertEquals(1, actualRequests.size()); 514 UpdateSpecialistPoolRequest actualRequest = 515 ((UpdateSpecialistPoolRequest) actualRequests.get(0)); 516 517 Assert.assertEquals(specialistPool, actualRequest.getSpecialistPool()); 518 Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); 519 Assert.assertTrue( 520 channelProvider.isHeaderSent( 521 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 522 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 523 } 524 525 @Test updateSpecialistPoolExceptionTest()526 public void updateSpecialistPoolExceptionTest() throws Exception { 527 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 528 mockSpecialistPoolService.addException(exception); 529 530 try { 531 SpecialistPool specialistPool = SpecialistPool.newBuilder().build(); 532 FieldMask updateMask = FieldMask.newBuilder().build(); 533 client.updateSpecialistPoolAsync(specialistPool, updateMask).get(); 534 Assert.fail("No exception raised"); 535 } catch (ExecutionException e) { 536 Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); 537 InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); 538 Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); 539 } 540 } 541 542 @Test listLocationsTest()543 public void listLocationsTest() throws Exception { 544 Location responsesElement = Location.newBuilder().build(); 545 ListLocationsResponse expectedResponse = 546 ListLocationsResponse.newBuilder() 547 .setNextPageToken("") 548 .addAllLocations(Arrays.asList(responsesElement)) 549 .build(); 550 mockLocations.addResponse(expectedResponse); 551 552 ListLocationsRequest request = 553 ListLocationsRequest.newBuilder() 554 .setName("name3373707") 555 .setFilter("filter-1274492040") 556 .setPageSize(883849137) 557 .setPageToken("pageToken873572522") 558 .build(); 559 560 ListLocationsPagedResponse pagedListResponse = client.listLocations(request); 561 562 List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 563 564 Assert.assertEquals(1, resources.size()); 565 Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); 566 567 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 568 Assert.assertEquals(1, actualRequests.size()); 569 ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); 570 571 Assert.assertEquals(request.getName(), actualRequest.getName()); 572 Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); 573 Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); 574 Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); 575 Assert.assertTrue( 576 channelProvider.isHeaderSent( 577 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 578 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 579 } 580 581 @Test listLocationsExceptionTest()582 public void listLocationsExceptionTest() throws Exception { 583 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 584 mockLocations.addException(exception); 585 586 try { 587 ListLocationsRequest request = 588 ListLocationsRequest.newBuilder() 589 .setName("name3373707") 590 .setFilter("filter-1274492040") 591 .setPageSize(883849137) 592 .setPageToken("pageToken873572522") 593 .build(); 594 client.listLocations(request); 595 Assert.fail("No exception raised"); 596 } catch (InvalidArgumentException e) { 597 // Expected exception. 598 } 599 } 600 601 @Test getLocationTest()602 public void getLocationTest() throws Exception { 603 Location expectedResponse = 604 Location.newBuilder() 605 .setName("name3373707") 606 .setLocationId("locationId1541836720") 607 .setDisplayName("displayName1714148973") 608 .putAllLabels(new HashMap<String, String>()) 609 .setMetadata(Any.newBuilder().build()) 610 .build(); 611 mockLocations.addResponse(expectedResponse); 612 613 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 614 615 Location actualResponse = client.getLocation(request); 616 Assert.assertEquals(expectedResponse, actualResponse); 617 618 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 619 Assert.assertEquals(1, actualRequests.size()); 620 GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); 621 622 Assert.assertEquals(request.getName(), actualRequest.getName()); 623 Assert.assertTrue( 624 channelProvider.isHeaderSent( 625 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 626 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 627 } 628 629 @Test getLocationExceptionTest()630 public void getLocationExceptionTest() throws Exception { 631 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 632 mockLocations.addException(exception); 633 634 try { 635 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 636 client.getLocation(request); 637 Assert.fail("No exception raised"); 638 } catch (InvalidArgumentException e) { 639 // Expected exception. 640 } 641 } 642 643 @Test setIamPolicyTest()644 public void setIamPolicyTest() throws Exception { 645 Policy expectedResponse = 646 Policy.newBuilder() 647 .setVersion(351608024) 648 .addAllBindings(new ArrayList<Binding>()) 649 .addAllAuditConfigs(new ArrayList<AuditConfig>()) 650 .setEtag(ByteString.EMPTY) 651 .build(); 652 mockIAMPolicy.addResponse(expectedResponse); 653 654 SetIamPolicyRequest request = 655 SetIamPolicyRequest.newBuilder() 656 .setResource( 657 EndpointName.ofProjectLocationEndpointName("[PROJECT]", "[LOCATION]", "[ENDPOINT]") 658 .toString()) 659 .setPolicy(Policy.newBuilder().build()) 660 .setUpdateMask(FieldMask.newBuilder().build()) 661 .build(); 662 663 Policy actualResponse = client.setIamPolicy(request); 664 Assert.assertEquals(expectedResponse, actualResponse); 665 666 List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests(); 667 Assert.assertEquals(1, actualRequests.size()); 668 SetIamPolicyRequest actualRequest = ((SetIamPolicyRequest) actualRequests.get(0)); 669 670 Assert.assertEquals(request.getResource(), actualRequest.getResource()); 671 Assert.assertEquals(request.getPolicy(), actualRequest.getPolicy()); 672 Assert.assertEquals(request.getUpdateMask(), actualRequest.getUpdateMask()); 673 Assert.assertTrue( 674 channelProvider.isHeaderSent( 675 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 676 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 677 } 678 679 @Test setIamPolicyExceptionTest()680 public void setIamPolicyExceptionTest() throws Exception { 681 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 682 mockIAMPolicy.addException(exception); 683 684 try { 685 SetIamPolicyRequest request = 686 SetIamPolicyRequest.newBuilder() 687 .setResource( 688 EndpointName.ofProjectLocationEndpointName( 689 "[PROJECT]", "[LOCATION]", "[ENDPOINT]") 690 .toString()) 691 .setPolicy(Policy.newBuilder().build()) 692 .setUpdateMask(FieldMask.newBuilder().build()) 693 .build(); 694 client.setIamPolicy(request); 695 Assert.fail("No exception raised"); 696 } catch (InvalidArgumentException e) { 697 // Expected exception. 698 } 699 } 700 701 @Test getIamPolicyTest()702 public void getIamPolicyTest() throws Exception { 703 Policy expectedResponse = 704 Policy.newBuilder() 705 .setVersion(351608024) 706 .addAllBindings(new ArrayList<Binding>()) 707 .addAllAuditConfigs(new ArrayList<AuditConfig>()) 708 .setEtag(ByteString.EMPTY) 709 .build(); 710 mockIAMPolicy.addResponse(expectedResponse); 711 712 GetIamPolicyRequest request = 713 GetIamPolicyRequest.newBuilder() 714 .setResource( 715 EndpointName.ofProjectLocationEndpointName("[PROJECT]", "[LOCATION]", "[ENDPOINT]") 716 .toString()) 717 .setOptions(GetPolicyOptions.newBuilder().build()) 718 .build(); 719 720 Policy actualResponse = client.getIamPolicy(request); 721 Assert.assertEquals(expectedResponse, actualResponse); 722 723 List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests(); 724 Assert.assertEquals(1, actualRequests.size()); 725 GetIamPolicyRequest actualRequest = ((GetIamPolicyRequest) actualRequests.get(0)); 726 727 Assert.assertEquals(request.getResource(), actualRequest.getResource()); 728 Assert.assertEquals(request.getOptions(), actualRequest.getOptions()); 729 Assert.assertTrue( 730 channelProvider.isHeaderSent( 731 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 732 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 733 } 734 735 @Test getIamPolicyExceptionTest()736 public void getIamPolicyExceptionTest() throws Exception { 737 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 738 mockIAMPolicy.addException(exception); 739 740 try { 741 GetIamPolicyRequest request = 742 GetIamPolicyRequest.newBuilder() 743 .setResource( 744 EndpointName.ofProjectLocationEndpointName( 745 "[PROJECT]", "[LOCATION]", "[ENDPOINT]") 746 .toString()) 747 .setOptions(GetPolicyOptions.newBuilder().build()) 748 .build(); 749 client.getIamPolicy(request); 750 Assert.fail("No exception raised"); 751 } catch (InvalidArgumentException e) { 752 // Expected exception. 753 } 754 } 755 756 @Test testIamPermissionsTest()757 public void testIamPermissionsTest() throws Exception { 758 TestIamPermissionsResponse expectedResponse = 759 TestIamPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build(); 760 mockIAMPolicy.addResponse(expectedResponse); 761 762 TestIamPermissionsRequest request = 763 TestIamPermissionsRequest.newBuilder() 764 .setResource( 765 EndpointName.ofProjectLocationEndpointName("[PROJECT]", "[LOCATION]", "[ENDPOINT]") 766 .toString()) 767 .addAllPermissions(new ArrayList<String>()) 768 .build(); 769 770 TestIamPermissionsResponse actualResponse = client.testIamPermissions(request); 771 Assert.assertEquals(expectedResponse, actualResponse); 772 773 List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests(); 774 Assert.assertEquals(1, actualRequests.size()); 775 TestIamPermissionsRequest actualRequest = ((TestIamPermissionsRequest) actualRequests.get(0)); 776 777 Assert.assertEquals(request.getResource(), actualRequest.getResource()); 778 Assert.assertEquals(request.getPermissionsList(), actualRequest.getPermissionsList()); 779 Assert.assertTrue( 780 channelProvider.isHeaderSent( 781 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 782 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 783 } 784 785 @Test testIamPermissionsExceptionTest()786 public void testIamPermissionsExceptionTest() throws Exception { 787 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 788 mockIAMPolicy.addException(exception); 789 790 try { 791 TestIamPermissionsRequest request = 792 TestIamPermissionsRequest.newBuilder() 793 .setResource( 794 EndpointName.ofProjectLocationEndpointName( 795 "[PROJECT]", "[LOCATION]", "[ENDPOINT]") 796 .toString()) 797 .addAllPermissions(new ArrayList<String>()) 798 .build(); 799 client.testIamPermissions(request); 800 Assert.fail("No exception raised"); 801 } catch (InvalidArgumentException e) { 802 // Expected exception. 803 } 804 } 805 } 806