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.compute.v1; 18 19 import static com.google.cloud.compute.v1.InstanceGroupsClient.AggregatedListPagedResponse; 20 import static com.google.cloud.compute.v1.InstanceGroupsClient.ListInstancesPagedResponse; 21 import static com.google.cloud.compute.v1.InstanceGroupsClient.ListPagedResponse; 22 23 import com.google.api.gax.core.NoCredentialsProvider; 24 import com.google.api.gax.httpjson.GaxHttpJsonProperties; 25 import com.google.api.gax.httpjson.testing.MockHttpService; 26 import com.google.api.gax.rpc.ApiClientHeaderProvider; 27 import com.google.api.gax.rpc.ApiException; 28 import com.google.api.gax.rpc.ApiExceptionFactory; 29 import com.google.api.gax.rpc.InvalidArgumentException; 30 import com.google.api.gax.rpc.StatusCode; 31 import com.google.api.gax.rpc.testing.FakeStatusCode; 32 import com.google.cloud.compute.v1.Operation.Status; 33 import com.google.cloud.compute.v1.stub.HttpJsonInstanceGroupsStub; 34 import com.google.common.collect.Lists; 35 import java.io.IOException; 36 import java.util.ArrayList; 37 import java.util.Arrays; 38 import java.util.Collections; 39 import java.util.List; 40 import java.util.Map; 41 import java.util.concurrent.ExecutionException; 42 import javax.annotation.Generated; 43 import org.junit.After; 44 import org.junit.AfterClass; 45 import org.junit.Assert; 46 import org.junit.Before; 47 import org.junit.BeforeClass; 48 import org.junit.Test; 49 50 @Generated("by gapic-generator-java") 51 public class InstanceGroupsClientTest { 52 private static MockHttpService mockService; 53 private static InstanceGroupsClient client; 54 55 @BeforeClass startStaticServer()56 public static void startStaticServer() throws IOException { 57 mockService = 58 new MockHttpService( 59 HttpJsonInstanceGroupsStub.getMethodDescriptors(), 60 InstanceGroupsSettings.getDefaultEndpoint()); 61 InstanceGroupsSettings settings = 62 InstanceGroupsSettings.newBuilder() 63 .setTransportChannelProvider( 64 InstanceGroupsSettings.defaultHttpJsonTransportProviderBuilder() 65 .setHttpTransport(mockService) 66 .build()) 67 .setCredentialsProvider(NoCredentialsProvider.create()) 68 .build(); 69 client = InstanceGroupsClient.create(settings); 70 } 71 72 @AfterClass stopServer()73 public static void stopServer() { 74 client.close(); 75 } 76 77 @Before setUp()78 public void setUp() {} 79 80 @After tearDown()81 public void tearDown() throws Exception { 82 mockService.reset(); 83 } 84 85 @Test addInstancesTest()86 public void addInstancesTest() throws Exception { 87 Operation expectedResponse = 88 Operation.newBuilder() 89 .setClientOperationId("clientOperationId-1230366697") 90 .setCreationTimestamp("creationTimestamp-370203401") 91 .setDescription("description-1724546052") 92 .setEndTime("endTime-1607243192") 93 .setError(Error.newBuilder().build()) 94 .setHttpErrorMessage("httpErrorMessage1577303431") 95 .setHttpErrorStatusCode(0) 96 .setId(3355) 97 .setInsertTime("insertTime966165798") 98 .setKind("kind3292052") 99 .setName("name3373707") 100 .setOperationGroupId("operationGroupId1716161683") 101 .setOperationType("operationType91999553") 102 .setProgress(-1001078227) 103 .setRegion("region-934795532") 104 .setSelfLink("selfLink1191800166") 105 .setStartTime("startTime-2129294769") 106 .setStatus(Status.DONE) 107 .setStatusMessage("statusMessage-958704715") 108 .setTargetId(-815576439) 109 .setTargetLink("targetLink486368555") 110 .setUser("user3599307") 111 .addAllWarnings(new ArrayList<Warnings>()) 112 .setZone("zone3744684") 113 .build(); 114 mockService.addResponse(expectedResponse); 115 116 String project = "project-6911"; 117 String zone = "zone-5246"; 118 String instanceGroup = "instanceGroup-9472"; 119 InstanceGroupsAddInstancesRequest instanceGroupsAddInstancesRequestResource = 120 InstanceGroupsAddInstancesRequest.newBuilder().build(); 121 122 Operation actualResponse = 123 client 124 .addInstancesAsync( 125 project, zone, instanceGroup, instanceGroupsAddInstancesRequestResource) 126 .get(); 127 Assert.assertEquals(expectedResponse, actualResponse); 128 129 List<String> actualRequests = mockService.getRequestPaths(); 130 Assert.assertEquals(1, actualRequests.size()); 131 132 String apiClientHeaderKey = 133 mockService 134 .getRequestHeaders() 135 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 136 .iterator() 137 .next(); 138 Assert.assertTrue( 139 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 140 .matcher(apiClientHeaderKey) 141 .matches()); 142 } 143 144 @Test addInstancesExceptionTest()145 public void addInstancesExceptionTest() throws Exception { 146 ApiException exception = 147 ApiExceptionFactory.createException( 148 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 149 mockService.addException(exception); 150 151 try { 152 String project = "project-6911"; 153 String zone = "zone-5246"; 154 String instanceGroup = "instanceGroup-9472"; 155 InstanceGroupsAddInstancesRequest instanceGroupsAddInstancesRequestResource = 156 InstanceGroupsAddInstancesRequest.newBuilder().build(); 157 client 158 .addInstancesAsync( 159 project, zone, instanceGroup, instanceGroupsAddInstancesRequestResource) 160 .get(); 161 Assert.fail("No exception raised"); 162 } catch (ExecutionException e) { 163 } 164 } 165 166 @Test aggregatedListTest()167 public void aggregatedListTest() throws Exception { 168 InstanceGroupsScopedList responsesElement = InstanceGroupsScopedList.newBuilder().build(); 169 InstanceGroupAggregatedList expectedResponse = 170 InstanceGroupAggregatedList.newBuilder() 171 .setNextPageToken("") 172 .putAllItems(Collections.singletonMap("items", responsesElement)) 173 .build(); 174 mockService.addResponse(expectedResponse); 175 176 String project = "project-6911"; 177 178 AggregatedListPagedResponse pagedListResponse = client.aggregatedList(project); 179 180 List<Map.Entry<String, InstanceGroupsScopedList>> resources = 181 Lists.newArrayList(pagedListResponse.iterateAll()); 182 183 Assert.assertEquals(1, resources.size()); 184 Assert.assertEquals( 185 expectedResponse.getItemsMap().entrySet().iterator().next(), resources.get(0)); 186 187 List<String> actualRequests = mockService.getRequestPaths(); 188 Assert.assertEquals(1, actualRequests.size()); 189 190 String apiClientHeaderKey = 191 mockService 192 .getRequestHeaders() 193 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 194 .iterator() 195 .next(); 196 Assert.assertTrue( 197 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 198 .matcher(apiClientHeaderKey) 199 .matches()); 200 } 201 202 @Test aggregatedListExceptionTest()203 public void aggregatedListExceptionTest() throws Exception { 204 ApiException exception = 205 ApiExceptionFactory.createException( 206 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 207 mockService.addException(exception); 208 209 try { 210 String project = "project-6911"; 211 client.aggregatedList(project); 212 Assert.fail("No exception raised"); 213 } catch (InvalidArgumentException e) { 214 // Expected exception. 215 } 216 } 217 218 @Test deleteTest()219 public void deleteTest() throws Exception { 220 Operation expectedResponse = 221 Operation.newBuilder() 222 .setClientOperationId("clientOperationId-1230366697") 223 .setCreationTimestamp("creationTimestamp-370203401") 224 .setDescription("description-1724546052") 225 .setEndTime("endTime-1607243192") 226 .setError(Error.newBuilder().build()) 227 .setHttpErrorMessage("httpErrorMessage1577303431") 228 .setHttpErrorStatusCode(0) 229 .setId(3355) 230 .setInsertTime("insertTime966165798") 231 .setKind("kind3292052") 232 .setName("name3373707") 233 .setOperationGroupId("operationGroupId1716161683") 234 .setOperationType("operationType91999553") 235 .setProgress(-1001078227) 236 .setRegion("region-934795532") 237 .setSelfLink("selfLink1191800166") 238 .setStartTime("startTime-2129294769") 239 .setStatus(Status.DONE) 240 .setStatusMessage("statusMessage-958704715") 241 .setTargetId(-815576439) 242 .setTargetLink("targetLink486368555") 243 .setUser("user3599307") 244 .addAllWarnings(new ArrayList<Warnings>()) 245 .setZone("zone3744684") 246 .build(); 247 mockService.addResponse(expectedResponse); 248 249 String project = "project-6911"; 250 String zone = "zone-5246"; 251 String instanceGroup = "instanceGroup-9472"; 252 253 Operation actualResponse = client.deleteAsync(project, zone, instanceGroup).get(); 254 Assert.assertEquals(expectedResponse, actualResponse); 255 256 List<String> actualRequests = mockService.getRequestPaths(); 257 Assert.assertEquals(1, actualRequests.size()); 258 259 String apiClientHeaderKey = 260 mockService 261 .getRequestHeaders() 262 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 263 .iterator() 264 .next(); 265 Assert.assertTrue( 266 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 267 .matcher(apiClientHeaderKey) 268 .matches()); 269 } 270 271 @Test deleteExceptionTest()272 public void deleteExceptionTest() throws Exception { 273 ApiException exception = 274 ApiExceptionFactory.createException( 275 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 276 mockService.addException(exception); 277 278 try { 279 String project = "project-6911"; 280 String zone = "zone-5246"; 281 String instanceGroup = "instanceGroup-9472"; 282 client.deleteAsync(project, zone, instanceGroup).get(); 283 Assert.fail("No exception raised"); 284 } catch (ExecutionException e) { 285 } 286 } 287 288 @Test getTest()289 public void getTest() throws Exception { 290 InstanceGroup expectedResponse = 291 InstanceGroup.newBuilder() 292 .setCreationTimestamp("creationTimestamp-370203401") 293 .setDescription("description-1724546052") 294 .setFingerprint("fingerprint-1375934236") 295 .setId(3355) 296 .setKind("kind3292052") 297 .setName("name3373707") 298 .addAllNamedPorts(new ArrayList<NamedPort>()) 299 .setNetwork("network1843485230") 300 .setRegion("region-934795532") 301 .setSelfLink("selfLink1191800166") 302 .setSize(3530753) 303 .setSubnetwork("subnetwork-1302785042") 304 .setZone("zone3744684") 305 .build(); 306 mockService.addResponse(expectedResponse); 307 308 String project = "project-6911"; 309 String zone = "zone-5246"; 310 String instanceGroup = "instanceGroup-9472"; 311 312 InstanceGroup actualResponse = client.get(project, zone, instanceGroup); 313 Assert.assertEquals(expectedResponse, actualResponse); 314 315 List<String> actualRequests = mockService.getRequestPaths(); 316 Assert.assertEquals(1, actualRequests.size()); 317 318 String apiClientHeaderKey = 319 mockService 320 .getRequestHeaders() 321 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 322 .iterator() 323 .next(); 324 Assert.assertTrue( 325 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 326 .matcher(apiClientHeaderKey) 327 .matches()); 328 } 329 330 @Test getExceptionTest()331 public void getExceptionTest() throws Exception { 332 ApiException exception = 333 ApiExceptionFactory.createException( 334 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 335 mockService.addException(exception); 336 337 try { 338 String project = "project-6911"; 339 String zone = "zone-5246"; 340 String instanceGroup = "instanceGroup-9472"; 341 client.get(project, zone, instanceGroup); 342 Assert.fail("No exception raised"); 343 } catch (InvalidArgumentException e) { 344 // Expected exception. 345 } 346 } 347 348 @Test insertTest()349 public void insertTest() throws Exception { 350 Operation expectedResponse = 351 Operation.newBuilder() 352 .setClientOperationId("clientOperationId-1230366697") 353 .setCreationTimestamp("creationTimestamp-370203401") 354 .setDescription("description-1724546052") 355 .setEndTime("endTime-1607243192") 356 .setError(Error.newBuilder().build()) 357 .setHttpErrorMessage("httpErrorMessage1577303431") 358 .setHttpErrorStatusCode(0) 359 .setId(3355) 360 .setInsertTime("insertTime966165798") 361 .setKind("kind3292052") 362 .setName("name3373707") 363 .setOperationGroupId("operationGroupId1716161683") 364 .setOperationType("operationType91999553") 365 .setProgress(-1001078227) 366 .setRegion("region-934795532") 367 .setSelfLink("selfLink1191800166") 368 .setStartTime("startTime-2129294769") 369 .setStatus(Status.DONE) 370 .setStatusMessage("statusMessage-958704715") 371 .setTargetId(-815576439) 372 .setTargetLink("targetLink486368555") 373 .setUser("user3599307") 374 .addAllWarnings(new ArrayList<Warnings>()) 375 .setZone("zone3744684") 376 .build(); 377 mockService.addResponse(expectedResponse); 378 379 String project = "project-6911"; 380 String zone = "zone-5246"; 381 InstanceGroup instanceGroupResource = InstanceGroup.newBuilder().build(); 382 383 Operation actualResponse = client.insertAsync(project, zone, instanceGroupResource).get(); 384 Assert.assertEquals(expectedResponse, actualResponse); 385 386 List<String> actualRequests = mockService.getRequestPaths(); 387 Assert.assertEquals(1, actualRequests.size()); 388 389 String apiClientHeaderKey = 390 mockService 391 .getRequestHeaders() 392 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 393 .iterator() 394 .next(); 395 Assert.assertTrue( 396 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 397 .matcher(apiClientHeaderKey) 398 .matches()); 399 } 400 401 @Test insertExceptionTest()402 public void insertExceptionTest() throws Exception { 403 ApiException exception = 404 ApiExceptionFactory.createException( 405 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 406 mockService.addException(exception); 407 408 try { 409 String project = "project-6911"; 410 String zone = "zone-5246"; 411 InstanceGroup instanceGroupResource = InstanceGroup.newBuilder().build(); 412 client.insertAsync(project, zone, instanceGroupResource).get(); 413 Assert.fail("No exception raised"); 414 } catch (ExecutionException e) { 415 } 416 } 417 418 @Test listTest()419 public void listTest() throws Exception { 420 InstanceGroup responsesElement = InstanceGroup.newBuilder().build(); 421 InstanceGroupList expectedResponse = 422 InstanceGroupList.newBuilder() 423 .setNextPageToken("") 424 .addAllItems(Arrays.asList(responsesElement)) 425 .build(); 426 mockService.addResponse(expectedResponse); 427 428 String project = "project-6911"; 429 String zone = "zone-5246"; 430 431 ListPagedResponse pagedListResponse = client.list(project, zone); 432 433 List<InstanceGroup> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 434 435 Assert.assertEquals(1, resources.size()); 436 Assert.assertEquals(expectedResponse.getItemsList().get(0), resources.get(0)); 437 438 List<String> actualRequests = mockService.getRequestPaths(); 439 Assert.assertEquals(1, actualRequests.size()); 440 441 String apiClientHeaderKey = 442 mockService 443 .getRequestHeaders() 444 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 445 .iterator() 446 .next(); 447 Assert.assertTrue( 448 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 449 .matcher(apiClientHeaderKey) 450 .matches()); 451 } 452 453 @Test listExceptionTest()454 public void listExceptionTest() throws Exception { 455 ApiException exception = 456 ApiExceptionFactory.createException( 457 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 458 mockService.addException(exception); 459 460 try { 461 String project = "project-6911"; 462 String zone = "zone-5246"; 463 client.list(project, zone); 464 Assert.fail("No exception raised"); 465 } catch (InvalidArgumentException e) { 466 // Expected exception. 467 } 468 } 469 470 @Test listInstancesTest()471 public void listInstancesTest() throws Exception { 472 InstanceWithNamedPorts responsesElement = InstanceWithNamedPorts.newBuilder().build(); 473 InstanceGroupsListInstances expectedResponse = 474 InstanceGroupsListInstances.newBuilder() 475 .setNextPageToken("") 476 .addAllItems(Arrays.asList(responsesElement)) 477 .build(); 478 mockService.addResponse(expectedResponse); 479 480 String project = "project-6911"; 481 String zone = "zone-5246"; 482 String instanceGroup = "instanceGroup-9472"; 483 InstanceGroupsListInstancesRequest instanceGroupsListInstancesRequestResource = 484 InstanceGroupsListInstancesRequest.newBuilder().build(); 485 486 ListInstancesPagedResponse pagedListResponse = 487 client.listInstances( 488 project, zone, instanceGroup, instanceGroupsListInstancesRequestResource); 489 490 List<InstanceWithNamedPorts> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 491 492 Assert.assertEquals(1, resources.size()); 493 Assert.assertEquals(expectedResponse.getItemsList().get(0), resources.get(0)); 494 495 List<String> actualRequests = mockService.getRequestPaths(); 496 Assert.assertEquals(1, actualRequests.size()); 497 498 String apiClientHeaderKey = 499 mockService 500 .getRequestHeaders() 501 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 502 .iterator() 503 .next(); 504 Assert.assertTrue( 505 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 506 .matcher(apiClientHeaderKey) 507 .matches()); 508 } 509 510 @Test listInstancesExceptionTest()511 public void listInstancesExceptionTest() throws Exception { 512 ApiException exception = 513 ApiExceptionFactory.createException( 514 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 515 mockService.addException(exception); 516 517 try { 518 String project = "project-6911"; 519 String zone = "zone-5246"; 520 String instanceGroup = "instanceGroup-9472"; 521 InstanceGroupsListInstancesRequest instanceGroupsListInstancesRequestResource = 522 InstanceGroupsListInstancesRequest.newBuilder().build(); 523 client.listInstances( 524 project, zone, instanceGroup, instanceGroupsListInstancesRequestResource); 525 Assert.fail("No exception raised"); 526 } catch (InvalidArgumentException e) { 527 // Expected exception. 528 } 529 } 530 531 @Test removeInstancesTest()532 public void removeInstancesTest() throws Exception { 533 Operation expectedResponse = 534 Operation.newBuilder() 535 .setClientOperationId("clientOperationId-1230366697") 536 .setCreationTimestamp("creationTimestamp-370203401") 537 .setDescription("description-1724546052") 538 .setEndTime("endTime-1607243192") 539 .setError(Error.newBuilder().build()) 540 .setHttpErrorMessage("httpErrorMessage1577303431") 541 .setHttpErrorStatusCode(0) 542 .setId(3355) 543 .setInsertTime("insertTime966165798") 544 .setKind("kind3292052") 545 .setName("name3373707") 546 .setOperationGroupId("operationGroupId1716161683") 547 .setOperationType("operationType91999553") 548 .setProgress(-1001078227) 549 .setRegion("region-934795532") 550 .setSelfLink("selfLink1191800166") 551 .setStartTime("startTime-2129294769") 552 .setStatus(Status.DONE) 553 .setStatusMessage("statusMessage-958704715") 554 .setTargetId(-815576439) 555 .setTargetLink("targetLink486368555") 556 .setUser("user3599307") 557 .addAllWarnings(new ArrayList<Warnings>()) 558 .setZone("zone3744684") 559 .build(); 560 mockService.addResponse(expectedResponse); 561 562 String project = "project-6911"; 563 String zone = "zone-5246"; 564 String instanceGroup = "instanceGroup-9472"; 565 InstanceGroupsRemoveInstancesRequest instanceGroupsRemoveInstancesRequestResource = 566 InstanceGroupsRemoveInstancesRequest.newBuilder().build(); 567 568 Operation actualResponse = 569 client 570 .removeInstancesAsync( 571 project, zone, instanceGroup, instanceGroupsRemoveInstancesRequestResource) 572 .get(); 573 Assert.assertEquals(expectedResponse, actualResponse); 574 575 List<String> actualRequests = mockService.getRequestPaths(); 576 Assert.assertEquals(1, actualRequests.size()); 577 578 String apiClientHeaderKey = 579 mockService 580 .getRequestHeaders() 581 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 582 .iterator() 583 .next(); 584 Assert.assertTrue( 585 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 586 .matcher(apiClientHeaderKey) 587 .matches()); 588 } 589 590 @Test removeInstancesExceptionTest()591 public void removeInstancesExceptionTest() throws Exception { 592 ApiException exception = 593 ApiExceptionFactory.createException( 594 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 595 mockService.addException(exception); 596 597 try { 598 String project = "project-6911"; 599 String zone = "zone-5246"; 600 String instanceGroup = "instanceGroup-9472"; 601 InstanceGroupsRemoveInstancesRequest instanceGroupsRemoveInstancesRequestResource = 602 InstanceGroupsRemoveInstancesRequest.newBuilder().build(); 603 client 604 .removeInstancesAsync( 605 project, zone, instanceGroup, instanceGroupsRemoveInstancesRequestResource) 606 .get(); 607 Assert.fail("No exception raised"); 608 } catch (ExecutionException e) { 609 } 610 } 611 612 @Test setNamedPortsTest()613 public void setNamedPortsTest() throws Exception { 614 Operation expectedResponse = 615 Operation.newBuilder() 616 .setClientOperationId("clientOperationId-1230366697") 617 .setCreationTimestamp("creationTimestamp-370203401") 618 .setDescription("description-1724546052") 619 .setEndTime("endTime-1607243192") 620 .setError(Error.newBuilder().build()) 621 .setHttpErrorMessage("httpErrorMessage1577303431") 622 .setHttpErrorStatusCode(0) 623 .setId(3355) 624 .setInsertTime("insertTime966165798") 625 .setKind("kind3292052") 626 .setName("name3373707") 627 .setOperationGroupId("operationGroupId1716161683") 628 .setOperationType("operationType91999553") 629 .setProgress(-1001078227) 630 .setRegion("region-934795532") 631 .setSelfLink("selfLink1191800166") 632 .setStartTime("startTime-2129294769") 633 .setStatus(Status.DONE) 634 .setStatusMessage("statusMessage-958704715") 635 .setTargetId(-815576439) 636 .setTargetLink("targetLink486368555") 637 .setUser("user3599307") 638 .addAllWarnings(new ArrayList<Warnings>()) 639 .setZone("zone3744684") 640 .build(); 641 mockService.addResponse(expectedResponse); 642 643 String project = "project-6911"; 644 String zone = "zone-5246"; 645 String instanceGroup = "instanceGroup-9472"; 646 InstanceGroupsSetNamedPortsRequest instanceGroupsSetNamedPortsRequestResource = 647 InstanceGroupsSetNamedPortsRequest.newBuilder().build(); 648 649 Operation actualResponse = 650 client 651 .setNamedPortsAsync( 652 project, zone, instanceGroup, instanceGroupsSetNamedPortsRequestResource) 653 .get(); 654 Assert.assertEquals(expectedResponse, actualResponse); 655 656 List<String> actualRequests = mockService.getRequestPaths(); 657 Assert.assertEquals(1, actualRequests.size()); 658 659 String apiClientHeaderKey = 660 mockService 661 .getRequestHeaders() 662 .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) 663 .iterator() 664 .next(); 665 Assert.assertTrue( 666 GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() 667 .matcher(apiClientHeaderKey) 668 .matches()); 669 } 670 671 @Test setNamedPortsExceptionTest()672 public void setNamedPortsExceptionTest() throws Exception { 673 ApiException exception = 674 ApiExceptionFactory.createException( 675 new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); 676 mockService.addException(exception); 677 678 try { 679 String project = "project-6911"; 680 String zone = "zone-5246"; 681 String instanceGroup = "instanceGroup-9472"; 682 InstanceGroupsSetNamedPortsRequest instanceGroupsSetNamedPortsRequestResource = 683 InstanceGroupsSetNamedPortsRequest.newBuilder().build(); 684 client 685 .setNamedPortsAsync( 686 project, zone, instanceGroup, instanceGroupsSetNamedPortsRequestResource) 687 .get(); 688 Assert.fail("No exception raised"); 689 } catch (ExecutionException e) { 690 } 691 } 692 } 693