• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.RegionDisksClient.ListPagedResponse;
20 
21 import com.google.api.gax.core.NoCredentialsProvider;
22 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
23 import com.google.api.gax.httpjson.testing.MockHttpService;
24 import com.google.api.gax.rpc.ApiClientHeaderProvider;
25 import com.google.api.gax.rpc.ApiException;
26 import com.google.api.gax.rpc.ApiExceptionFactory;
27 import com.google.api.gax.rpc.InvalidArgumentException;
28 import com.google.api.gax.rpc.StatusCode;
29 import com.google.api.gax.rpc.testing.FakeStatusCode;
30 import com.google.cloud.compute.v1.Operation.Status;
31 import com.google.cloud.compute.v1.stub.HttpJsonRegionDisksStub;
32 import com.google.common.collect.Lists;
33 import java.io.IOException;
34 import java.util.ArrayList;
35 import java.util.Arrays;
36 import java.util.HashMap;
37 import java.util.List;
38 import java.util.concurrent.ExecutionException;
39 import javax.annotation.Generated;
40 import org.junit.After;
41 import org.junit.AfterClass;
42 import org.junit.Assert;
43 import org.junit.Before;
44 import org.junit.BeforeClass;
45 import org.junit.Test;
46 
47 @Generated("by gapic-generator-java")
48 public class RegionDisksClientTest {
49   private static MockHttpService mockService;
50   private static RegionDisksClient client;
51 
52   @BeforeClass
startStaticServer()53   public static void startStaticServer() throws IOException {
54     mockService =
55         new MockHttpService(
56             HttpJsonRegionDisksStub.getMethodDescriptors(),
57             RegionDisksSettings.getDefaultEndpoint());
58     RegionDisksSettings settings =
59         RegionDisksSettings.newBuilder()
60             .setTransportChannelProvider(
61                 RegionDisksSettings.defaultHttpJsonTransportProviderBuilder()
62                     .setHttpTransport(mockService)
63                     .build())
64             .setCredentialsProvider(NoCredentialsProvider.create())
65             .build();
66     client = RegionDisksClient.create(settings);
67   }
68 
69   @AfterClass
stopServer()70   public static void stopServer() {
71     client.close();
72   }
73 
74   @Before
setUp()75   public void setUp() {}
76 
77   @After
tearDown()78   public void tearDown() throws Exception {
79     mockService.reset();
80   }
81 
82   @Test
addResourcePoliciesTest()83   public void addResourcePoliciesTest() throws Exception {
84     Operation expectedResponse =
85         Operation.newBuilder()
86             .setClientOperationId("clientOperationId-1230366697")
87             .setCreationTimestamp("creationTimestamp-370203401")
88             .setDescription("description-1724546052")
89             .setEndTime("endTime-1607243192")
90             .setError(Error.newBuilder().build())
91             .setHttpErrorMessage("httpErrorMessage1577303431")
92             .setHttpErrorStatusCode(0)
93             .setId(3355)
94             .setInsertTime("insertTime966165798")
95             .setKind("kind3292052")
96             .setName("name3373707")
97             .setOperationGroupId("operationGroupId1716161683")
98             .setOperationType("operationType91999553")
99             .setProgress(-1001078227)
100             .setRegion("region-934795532")
101             .setSelfLink("selfLink1191800166")
102             .setStartTime("startTime-2129294769")
103             .setStatus(Status.DONE)
104             .setStatusMessage("statusMessage-958704715")
105             .setTargetId(-815576439)
106             .setTargetLink("targetLink486368555")
107             .setUser("user3599307")
108             .addAllWarnings(new ArrayList<Warnings>())
109             .setZone("zone3744684")
110             .build();
111     mockService.addResponse(expectedResponse);
112 
113     String project = "project-6911";
114     String region = "region-9622";
115     String disk = "disk-4029";
116     RegionDisksAddResourcePoliciesRequest regionDisksAddResourcePoliciesRequestResource =
117         RegionDisksAddResourcePoliciesRequest.newBuilder().build();
118 
119     Operation actualResponse =
120         client
121             .addResourcePoliciesAsync(
122                 project, region, disk, regionDisksAddResourcePoliciesRequestResource)
123             .get();
124     Assert.assertEquals(expectedResponse, actualResponse);
125 
126     List<String> actualRequests = mockService.getRequestPaths();
127     Assert.assertEquals(1, actualRequests.size());
128 
129     String apiClientHeaderKey =
130         mockService
131             .getRequestHeaders()
132             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
133             .iterator()
134             .next();
135     Assert.assertTrue(
136         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
137             .matcher(apiClientHeaderKey)
138             .matches());
139   }
140 
141   @Test
addResourcePoliciesExceptionTest()142   public void addResourcePoliciesExceptionTest() throws Exception {
143     ApiException exception =
144         ApiExceptionFactory.createException(
145             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
146     mockService.addException(exception);
147 
148     try {
149       String project = "project-6911";
150       String region = "region-9622";
151       String disk = "disk-4029";
152       RegionDisksAddResourcePoliciesRequest regionDisksAddResourcePoliciesRequestResource =
153           RegionDisksAddResourcePoliciesRequest.newBuilder().build();
154       client
155           .addResourcePoliciesAsync(
156               project, region, disk, regionDisksAddResourcePoliciesRequestResource)
157           .get();
158       Assert.fail("No exception raised");
159     } catch (ExecutionException e) {
160     }
161   }
162 
163   @Test
createSnapshotTest()164   public void createSnapshotTest() throws Exception {
165     Operation expectedResponse =
166         Operation.newBuilder()
167             .setClientOperationId("clientOperationId-1230366697")
168             .setCreationTimestamp("creationTimestamp-370203401")
169             .setDescription("description-1724546052")
170             .setEndTime("endTime-1607243192")
171             .setError(Error.newBuilder().build())
172             .setHttpErrorMessage("httpErrorMessage1577303431")
173             .setHttpErrorStatusCode(0)
174             .setId(3355)
175             .setInsertTime("insertTime966165798")
176             .setKind("kind3292052")
177             .setName("name3373707")
178             .setOperationGroupId("operationGroupId1716161683")
179             .setOperationType("operationType91999553")
180             .setProgress(-1001078227)
181             .setRegion("region-934795532")
182             .setSelfLink("selfLink1191800166")
183             .setStartTime("startTime-2129294769")
184             .setStatus(Status.DONE)
185             .setStatusMessage("statusMessage-958704715")
186             .setTargetId(-815576439)
187             .setTargetLink("targetLink486368555")
188             .setUser("user3599307")
189             .addAllWarnings(new ArrayList<Warnings>())
190             .setZone("zone3744684")
191             .build();
192     mockService.addResponse(expectedResponse);
193 
194     String project = "project-6911";
195     String region = "region-9622";
196     String disk = "disk-4029";
197     Snapshot snapshotResource = Snapshot.newBuilder().build();
198 
199     Operation actualResponse =
200         client.createSnapshotAsync(project, region, disk, snapshotResource).get();
201     Assert.assertEquals(expectedResponse, actualResponse);
202 
203     List<String> actualRequests = mockService.getRequestPaths();
204     Assert.assertEquals(1, actualRequests.size());
205 
206     String apiClientHeaderKey =
207         mockService
208             .getRequestHeaders()
209             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
210             .iterator()
211             .next();
212     Assert.assertTrue(
213         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
214             .matcher(apiClientHeaderKey)
215             .matches());
216   }
217 
218   @Test
createSnapshotExceptionTest()219   public void createSnapshotExceptionTest() throws Exception {
220     ApiException exception =
221         ApiExceptionFactory.createException(
222             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
223     mockService.addException(exception);
224 
225     try {
226       String project = "project-6911";
227       String region = "region-9622";
228       String disk = "disk-4029";
229       Snapshot snapshotResource = Snapshot.newBuilder().build();
230       client.createSnapshotAsync(project, region, disk, snapshotResource).get();
231       Assert.fail("No exception raised");
232     } catch (ExecutionException e) {
233     }
234   }
235 
236   @Test
deleteTest()237   public void deleteTest() throws Exception {
238     Operation expectedResponse =
239         Operation.newBuilder()
240             .setClientOperationId("clientOperationId-1230366697")
241             .setCreationTimestamp("creationTimestamp-370203401")
242             .setDescription("description-1724546052")
243             .setEndTime("endTime-1607243192")
244             .setError(Error.newBuilder().build())
245             .setHttpErrorMessage("httpErrorMessage1577303431")
246             .setHttpErrorStatusCode(0)
247             .setId(3355)
248             .setInsertTime("insertTime966165798")
249             .setKind("kind3292052")
250             .setName("name3373707")
251             .setOperationGroupId("operationGroupId1716161683")
252             .setOperationType("operationType91999553")
253             .setProgress(-1001078227)
254             .setRegion("region-934795532")
255             .setSelfLink("selfLink1191800166")
256             .setStartTime("startTime-2129294769")
257             .setStatus(Status.DONE)
258             .setStatusMessage("statusMessage-958704715")
259             .setTargetId(-815576439)
260             .setTargetLink("targetLink486368555")
261             .setUser("user3599307")
262             .addAllWarnings(new ArrayList<Warnings>())
263             .setZone("zone3744684")
264             .build();
265     mockService.addResponse(expectedResponse);
266 
267     String project = "project-6911";
268     String region = "region-9622";
269     String disk = "disk-4029";
270 
271     Operation actualResponse = client.deleteAsync(project, region, disk).get();
272     Assert.assertEquals(expectedResponse, actualResponse);
273 
274     List<String> actualRequests = mockService.getRequestPaths();
275     Assert.assertEquals(1, actualRequests.size());
276 
277     String apiClientHeaderKey =
278         mockService
279             .getRequestHeaders()
280             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
281             .iterator()
282             .next();
283     Assert.assertTrue(
284         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
285             .matcher(apiClientHeaderKey)
286             .matches());
287   }
288 
289   @Test
deleteExceptionTest()290   public void deleteExceptionTest() throws Exception {
291     ApiException exception =
292         ApiExceptionFactory.createException(
293             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
294     mockService.addException(exception);
295 
296     try {
297       String project = "project-6911";
298       String region = "region-9622";
299       String disk = "disk-4029";
300       client.deleteAsync(project, region, disk).get();
301       Assert.fail("No exception raised");
302     } catch (ExecutionException e) {
303     }
304   }
305 
306   @Test
getTest()307   public void getTest() throws Exception {
308     Disk expectedResponse =
309         Disk.newBuilder()
310             .setArchitecture("architecture839674195")
311             .setCreationTimestamp("creationTimestamp-370203401")
312             .setDescription("description-1724546052")
313             .setDiskEncryptionKey(CustomerEncryptionKey.newBuilder().build())
314             .addAllGuestOsFeatures(new ArrayList<GuestOsFeature>())
315             .setId(3355)
316             .setKind("kind3292052")
317             .setLabelFingerprint("labelFingerprint379449680")
318             .putAllLabels(new HashMap<String, String>())
319             .setLastAttachTimestamp("lastAttachTimestamp628457179")
320             .setLastDetachTimestamp("lastDetachTimestamp-150409907")
321             .addAllLicenseCodes(new ArrayList<Long>())
322             .addAllLicenses(new ArrayList<String>())
323             .setLocationHint("locationHint-58650660")
324             .setName("name3373707")
325             .setOptions("options-1249474914")
326             .setParams(DiskParams.newBuilder().build())
327             .setPhysicalBlockSizeBytes(-1190604793)
328             .setProvisionedIops(1260510932)
329             .setRegion("region-934795532")
330             .addAllReplicaZones(new ArrayList<String>())
331             .addAllResourcePolicies(new ArrayList<String>())
332             .setSatisfiesPzs(true)
333             .setSelfLink("selfLink1191800166")
334             .setSizeGb(2105542105)
335             .setSourceDisk("sourceDisk-1111923624")
336             .setSourceDiskId("sourceDiskId888256403")
337             .setSourceImage("sourceImage-105174528")
338             .setSourceImageEncryptionKey(CustomerEncryptionKey.newBuilder().build())
339             .setSourceImageId("sourceImageId2006496059")
340             .setSourceSnapshot("sourceSnapshot-1078634753")
341             .setSourceSnapshotEncryptionKey(CustomerEncryptionKey.newBuilder().build())
342             .setSourceSnapshotId("sourceSnapshotId-1480876934")
343             .setSourceStorageObject("sourceStorageObject1498862911")
344             .setStatus("status-892481550")
345             .setType("type3575610")
346             .addAllUsers(new ArrayList<String>())
347             .setZone("zone3744684")
348             .build();
349     mockService.addResponse(expectedResponse);
350 
351     String project = "project-6911";
352     String region = "region-9622";
353     String disk = "disk-4029";
354 
355     Disk actualResponse = client.get(project, region, disk);
356     Assert.assertEquals(expectedResponse, actualResponse);
357 
358     List<String> actualRequests = mockService.getRequestPaths();
359     Assert.assertEquals(1, actualRequests.size());
360 
361     String apiClientHeaderKey =
362         mockService
363             .getRequestHeaders()
364             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
365             .iterator()
366             .next();
367     Assert.assertTrue(
368         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
369             .matcher(apiClientHeaderKey)
370             .matches());
371   }
372 
373   @Test
getExceptionTest()374   public void getExceptionTest() throws Exception {
375     ApiException exception =
376         ApiExceptionFactory.createException(
377             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
378     mockService.addException(exception);
379 
380     try {
381       String project = "project-6911";
382       String region = "region-9622";
383       String disk = "disk-4029";
384       client.get(project, region, disk);
385       Assert.fail("No exception raised");
386     } catch (InvalidArgumentException e) {
387       // Expected exception.
388     }
389   }
390 
391   @Test
getIamPolicyTest()392   public void getIamPolicyTest() throws Exception {
393     Policy expectedResponse =
394         Policy.newBuilder()
395             .addAllAuditConfigs(new ArrayList<AuditConfig>())
396             .addAllBindings(new ArrayList<Binding>())
397             .setEtag("etag3123477")
398             .setIamOwned(true)
399             .addAllRules(new ArrayList<Rule>())
400             .setVersion(351608024)
401             .build();
402     mockService.addResponse(expectedResponse);
403 
404     String project = "project-6911";
405     String region = "region-9622";
406     String resource = "resource-756";
407 
408     Policy actualResponse = client.getIamPolicy(project, region, resource);
409     Assert.assertEquals(expectedResponse, actualResponse);
410 
411     List<String> actualRequests = mockService.getRequestPaths();
412     Assert.assertEquals(1, actualRequests.size());
413 
414     String apiClientHeaderKey =
415         mockService
416             .getRequestHeaders()
417             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
418             .iterator()
419             .next();
420     Assert.assertTrue(
421         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
422             .matcher(apiClientHeaderKey)
423             .matches());
424   }
425 
426   @Test
getIamPolicyExceptionTest()427   public void getIamPolicyExceptionTest() throws Exception {
428     ApiException exception =
429         ApiExceptionFactory.createException(
430             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
431     mockService.addException(exception);
432 
433     try {
434       String project = "project-6911";
435       String region = "region-9622";
436       String resource = "resource-756";
437       client.getIamPolicy(project, region, resource);
438       Assert.fail("No exception raised");
439     } catch (InvalidArgumentException e) {
440       // Expected exception.
441     }
442   }
443 
444   @Test
insertTest()445   public void insertTest() throws Exception {
446     Operation expectedResponse =
447         Operation.newBuilder()
448             .setClientOperationId("clientOperationId-1230366697")
449             .setCreationTimestamp("creationTimestamp-370203401")
450             .setDescription("description-1724546052")
451             .setEndTime("endTime-1607243192")
452             .setError(Error.newBuilder().build())
453             .setHttpErrorMessage("httpErrorMessage1577303431")
454             .setHttpErrorStatusCode(0)
455             .setId(3355)
456             .setInsertTime("insertTime966165798")
457             .setKind("kind3292052")
458             .setName("name3373707")
459             .setOperationGroupId("operationGroupId1716161683")
460             .setOperationType("operationType91999553")
461             .setProgress(-1001078227)
462             .setRegion("region-934795532")
463             .setSelfLink("selfLink1191800166")
464             .setStartTime("startTime-2129294769")
465             .setStatus(Status.DONE)
466             .setStatusMessage("statusMessage-958704715")
467             .setTargetId(-815576439)
468             .setTargetLink("targetLink486368555")
469             .setUser("user3599307")
470             .addAllWarnings(new ArrayList<Warnings>())
471             .setZone("zone3744684")
472             .build();
473     mockService.addResponse(expectedResponse);
474 
475     String project = "project-6911";
476     String region = "region-9622";
477     Disk diskResource = Disk.newBuilder().build();
478 
479     Operation actualResponse = client.insertAsync(project, region, diskResource).get();
480     Assert.assertEquals(expectedResponse, actualResponse);
481 
482     List<String> actualRequests = mockService.getRequestPaths();
483     Assert.assertEquals(1, actualRequests.size());
484 
485     String apiClientHeaderKey =
486         mockService
487             .getRequestHeaders()
488             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
489             .iterator()
490             .next();
491     Assert.assertTrue(
492         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
493             .matcher(apiClientHeaderKey)
494             .matches());
495   }
496 
497   @Test
insertExceptionTest()498   public void insertExceptionTest() throws Exception {
499     ApiException exception =
500         ApiExceptionFactory.createException(
501             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
502     mockService.addException(exception);
503 
504     try {
505       String project = "project-6911";
506       String region = "region-9622";
507       Disk diskResource = Disk.newBuilder().build();
508       client.insertAsync(project, region, diskResource).get();
509       Assert.fail("No exception raised");
510     } catch (ExecutionException e) {
511     }
512   }
513 
514   @Test
listTest()515   public void listTest() throws Exception {
516     Disk responsesElement = Disk.newBuilder().build();
517     DiskList expectedResponse =
518         DiskList.newBuilder()
519             .setNextPageToken("")
520             .addAllItems(Arrays.asList(responsesElement))
521             .build();
522     mockService.addResponse(expectedResponse);
523 
524     String project = "project-6911";
525     String region = "region-9622";
526 
527     ListPagedResponse pagedListResponse = client.list(project, region);
528 
529     List<Disk> resources = Lists.newArrayList(pagedListResponse.iterateAll());
530 
531     Assert.assertEquals(1, resources.size());
532     Assert.assertEquals(expectedResponse.getItemsList().get(0), resources.get(0));
533 
534     List<String> actualRequests = mockService.getRequestPaths();
535     Assert.assertEquals(1, actualRequests.size());
536 
537     String apiClientHeaderKey =
538         mockService
539             .getRequestHeaders()
540             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
541             .iterator()
542             .next();
543     Assert.assertTrue(
544         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
545             .matcher(apiClientHeaderKey)
546             .matches());
547   }
548 
549   @Test
listExceptionTest()550   public void listExceptionTest() throws Exception {
551     ApiException exception =
552         ApiExceptionFactory.createException(
553             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
554     mockService.addException(exception);
555 
556     try {
557       String project = "project-6911";
558       String region = "region-9622";
559       client.list(project, region);
560       Assert.fail("No exception raised");
561     } catch (InvalidArgumentException e) {
562       // Expected exception.
563     }
564   }
565 
566   @Test
removeResourcePoliciesTest()567   public void removeResourcePoliciesTest() throws Exception {
568     Operation expectedResponse =
569         Operation.newBuilder()
570             .setClientOperationId("clientOperationId-1230366697")
571             .setCreationTimestamp("creationTimestamp-370203401")
572             .setDescription("description-1724546052")
573             .setEndTime("endTime-1607243192")
574             .setError(Error.newBuilder().build())
575             .setHttpErrorMessage("httpErrorMessage1577303431")
576             .setHttpErrorStatusCode(0)
577             .setId(3355)
578             .setInsertTime("insertTime966165798")
579             .setKind("kind3292052")
580             .setName("name3373707")
581             .setOperationGroupId("operationGroupId1716161683")
582             .setOperationType("operationType91999553")
583             .setProgress(-1001078227)
584             .setRegion("region-934795532")
585             .setSelfLink("selfLink1191800166")
586             .setStartTime("startTime-2129294769")
587             .setStatus(Status.DONE)
588             .setStatusMessage("statusMessage-958704715")
589             .setTargetId(-815576439)
590             .setTargetLink("targetLink486368555")
591             .setUser("user3599307")
592             .addAllWarnings(new ArrayList<Warnings>())
593             .setZone("zone3744684")
594             .build();
595     mockService.addResponse(expectedResponse);
596 
597     String project = "project-6911";
598     String region = "region-9622";
599     String disk = "disk-4029";
600     RegionDisksRemoveResourcePoliciesRequest regionDisksRemoveResourcePoliciesRequestResource =
601         RegionDisksRemoveResourcePoliciesRequest.newBuilder().build();
602 
603     Operation actualResponse =
604         client
605             .removeResourcePoliciesAsync(
606                 project, region, disk, regionDisksRemoveResourcePoliciesRequestResource)
607             .get();
608     Assert.assertEquals(expectedResponse, actualResponse);
609 
610     List<String> actualRequests = mockService.getRequestPaths();
611     Assert.assertEquals(1, actualRequests.size());
612 
613     String apiClientHeaderKey =
614         mockService
615             .getRequestHeaders()
616             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
617             .iterator()
618             .next();
619     Assert.assertTrue(
620         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
621             .matcher(apiClientHeaderKey)
622             .matches());
623   }
624 
625   @Test
removeResourcePoliciesExceptionTest()626   public void removeResourcePoliciesExceptionTest() throws Exception {
627     ApiException exception =
628         ApiExceptionFactory.createException(
629             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
630     mockService.addException(exception);
631 
632     try {
633       String project = "project-6911";
634       String region = "region-9622";
635       String disk = "disk-4029";
636       RegionDisksRemoveResourcePoliciesRequest regionDisksRemoveResourcePoliciesRequestResource =
637           RegionDisksRemoveResourcePoliciesRequest.newBuilder().build();
638       client
639           .removeResourcePoliciesAsync(
640               project, region, disk, regionDisksRemoveResourcePoliciesRequestResource)
641           .get();
642       Assert.fail("No exception raised");
643     } catch (ExecutionException e) {
644     }
645   }
646 
647   @Test
resizeTest()648   public void resizeTest() throws Exception {
649     Operation expectedResponse =
650         Operation.newBuilder()
651             .setClientOperationId("clientOperationId-1230366697")
652             .setCreationTimestamp("creationTimestamp-370203401")
653             .setDescription("description-1724546052")
654             .setEndTime("endTime-1607243192")
655             .setError(Error.newBuilder().build())
656             .setHttpErrorMessage("httpErrorMessage1577303431")
657             .setHttpErrorStatusCode(0)
658             .setId(3355)
659             .setInsertTime("insertTime966165798")
660             .setKind("kind3292052")
661             .setName("name3373707")
662             .setOperationGroupId("operationGroupId1716161683")
663             .setOperationType("operationType91999553")
664             .setProgress(-1001078227)
665             .setRegion("region-934795532")
666             .setSelfLink("selfLink1191800166")
667             .setStartTime("startTime-2129294769")
668             .setStatus(Status.DONE)
669             .setStatusMessage("statusMessage-958704715")
670             .setTargetId(-815576439)
671             .setTargetLink("targetLink486368555")
672             .setUser("user3599307")
673             .addAllWarnings(new ArrayList<Warnings>())
674             .setZone("zone3744684")
675             .build();
676     mockService.addResponse(expectedResponse);
677 
678     String project = "project-6911";
679     String region = "region-9622";
680     String disk = "disk-4029";
681     RegionDisksResizeRequest regionDisksResizeRequestResource =
682         RegionDisksResizeRequest.newBuilder().build();
683 
684     Operation actualResponse =
685         client.resizeAsync(project, region, disk, regionDisksResizeRequestResource).get();
686     Assert.assertEquals(expectedResponse, actualResponse);
687 
688     List<String> actualRequests = mockService.getRequestPaths();
689     Assert.assertEquals(1, actualRequests.size());
690 
691     String apiClientHeaderKey =
692         mockService
693             .getRequestHeaders()
694             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
695             .iterator()
696             .next();
697     Assert.assertTrue(
698         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
699             .matcher(apiClientHeaderKey)
700             .matches());
701   }
702 
703   @Test
resizeExceptionTest()704   public void resizeExceptionTest() throws Exception {
705     ApiException exception =
706         ApiExceptionFactory.createException(
707             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
708     mockService.addException(exception);
709 
710     try {
711       String project = "project-6911";
712       String region = "region-9622";
713       String disk = "disk-4029";
714       RegionDisksResizeRequest regionDisksResizeRequestResource =
715           RegionDisksResizeRequest.newBuilder().build();
716       client.resizeAsync(project, region, disk, regionDisksResizeRequestResource).get();
717       Assert.fail("No exception raised");
718     } catch (ExecutionException e) {
719     }
720   }
721 
722   @Test
setIamPolicyTest()723   public void setIamPolicyTest() throws Exception {
724     Policy expectedResponse =
725         Policy.newBuilder()
726             .addAllAuditConfigs(new ArrayList<AuditConfig>())
727             .addAllBindings(new ArrayList<Binding>())
728             .setEtag("etag3123477")
729             .setIamOwned(true)
730             .addAllRules(new ArrayList<Rule>())
731             .setVersion(351608024)
732             .build();
733     mockService.addResponse(expectedResponse);
734 
735     String project = "project-6911";
736     String region = "region-9622";
737     String resource = "resource-756";
738     RegionSetPolicyRequest regionSetPolicyRequestResource =
739         RegionSetPolicyRequest.newBuilder().build();
740 
741     Policy actualResponse =
742         client.setIamPolicy(project, region, resource, regionSetPolicyRequestResource);
743     Assert.assertEquals(expectedResponse, actualResponse);
744 
745     List<String> actualRequests = mockService.getRequestPaths();
746     Assert.assertEquals(1, actualRequests.size());
747 
748     String apiClientHeaderKey =
749         mockService
750             .getRequestHeaders()
751             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
752             .iterator()
753             .next();
754     Assert.assertTrue(
755         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
756             .matcher(apiClientHeaderKey)
757             .matches());
758   }
759 
760   @Test
setIamPolicyExceptionTest()761   public void setIamPolicyExceptionTest() throws Exception {
762     ApiException exception =
763         ApiExceptionFactory.createException(
764             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
765     mockService.addException(exception);
766 
767     try {
768       String project = "project-6911";
769       String region = "region-9622";
770       String resource = "resource-756";
771       RegionSetPolicyRequest regionSetPolicyRequestResource =
772           RegionSetPolicyRequest.newBuilder().build();
773       client.setIamPolicy(project, region, resource, regionSetPolicyRequestResource);
774       Assert.fail("No exception raised");
775     } catch (InvalidArgumentException e) {
776       // Expected exception.
777     }
778   }
779 
780   @Test
setLabelsTest()781   public void setLabelsTest() throws Exception {
782     Operation expectedResponse =
783         Operation.newBuilder()
784             .setClientOperationId("clientOperationId-1230366697")
785             .setCreationTimestamp("creationTimestamp-370203401")
786             .setDescription("description-1724546052")
787             .setEndTime("endTime-1607243192")
788             .setError(Error.newBuilder().build())
789             .setHttpErrorMessage("httpErrorMessage1577303431")
790             .setHttpErrorStatusCode(0)
791             .setId(3355)
792             .setInsertTime("insertTime966165798")
793             .setKind("kind3292052")
794             .setName("name3373707")
795             .setOperationGroupId("operationGroupId1716161683")
796             .setOperationType("operationType91999553")
797             .setProgress(-1001078227)
798             .setRegion("region-934795532")
799             .setSelfLink("selfLink1191800166")
800             .setStartTime("startTime-2129294769")
801             .setStatus(Status.DONE)
802             .setStatusMessage("statusMessage-958704715")
803             .setTargetId(-815576439)
804             .setTargetLink("targetLink486368555")
805             .setUser("user3599307")
806             .addAllWarnings(new ArrayList<Warnings>())
807             .setZone("zone3744684")
808             .build();
809     mockService.addResponse(expectedResponse);
810 
811     String project = "project-6911";
812     String region = "region-9622";
813     String resource = "resource-756";
814     RegionSetLabelsRequest regionSetLabelsRequestResource =
815         RegionSetLabelsRequest.newBuilder().build();
816 
817     Operation actualResponse =
818         client.setLabelsAsync(project, region, resource, regionSetLabelsRequestResource).get();
819     Assert.assertEquals(expectedResponse, actualResponse);
820 
821     List<String> actualRequests = mockService.getRequestPaths();
822     Assert.assertEquals(1, actualRequests.size());
823 
824     String apiClientHeaderKey =
825         mockService
826             .getRequestHeaders()
827             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
828             .iterator()
829             .next();
830     Assert.assertTrue(
831         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
832             .matcher(apiClientHeaderKey)
833             .matches());
834   }
835 
836   @Test
setLabelsExceptionTest()837   public void setLabelsExceptionTest() throws Exception {
838     ApiException exception =
839         ApiExceptionFactory.createException(
840             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
841     mockService.addException(exception);
842 
843     try {
844       String project = "project-6911";
845       String region = "region-9622";
846       String resource = "resource-756";
847       RegionSetLabelsRequest regionSetLabelsRequestResource =
848           RegionSetLabelsRequest.newBuilder().build();
849       client.setLabelsAsync(project, region, resource, regionSetLabelsRequestResource).get();
850       Assert.fail("No exception raised");
851     } catch (ExecutionException e) {
852     }
853   }
854 
855   @Test
testIamPermissionsTest()856   public void testIamPermissionsTest() throws Exception {
857     TestPermissionsResponse expectedResponse =
858         TestPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build();
859     mockService.addResponse(expectedResponse);
860 
861     String project = "project-6911";
862     String region = "region-9622";
863     String resource = "resource-756";
864     TestPermissionsRequest testPermissionsRequestResource =
865         TestPermissionsRequest.newBuilder().build();
866 
867     TestPermissionsResponse actualResponse =
868         client.testIamPermissions(project, region, resource, testPermissionsRequestResource);
869     Assert.assertEquals(expectedResponse, actualResponse);
870 
871     List<String> actualRequests = mockService.getRequestPaths();
872     Assert.assertEquals(1, actualRequests.size());
873 
874     String apiClientHeaderKey =
875         mockService
876             .getRequestHeaders()
877             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
878             .iterator()
879             .next();
880     Assert.assertTrue(
881         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
882             .matcher(apiClientHeaderKey)
883             .matches());
884   }
885 
886   @Test
testIamPermissionsExceptionTest()887   public void testIamPermissionsExceptionTest() throws Exception {
888     ApiException exception =
889         ApiExceptionFactory.createException(
890             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
891     mockService.addException(exception);
892 
893     try {
894       String project = "project-6911";
895       String region = "region-9622";
896       String resource = "resource-756";
897       TestPermissionsRequest testPermissionsRequestResource =
898           TestPermissionsRequest.newBuilder().build();
899       client.testIamPermissions(project, region, resource, testPermissionsRequestResource);
900       Assert.fail("No exception raised");
901     } catch (InvalidArgumentException e) {
902       // Expected exception.
903     }
904   }
905 
906   @Test
updateTest()907   public void updateTest() throws Exception {
908     Operation expectedResponse =
909         Operation.newBuilder()
910             .setClientOperationId("clientOperationId-1230366697")
911             .setCreationTimestamp("creationTimestamp-370203401")
912             .setDescription("description-1724546052")
913             .setEndTime("endTime-1607243192")
914             .setError(Error.newBuilder().build())
915             .setHttpErrorMessage("httpErrorMessage1577303431")
916             .setHttpErrorStatusCode(0)
917             .setId(3355)
918             .setInsertTime("insertTime966165798")
919             .setKind("kind3292052")
920             .setName("name3373707")
921             .setOperationGroupId("operationGroupId1716161683")
922             .setOperationType("operationType91999553")
923             .setProgress(-1001078227)
924             .setRegion("region-934795532")
925             .setSelfLink("selfLink1191800166")
926             .setStartTime("startTime-2129294769")
927             .setStatus(Status.DONE)
928             .setStatusMessage("statusMessage-958704715")
929             .setTargetId(-815576439)
930             .setTargetLink("targetLink486368555")
931             .setUser("user3599307")
932             .addAllWarnings(new ArrayList<Warnings>())
933             .setZone("zone3744684")
934             .build();
935     mockService.addResponse(expectedResponse);
936 
937     String project = "project-6911";
938     String region = "region-9622";
939     String disk = "disk-4029";
940     Disk diskResource = Disk.newBuilder().build();
941 
942     Operation actualResponse = client.updateAsync(project, region, disk, diskResource).get();
943     Assert.assertEquals(expectedResponse, actualResponse);
944 
945     List<String> actualRequests = mockService.getRequestPaths();
946     Assert.assertEquals(1, actualRequests.size());
947 
948     String apiClientHeaderKey =
949         mockService
950             .getRequestHeaders()
951             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
952             .iterator()
953             .next();
954     Assert.assertTrue(
955         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
956             .matcher(apiClientHeaderKey)
957             .matches());
958   }
959 
960   @Test
updateExceptionTest()961   public void updateExceptionTest() throws Exception {
962     ApiException exception =
963         ApiExceptionFactory.createException(
964             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
965     mockService.addException(exception);
966 
967     try {
968       String project = "project-6911";
969       String region = "region-9622";
970       String disk = "disk-4029";
971       Disk diskResource = Disk.newBuilder().build();
972       client.updateAsync(project, region, disk, diskResource).get();
973       Assert.fail("No exception raised");
974     } catch (ExecutionException e) {
975     }
976   }
977 }
978