• 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.ImagesClient.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.HttpJsonImagesStub;
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 ImagesClientTest {
49   private static MockHttpService mockService;
50   private static ImagesClient client;
51 
52   @BeforeClass
startStaticServer()53   public static void startStaticServer() throws IOException {
54     mockService =
55         new MockHttpService(
56             HttpJsonImagesStub.getMethodDescriptors(), ImagesSettings.getDefaultEndpoint());
57     ImagesSettings settings =
58         ImagesSettings.newBuilder()
59             .setTransportChannelProvider(
60                 ImagesSettings.defaultHttpJsonTransportProviderBuilder()
61                     .setHttpTransport(mockService)
62                     .build())
63             .setCredentialsProvider(NoCredentialsProvider.create())
64             .build();
65     client = ImagesClient.create(settings);
66   }
67 
68   @AfterClass
stopServer()69   public static void stopServer() {
70     client.close();
71   }
72 
73   @Before
setUp()74   public void setUp() {}
75 
76   @After
tearDown()77   public void tearDown() throws Exception {
78     mockService.reset();
79   }
80 
81   @Test
deleteTest()82   public void deleteTest() throws Exception {
83     Operation expectedResponse =
84         Operation.newBuilder()
85             .setClientOperationId("clientOperationId-1230366697")
86             .setCreationTimestamp("creationTimestamp-370203401")
87             .setDescription("description-1724546052")
88             .setEndTime("endTime-1607243192")
89             .setError(Error.newBuilder().build())
90             .setHttpErrorMessage("httpErrorMessage1577303431")
91             .setHttpErrorStatusCode(0)
92             .setId(3355)
93             .setInsertTime("insertTime966165798")
94             .setKind("kind3292052")
95             .setName("name3373707")
96             .setOperationGroupId("operationGroupId1716161683")
97             .setOperationType("operationType91999553")
98             .setProgress(-1001078227)
99             .setRegion("region-934795532")
100             .setSelfLink("selfLink1191800166")
101             .setStartTime("startTime-2129294769")
102             .setStatus(Status.DONE)
103             .setStatusMessage("statusMessage-958704715")
104             .setTargetId(-815576439)
105             .setTargetLink("targetLink486368555")
106             .setUser("user3599307")
107             .addAllWarnings(new ArrayList<Warnings>())
108             .setZone("zone3744684")
109             .build();
110     mockService.addResponse(expectedResponse);
111 
112     String project = "project-6911";
113     String image = "image-769";
114 
115     Operation actualResponse = client.deleteAsync(project, image).get();
116     Assert.assertEquals(expectedResponse, actualResponse);
117 
118     List<String> actualRequests = mockService.getRequestPaths();
119     Assert.assertEquals(1, actualRequests.size());
120 
121     String apiClientHeaderKey =
122         mockService
123             .getRequestHeaders()
124             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
125             .iterator()
126             .next();
127     Assert.assertTrue(
128         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
129             .matcher(apiClientHeaderKey)
130             .matches());
131   }
132 
133   @Test
deleteExceptionTest()134   public void deleteExceptionTest() throws Exception {
135     ApiException exception =
136         ApiExceptionFactory.createException(
137             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
138     mockService.addException(exception);
139 
140     try {
141       String project = "project-6911";
142       String image = "image-769";
143       client.deleteAsync(project, image).get();
144       Assert.fail("No exception raised");
145     } catch (ExecutionException e) {
146     }
147   }
148 
149   @Test
deprecateTest()150   public void deprecateTest() throws Exception {
151     Operation expectedResponse =
152         Operation.newBuilder()
153             .setClientOperationId("clientOperationId-1230366697")
154             .setCreationTimestamp("creationTimestamp-370203401")
155             .setDescription("description-1724546052")
156             .setEndTime("endTime-1607243192")
157             .setError(Error.newBuilder().build())
158             .setHttpErrorMessage("httpErrorMessage1577303431")
159             .setHttpErrorStatusCode(0)
160             .setId(3355)
161             .setInsertTime("insertTime966165798")
162             .setKind("kind3292052")
163             .setName("name3373707")
164             .setOperationGroupId("operationGroupId1716161683")
165             .setOperationType("operationType91999553")
166             .setProgress(-1001078227)
167             .setRegion("region-934795532")
168             .setSelfLink("selfLink1191800166")
169             .setStartTime("startTime-2129294769")
170             .setStatus(Status.DONE)
171             .setStatusMessage("statusMessage-958704715")
172             .setTargetId(-815576439)
173             .setTargetLink("targetLink486368555")
174             .setUser("user3599307")
175             .addAllWarnings(new ArrayList<Warnings>())
176             .setZone("zone3744684")
177             .build();
178     mockService.addResponse(expectedResponse);
179 
180     String project = "project-6911";
181     String image = "image-769";
182     DeprecationStatus deprecationStatusResource = DeprecationStatus.newBuilder().build();
183 
184     Operation actualResponse =
185         client.deprecateAsync(project, image, deprecationStatusResource).get();
186     Assert.assertEquals(expectedResponse, actualResponse);
187 
188     List<String> actualRequests = mockService.getRequestPaths();
189     Assert.assertEquals(1, actualRequests.size());
190 
191     String apiClientHeaderKey =
192         mockService
193             .getRequestHeaders()
194             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
195             .iterator()
196             .next();
197     Assert.assertTrue(
198         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
199             .matcher(apiClientHeaderKey)
200             .matches());
201   }
202 
203   @Test
deprecateExceptionTest()204   public void deprecateExceptionTest() throws Exception {
205     ApiException exception =
206         ApiExceptionFactory.createException(
207             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
208     mockService.addException(exception);
209 
210     try {
211       String project = "project-6911";
212       String image = "image-769";
213       DeprecationStatus deprecationStatusResource = DeprecationStatus.newBuilder().build();
214       client.deprecateAsync(project, image, deprecationStatusResource).get();
215       Assert.fail("No exception raised");
216     } catch (ExecutionException e) {
217     }
218   }
219 
220   @Test
getTest()221   public void getTest() throws Exception {
222     Image expectedResponse =
223         Image.newBuilder()
224             .setArchitecture("architecture839674195")
225             .setArchiveSizeBytes(-1766390198)
226             .setCreationTimestamp("creationTimestamp-370203401")
227             .setDeprecated(DeprecationStatus.newBuilder().build())
228             .setDescription("description-1724546052")
229             .setDiskSizeGb(-757478089)
230             .setFamily("family-1281860764")
231             .addAllGuestOsFeatures(new ArrayList<GuestOsFeature>())
232             .setId(3355)
233             .setImageEncryptionKey(CustomerEncryptionKey.newBuilder().build())
234             .setKind("kind3292052")
235             .setLabelFingerprint("labelFingerprint379449680")
236             .putAllLabels(new HashMap<String, String>())
237             .addAllLicenseCodes(new ArrayList<Long>())
238             .addAllLicenses(new ArrayList<String>())
239             .setName("name3373707")
240             .setRawDisk(RawDisk.newBuilder().build())
241             .setSatisfiesPzs(true)
242             .setSelfLink("selfLink1191800166")
243             .setShieldedInstanceInitialState(InitialStateConfig.newBuilder().build())
244             .setSourceDisk("sourceDisk-1111923624")
245             .setSourceDiskEncryptionKey(CustomerEncryptionKey.newBuilder().build())
246             .setSourceDiskId("sourceDiskId888256403")
247             .setSourceImage("sourceImage-105174528")
248             .setSourceImageEncryptionKey(CustomerEncryptionKey.newBuilder().build())
249             .setSourceImageId("sourceImageId2006496059")
250             .setSourceSnapshot("sourceSnapshot-1078634753")
251             .setSourceSnapshotEncryptionKey(CustomerEncryptionKey.newBuilder().build())
252             .setSourceSnapshotId("sourceSnapshotId-1480876934")
253             .setSourceType("sourceType-1111431691")
254             .setStatus("status-892481550")
255             .addAllStorageLocations(new ArrayList<String>())
256             .build();
257     mockService.addResponse(expectedResponse);
258 
259     String project = "project-6911";
260     String image = "image-769";
261 
262     Image actualResponse = client.get(project, image);
263     Assert.assertEquals(expectedResponse, actualResponse);
264 
265     List<String> actualRequests = mockService.getRequestPaths();
266     Assert.assertEquals(1, actualRequests.size());
267 
268     String apiClientHeaderKey =
269         mockService
270             .getRequestHeaders()
271             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
272             .iterator()
273             .next();
274     Assert.assertTrue(
275         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
276             .matcher(apiClientHeaderKey)
277             .matches());
278   }
279 
280   @Test
getExceptionTest()281   public void getExceptionTest() throws Exception {
282     ApiException exception =
283         ApiExceptionFactory.createException(
284             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
285     mockService.addException(exception);
286 
287     try {
288       String project = "project-6911";
289       String image = "image-769";
290       client.get(project, image);
291       Assert.fail("No exception raised");
292     } catch (InvalidArgumentException e) {
293       // Expected exception.
294     }
295   }
296 
297   @Test
getFromFamilyTest()298   public void getFromFamilyTest() throws Exception {
299     Image expectedResponse =
300         Image.newBuilder()
301             .setArchitecture("architecture839674195")
302             .setArchiveSizeBytes(-1766390198)
303             .setCreationTimestamp("creationTimestamp-370203401")
304             .setDeprecated(DeprecationStatus.newBuilder().build())
305             .setDescription("description-1724546052")
306             .setDiskSizeGb(-757478089)
307             .setFamily("family-1281860764")
308             .addAllGuestOsFeatures(new ArrayList<GuestOsFeature>())
309             .setId(3355)
310             .setImageEncryptionKey(CustomerEncryptionKey.newBuilder().build())
311             .setKind("kind3292052")
312             .setLabelFingerprint("labelFingerprint379449680")
313             .putAllLabels(new HashMap<String, String>())
314             .addAllLicenseCodes(new ArrayList<Long>())
315             .addAllLicenses(new ArrayList<String>())
316             .setName("name3373707")
317             .setRawDisk(RawDisk.newBuilder().build())
318             .setSatisfiesPzs(true)
319             .setSelfLink("selfLink1191800166")
320             .setShieldedInstanceInitialState(InitialStateConfig.newBuilder().build())
321             .setSourceDisk("sourceDisk-1111923624")
322             .setSourceDiskEncryptionKey(CustomerEncryptionKey.newBuilder().build())
323             .setSourceDiskId("sourceDiskId888256403")
324             .setSourceImage("sourceImage-105174528")
325             .setSourceImageEncryptionKey(CustomerEncryptionKey.newBuilder().build())
326             .setSourceImageId("sourceImageId2006496059")
327             .setSourceSnapshot("sourceSnapshot-1078634753")
328             .setSourceSnapshotEncryptionKey(CustomerEncryptionKey.newBuilder().build())
329             .setSourceSnapshotId("sourceSnapshotId-1480876934")
330             .setSourceType("sourceType-1111431691")
331             .setStatus("status-892481550")
332             .addAllStorageLocations(new ArrayList<String>())
333             .build();
334     mockService.addResponse(expectedResponse);
335 
336     String project = "project-6911";
337     String family = "family-7978";
338 
339     Image actualResponse = client.getFromFamily(project, family);
340     Assert.assertEquals(expectedResponse, actualResponse);
341 
342     List<String> actualRequests = mockService.getRequestPaths();
343     Assert.assertEquals(1, actualRequests.size());
344 
345     String apiClientHeaderKey =
346         mockService
347             .getRequestHeaders()
348             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
349             .iterator()
350             .next();
351     Assert.assertTrue(
352         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
353             .matcher(apiClientHeaderKey)
354             .matches());
355   }
356 
357   @Test
getFromFamilyExceptionTest()358   public void getFromFamilyExceptionTest() throws Exception {
359     ApiException exception =
360         ApiExceptionFactory.createException(
361             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
362     mockService.addException(exception);
363 
364     try {
365       String project = "project-6911";
366       String family = "family-7978";
367       client.getFromFamily(project, family);
368       Assert.fail("No exception raised");
369     } catch (InvalidArgumentException e) {
370       // Expected exception.
371     }
372   }
373 
374   @Test
getIamPolicyTest()375   public void getIamPolicyTest() throws Exception {
376     Policy expectedResponse =
377         Policy.newBuilder()
378             .addAllAuditConfigs(new ArrayList<AuditConfig>())
379             .addAllBindings(new ArrayList<Binding>())
380             .setEtag("etag3123477")
381             .setIamOwned(true)
382             .addAllRules(new ArrayList<Rule>())
383             .setVersion(351608024)
384             .build();
385     mockService.addResponse(expectedResponse);
386 
387     String project = "project-6911";
388     String resource = "resource-756";
389 
390     Policy actualResponse = client.getIamPolicy(project, resource);
391     Assert.assertEquals(expectedResponse, actualResponse);
392 
393     List<String> actualRequests = mockService.getRequestPaths();
394     Assert.assertEquals(1, actualRequests.size());
395 
396     String apiClientHeaderKey =
397         mockService
398             .getRequestHeaders()
399             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
400             .iterator()
401             .next();
402     Assert.assertTrue(
403         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
404             .matcher(apiClientHeaderKey)
405             .matches());
406   }
407 
408   @Test
getIamPolicyExceptionTest()409   public void getIamPolicyExceptionTest() throws Exception {
410     ApiException exception =
411         ApiExceptionFactory.createException(
412             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
413     mockService.addException(exception);
414 
415     try {
416       String project = "project-6911";
417       String resource = "resource-756";
418       client.getIamPolicy(project, resource);
419       Assert.fail("No exception raised");
420     } catch (InvalidArgumentException e) {
421       // Expected exception.
422     }
423   }
424 
425   @Test
insertTest()426   public void insertTest() throws Exception {
427     Operation expectedResponse =
428         Operation.newBuilder()
429             .setClientOperationId("clientOperationId-1230366697")
430             .setCreationTimestamp("creationTimestamp-370203401")
431             .setDescription("description-1724546052")
432             .setEndTime("endTime-1607243192")
433             .setError(Error.newBuilder().build())
434             .setHttpErrorMessage("httpErrorMessage1577303431")
435             .setHttpErrorStatusCode(0)
436             .setId(3355)
437             .setInsertTime("insertTime966165798")
438             .setKind("kind3292052")
439             .setName("name3373707")
440             .setOperationGroupId("operationGroupId1716161683")
441             .setOperationType("operationType91999553")
442             .setProgress(-1001078227)
443             .setRegion("region-934795532")
444             .setSelfLink("selfLink1191800166")
445             .setStartTime("startTime-2129294769")
446             .setStatus(Status.DONE)
447             .setStatusMessage("statusMessage-958704715")
448             .setTargetId(-815576439)
449             .setTargetLink("targetLink486368555")
450             .setUser("user3599307")
451             .addAllWarnings(new ArrayList<Warnings>())
452             .setZone("zone3744684")
453             .build();
454     mockService.addResponse(expectedResponse);
455 
456     String project = "project-6911";
457     Image imageResource = Image.newBuilder().build();
458 
459     Operation actualResponse = client.insertAsync(project, imageResource).get();
460     Assert.assertEquals(expectedResponse, actualResponse);
461 
462     List<String> actualRequests = mockService.getRequestPaths();
463     Assert.assertEquals(1, actualRequests.size());
464 
465     String apiClientHeaderKey =
466         mockService
467             .getRequestHeaders()
468             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
469             .iterator()
470             .next();
471     Assert.assertTrue(
472         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
473             .matcher(apiClientHeaderKey)
474             .matches());
475   }
476 
477   @Test
insertExceptionTest()478   public void insertExceptionTest() throws Exception {
479     ApiException exception =
480         ApiExceptionFactory.createException(
481             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
482     mockService.addException(exception);
483 
484     try {
485       String project = "project-6911";
486       Image imageResource = Image.newBuilder().build();
487       client.insertAsync(project, imageResource).get();
488       Assert.fail("No exception raised");
489     } catch (ExecutionException e) {
490     }
491   }
492 
493   @Test
listTest()494   public void listTest() throws Exception {
495     Image responsesElement = Image.newBuilder().build();
496     ImageList expectedResponse =
497         ImageList.newBuilder()
498             .setNextPageToken("")
499             .addAllItems(Arrays.asList(responsesElement))
500             .build();
501     mockService.addResponse(expectedResponse);
502 
503     String project = "project-6911";
504 
505     ListPagedResponse pagedListResponse = client.list(project);
506 
507     List<Image> resources = Lists.newArrayList(pagedListResponse.iterateAll());
508 
509     Assert.assertEquals(1, resources.size());
510     Assert.assertEquals(expectedResponse.getItemsList().get(0), resources.get(0));
511 
512     List<String> actualRequests = mockService.getRequestPaths();
513     Assert.assertEquals(1, actualRequests.size());
514 
515     String apiClientHeaderKey =
516         mockService
517             .getRequestHeaders()
518             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
519             .iterator()
520             .next();
521     Assert.assertTrue(
522         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
523             .matcher(apiClientHeaderKey)
524             .matches());
525   }
526 
527   @Test
listExceptionTest()528   public void listExceptionTest() throws Exception {
529     ApiException exception =
530         ApiExceptionFactory.createException(
531             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
532     mockService.addException(exception);
533 
534     try {
535       String project = "project-6911";
536       client.list(project);
537       Assert.fail("No exception raised");
538     } catch (InvalidArgumentException e) {
539       // Expected exception.
540     }
541   }
542 
543   @Test
patchTest()544   public void patchTest() throws Exception {
545     Operation expectedResponse =
546         Operation.newBuilder()
547             .setClientOperationId("clientOperationId-1230366697")
548             .setCreationTimestamp("creationTimestamp-370203401")
549             .setDescription("description-1724546052")
550             .setEndTime("endTime-1607243192")
551             .setError(Error.newBuilder().build())
552             .setHttpErrorMessage("httpErrorMessage1577303431")
553             .setHttpErrorStatusCode(0)
554             .setId(3355)
555             .setInsertTime("insertTime966165798")
556             .setKind("kind3292052")
557             .setName("name3373707")
558             .setOperationGroupId("operationGroupId1716161683")
559             .setOperationType("operationType91999553")
560             .setProgress(-1001078227)
561             .setRegion("region-934795532")
562             .setSelfLink("selfLink1191800166")
563             .setStartTime("startTime-2129294769")
564             .setStatus(Status.DONE)
565             .setStatusMessage("statusMessage-958704715")
566             .setTargetId(-815576439)
567             .setTargetLink("targetLink486368555")
568             .setUser("user3599307")
569             .addAllWarnings(new ArrayList<Warnings>())
570             .setZone("zone3744684")
571             .build();
572     mockService.addResponse(expectedResponse);
573 
574     String project = "project-6911";
575     String image = "image-769";
576     Image imageResource = Image.newBuilder().build();
577 
578     Operation actualResponse = client.patchAsync(project, image, imageResource).get();
579     Assert.assertEquals(expectedResponse, actualResponse);
580 
581     List<String> actualRequests = mockService.getRequestPaths();
582     Assert.assertEquals(1, actualRequests.size());
583 
584     String apiClientHeaderKey =
585         mockService
586             .getRequestHeaders()
587             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
588             .iterator()
589             .next();
590     Assert.assertTrue(
591         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
592             .matcher(apiClientHeaderKey)
593             .matches());
594   }
595 
596   @Test
patchExceptionTest()597   public void patchExceptionTest() throws Exception {
598     ApiException exception =
599         ApiExceptionFactory.createException(
600             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
601     mockService.addException(exception);
602 
603     try {
604       String project = "project-6911";
605       String image = "image-769";
606       Image imageResource = Image.newBuilder().build();
607       client.patchAsync(project, image, imageResource).get();
608       Assert.fail("No exception raised");
609     } catch (ExecutionException e) {
610     }
611   }
612 
613   @Test
setIamPolicyTest()614   public void setIamPolicyTest() throws Exception {
615     Policy expectedResponse =
616         Policy.newBuilder()
617             .addAllAuditConfigs(new ArrayList<AuditConfig>())
618             .addAllBindings(new ArrayList<Binding>())
619             .setEtag("etag3123477")
620             .setIamOwned(true)
621             .addAllRules(new ArrayList<Rule>())
622             .setVersion(351608024)
623             .build();
624     mockService.addResponse(expectedResponse);
625 
626     String project = "project-6911";
627     String resource = "resource-756";
628     GlobalSetPolicyRequest globalSetPolicyRequestResource =
629         GlobalSetPolicyRequest.newBuilder().build();
630 
631     Policy actualResponse = client.setIamPolicy(project, resource, globalSetPolicyRequestResource);
632     Assert.assertEquals(expectedResponse, actualResponse);
633 
634     List<String> actualRequests = mockService.getRequestPaths();
635     Assert.assertEquals(1, actualRequests.size());
636 
637     String apiClientHeaderKey =
638         mockService
639             .getRequestHeaders()
640             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
641             .iterator()
642             .next();
643     Assert.assertTrue(
644         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
645             .matcher(apiClientHeaderKey)
646             .matches());
647   }
648 
649   @Test
setIamPolicyExceptionTest()650   public void setIamPolicyExceptionTest() throws Exception {
651     ApiException exception =
652         ApiExceptionFactory.createException(
653             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
654     mockService.addException(exception);
655 
656     try {
657       String project = "project-6911";
658       String resource = "resource-756";
659       GlobalSetPolicyRequest globalSetPolicyRequestResource =
660           GlobalSetPolicyRequest.newBuilder().build();
661       client.setIamPolicy(project, resource, globalSetPolicyRequestResource);
662       Assert.fail("No exception raised");
663     } catch (InvalidArgumentException e) {
664       // Expected exception.
665     }
666   }
667 
668   @Test
setLabelsTest()669   public void setLabelsTest() throws Exception {
670     Operation expectedResponse =
671         Operation.newBuilder()
672             .setClientOperationId("clientOperationId-1230366697")
673             .setCreationTimestamp("creationTimestamp-370203401")
674             .setDescription("description-1724546052")
675             .setEndTime("endTime-1607243192")
676             .setError(Error.newBuilder().build())
677             .setHttpErrorMessage("httpErrorMessage1577303431")
678             .setHttpErrorStatusCode(0)
679             .setId(3355)
680             .setInsertTime("insertTime966165798")
681             .setKind("kind3292052")
682             .setName("name3373707")
683             .setOperationGroupId("operationGroupId1716161683")
684             .setOperationType("operationType91999553")
685             .setProgress(-1001078227)
686             .setRegion("region-934795532")
687             .setSelfLink("selfLink1191800166")
688             .setStartTime("startTime-2129294769")
689             .setStatus(Status.DONE)
690             .setStatusMessage("statusMessage-958704715")
691             .setTargetId(-815576439)
692             .setTargetLink("targetLink486368555")
693             .setUser("user3599307")
694             .addAllWarnings(new ArrayList<Warnings>())
695             .setZone("zone3744684")
696             .build();
697     mockService.addResponse(expectedResponse);
698 
699     String project = "project-6911";
700     String resource = "resource-756";
701     GlobalSetLabelsRequest globalSetLabelsRequestResource =
702         GlobalSetLabelsRequest.newBuilder().build();
703 
704     Operation actualResponse =
705         client.setLabelsAsync(project, resource, globalSetLabelsRequestResource).get();
706     Assert.assertEquals(expectedResponse, actualResponse);
707 
708     List<String> actualRequests = mockService.getRequestPaths();
709     Assert.assertEquals(1, actualRequests.size());
710 
711     String apiClientHeaderKey =
712         mockService
713             .getRequestHeaders()
714             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
715             .iterator()
716             .next();
717     Assert.assertTrue(
718         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
719             .matcher(apiClientHeaderKey)
720             .matches());
721   }
722 
723   @Test
setLabelsExceptionTest()724   public void setLabelsExceptionTest() throws Exception {
725     ApiException exception =
726         ApiExceptionFactory.createException(
727             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
728     mockService.addException(exception);
729 
730     try {
731       String project = "project-6911";
732       String resource = "resource-756";
733       GlobalSetLabelsRequest globalSetLabelsRequestResource =
734           GlobalSetLabelsRequest.newBuilder().build();
735       client.setLabelsAsync(project, resource, globalSetLabelsRequestResource).get();
736       Assert.fail("No exception raised");
737     } catch (ExecutionException e) {
738     }
739   }
740 
741   @Test
testIamPermissionsTest()742   public void testIamPermissionsTest() throws Exception {
743     TestPermissionsResponse expectedResponse =
744         TestPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build();
745     mockService.addResponse(expectedResponse);
746 
747     String project = "project-6911";
748     String resource = "resource-756";
749     TestPermissionsRequest testPermissionsRequestResource =
750         TestPermissionsRequest.newBuilder().build();
751 
752     TestPermissionsResponse actualResponse =
753         client.testIamPermissions(project, resource, testPermissionsRequestResource);
754     Assert.assertEquals(expectedResponse, actualResponse);
755 
756     List<String> actualRequests = mockService.getRequestPaths();
757     Assert.assertEquals(1, actualRequests.size());
758 
759     String apiClientHeaderKey =
760         mockService
761             .getRequestHeaders()
762             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
763             .iterator()
764             .next();
765     Assert.assertTrue(
766         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
767             .matcher(apiClientHeaderKey)
768             .matches());
769   }
770 
771   @Test
testIamPermissionsExceptionTest()772   public void testIamPermissionsExceptionTest() throws Exception {
773     ApiException exception =
774         ApiExceptionFactory.createException(
775             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
776     mockService.addException(exception);
777 
778     try {
779       String project = "project-6911";
780       String resource = "resource-756";
781       TestPermissionsRequest testPermissionsRequestResource =
782           TestPermissionsRequest.newBuilder().build();
783       client.testIamPermissions(project, resource, testPermissionsRequestResource);
784       Assert.fail("No exception raised");
785     } catch (InvalidArgumentException e) {
786       // Expected exception.
787     }
788   }
789 }
790