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