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